打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Linux学习笔记

Shell命令

了解shell

文件目录类命令

系统信息类命令

通信网络类命令

 

shelllinux的一个外壳,它包在linux内核的外面,为用户和内核之间的交互提供一个借口。

当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作。

而系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上。

 

关机重启命令

poweroff           直接关

shutdown -h now    直接关机

shutdown -h 10     十分钟后关机

shutdown -h 20:25  定时关机

shutdown -r now    直接重启

reboot             直接重启

 

浏览目录命令 cd dir lsll

浏览文件命令 cat moreless

目录操作命令 mkdirrmdir

文件操作命令 touch rm cp mv lntar

gzip gunzip

whereis  whatis

 

Alt+F1/F2/F3  用来切换多个shell命令窗口,可以同时执行多个命令

------------------

ls (list) 显示目录下的文件和目录列表

ls -a dir都可以显示隐藏的文件和目录,隐藏的文件目录前带一个点,如:.gconf

如果要建立一个隐藏的文件和目录,加一个"."就可以。

ls -l 显示文件的详细信息,如建立时间等。

ls -l /etc  可以显示etc目录下文件的详细信息。

llls -l的缩写

-l 查出来的每列含义:

文件/文件夹属性(其中首位代表是否是文件夹);
该文件/文件夹所含文件数;
文件所属用户;
文件所属用户所在组group;
文件字节数;
文件建立日期时间;
文件名;

 

-----------------

clear 清屏

pwd 显示当前所在目录

-----------------

cd (change directry)切换当前目录.例如:

cd pp  切换到当前目录下的pp子目录

cd ..  切换到上一层目录

cd /   切换到系统根目录

cd     切换到用户自家目录

cd /usr/bin 切换到/usr/bin目录

-----------------

[root@ycc ~]# 这中的"~"表示root目录,root目录的上层目录是根目录。

-----------------

mkdir (make directory)创建子目录。

格式:mkdir [参数] <目录名>

下面的范例会在所在目录内创建子目录:

mkdir dir          在当前目录下建立dir目录

mkdir -p dir1/dir2  在当前目录下创建dir1目录,并在dir1目录下创建dir2目录,也就是连续创建两个目录(dir1dir1/dir2)。

 

rmdir (remove directory)删除""的子目录

格式:rmdir [参数] <目录名>

rmdir dir          删除""的子目录dir

rmdir -p dir1/dir2  删除dir1下的dir2目录,若dir1目录为空也删除它

 

man mkdir 可以看到mkdir命令所有的参数说明。

------------------

cp (copy) 将文件从一处复制到另一处。

一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,

需要指定源文件名与目标文件名或目录。

格式:cp [参数] <源文件路径><目标文件路径>

cp test1.txt test2.txt  test1.txt复制成test2.txt

cp test3.txt /tmp      test3.txt复制到/tmp目录中

-------------------

cat  用户显示文件的内容,也可以将数个文件合并成一个文件。

格式:cat[参数] <文件名>

cat test.txt               显示test.txt文件内容

cat test.txt | more        逐页显示test.txt文件中的内容

cat test.txt>> test1.txt  test.txt的内容附加到test1.txt文件之后

cat test.txt test2.txt> readme.txt    test.txttext2.txt文件合并成readme.txt文件

 

-----------------

rm 删除文件或目录

格式:rm [参数] <目标文件路径>

rm myfiles  删除当前目录下名为myfiles的文件

rm *       删除当前目录下的所有文件

-f参数:强迫删除文件

rm -f *.txt 强迫删除所有以后缀名为txt的文件

rm -rf /tmp/test  删除/tmp/test目录下的所有文件和目录

-----------------

> 定向输出符号(会覆盖接收数据的文件中的内容)

>> 定向输出符号(将内容附加到接收数据的文件尾部)

< 定向输入符号

 

--------------

 

more 一般用于要显示的内容会超过一个画面长度的情况。

为了避免画面显示时瞬间就闪过,用户可以使用more命令,

让画面在显示满一页时暂停,此时可按空格键继续显示下一个画面,

或按Q键停止显示。

more /etc/named.conf   显示etc/named.conf文本文件的内容

 

当用ls命令查看文件列表,如果文件太多,则可配合more命令使用:

ls -al | more  分页显示当前目录下的所有文件(包括隐藏文件)的详细信息。

-----------------

less more命令类似,也可以用来浏览超过一页的文件。

所不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。

当要结束浏览时,只要在less命令的提示如":"下按Q键即可。

less named.conf    显示named.conf的文本文件内容,可以滚动查看内容。

ls -al | less      以长格形式列出当前目录下所有的内容,用户可以按上下键浏览。

------------------

head 用于显示文件前几行的内容

格式:head [参数] <文件名>

head -10 /etc/passwd   显示/etc/passwd文件的前10行内容

 

tail 用于显示文件后几行的内容

格式:tail [参数] <文件名>

tail -10 /etc/passwd   显示/etc/passwd文件倒数10行内容

tail +10 /etc/passwd   显示/etc/passwd文件从第10行开始到末尾的内容

---------------

mv  移动或更改文件、目录名称。可以将文件及目录移到另一目录下,

或更改文件及目录的名称。

格式:mv [参数] <源文件或目录><目标文件或目录>

mv a.txt ../   a.txt文件移动到上层目录

mv a.txt b.txt  a.txt改名为b.txt

mv dir2 ../    dir2目录上移一层

-----------

find  用来寻找文件或目录

格式:find[<路径>] <匹配条件>

find / -name httpd.conf    搜索根目录(/)下名字(-name)httpd.conf的文件

find /etc -namehttpd.conf 搜索/etc目录下名字叫httpd.conf的文件

 

------------

grep  在文件中搜索匹配的字符并进行输出

格式:grep [参数] <要找的字串><要寻找字串的源文件>

grep linux test.txt    搜索test.txt文件中字符串linux并输出

rpm -qa | grep httpd   搜索rpm包中含有httpd包的文件名

 

------------

touch  生成一个空文件和修改文件或目录的存取/修改的时间记录值。

格式:touch [参数] <文件名>

touch *    将当前目录下的文件时间修改为系统的当前时间。

touch -d 20040210test.txt test.txt文件的日期改为20040210

touch abc.xml  abc.xml文件存在,则修改为系统的当前时间;

若不存在,则生成一个为为当前时间的空文件。

-------------

who w  查看当前系统中有哪些用户登录

格式:who/w [参数]

who

假如显示:

root tty1  1个本地登录用户

pp pts/0   1个远程登录用户

----------

ln  在文件和目录之间建立链接

格式:ln [参数] <源文件和目录><目标文件或目录>

链接分"软链接""硬链接"

1、软链接:相当于一个快捷方式

ln -s /usr/share/doc doc   创建一个链接文件doc,并指向目录/usr/share/doc

2、硬链接:

ln /usr/share/test hard    创建一个硬链接文件hard

这时对于test文件存储区域来说,又多了一个文件指向它;

对硬链接的任何文件进行修改,其他硬链接文件也都发生变化。

------------

 

RPM 软件包管理命令

 

RPM的全名是Red Hat PackageManager,它是有RedHat公司所开发的一个开放软件包管理系统。其优点:

易于安装、升级与删除软件包

有强大的查询功能

能够进行软件包验证

支持代码形式的软件包

----------------------

 

软件包的安装:

使用RPM命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:

rpm -ivhwu-ftpd-2.6.2-8.i386.rpm

i:作用rpm的安装模式

v:校验文件信息

h:#号显示安装进度

 

软件包的删除:

删除模式会将制定软件包的内容全部删除,但并不包括已更改过的配置文件,删除RPM软件包的命令如下:

rpm -e wu-ftpd

e:删除参数

wu-ftpd:软件包名称

注意:这里必须使用软件名"wu-ftpd""wu-ftpd-2.6.2-8"而不是使用当初安装时的软件包名"wu-ftpd-2.6.2-8.i386.rpm"

 

软件包的升级

升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:

rpm -Uvhwu-ftpd-2.6.2-8.i386.rpm

 

软件包的更新

更新模式下,rpm命令会检查在命令行中所指定的软件包是否比系统中原有的软件包更新。如果情况属实,rpm命令会自动更新指定的软件包;

反之,若系统中并没有指定软件包的较旧版本,rpm命令并不会安装此软件包。

而在升级模式下,不管系统中是否有较旧的版本,rpm命令都会安装指定的软件包。

rpm -Fvhwu-ftpd-2.6.2-8.i386.rpm

 

软件包查询

若要获取RPM软件包的相关信息,可以使用查询模式。使用-q参数可查询一个已安装的软件包的内容。

rpm -q wu-ftpd-2.6.2-8  显示软件包的名称、版本及次版本

 

查询软件包所安装的文件:

安装某个软件包之后,常常困扰用户的是,不知道该软件包究竟安装到哪里,此时执行

rpm -qlpackage-name命令可得知

rpm -ql xv l参数的意思是:显示文件列表)

 

----------

mount /dev/cdrom /mnt  把光驱(cdrom)中的内容挂载到根下的mnt目录中。

---------

 

tar 打包命令

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。

一般Unix上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

注意:tar不仅可以打包文件,也可以将硬盘数据备份。

常用参数:

-c:创建一个新tar文件

-v:显示运行过程的信息

-f:指定文件名

-z:调用gzip压缩命令进行压缩

-t:查看压缩文件的内容

-x:解开tar文件

 

tar命令范例:

tar -cvf test.tar *    将所有文件打包成test.tar,扩展名.tar需自行加上。

tar -zcvf test.tar.gz *  将所有文件打包成test.tar,再用gzip命令压缩。

tar -tf test.tar       查看test.tar文件中包括了哪些文件

tar -xvf test.tar      test.tar解开

tar -zxvf foo.tar.gz   解压缩

 

------------

gzip gunzip

出了.zip文件的压缩格式外,在Linux系统下更常见的是.gz文件的压缩格式,

这种文件一般是由gzip命令所产生。zip命令具有将许多文件压缩成一个文件的功能,但gzip却不能,所以gzip一般会和tar一起使用。

目前,大部分或见到的压缩文件都是用tar将所有文件打包成一个文件,再用gzip进行压缩,所以我们所看到的扩展名.tar.gz.tgz的文件,大多数都是这种类型的文件。

gzip test.xml          压缩文件时,不需要任何参数

gzip -l test.txt.gz    显示压缩率

gunzip test.txt.gz     解压缩

 

----------

 

datecalclock

date 显示/修改当前的日期时间(具体查文档)

cal    显示日历

clock  显示日期时间

cal 4 2004  显示20044月的日历

cal -y 2003 显示2003年的日历

 

-----------

 

系统信息类命令

dmesg 显示计算机开机信息,其中有:系统诊断信息、操作系统版本号、物理内存的大小及其他信息

df 用于查看文件系统的各个分区的占用情况

du 查看某个目录中各级子目录所使用的硬盘空间数

格式:du [参数] <目录名>

free 用于查看系统内存,虚拟内存(交互空间)的大小占用情况

top  显示、管理执行中的程序

history 查看历史输入的命令

last   列出目前与过去登入系统的用户相关信息。

 

-----------

 

系统各种日志放在 /var/log

 

----------

 

 

 

第六章 Linux用户和用户组的管理

 

用户管理

组的管理

查看账户信息

 

Linux下的三类用户:

超级用户(root)具有操作系统的一切权限UID值均为0

普通用户具有操作系统有限的权限UID500~6000

伪用户是为了方便系统管理,满足相应的系统进程文件属主的要求,伪用户不能登录,UID1~499

 

口令文件

   /etc/passwd

影子口令文件

   /etc/shadow

注:只有root用户对以上文件具有修改权限

例如:passwd

root:x:0:0:root:/root:/bin/bash

从左向右依次表示:

用户名:加密的口令:UID:GID:用户全名:家目录(用户登录系统后所进入的目录):用户环境(shell的类型)

 

shadow

mail:*:15173:0:99999:7:::

从左向右依次表示:

用户名:加密的口令:从某一刻起到最后一次修改的间隔时间:最大时间间隔(口令最大有效天数):最小时间间隔(再次修改口令之间的最小天数):警告天数(从系统开始警告到口令正式失效的天数):不活动时间(口令过期几天后,该账号被禁用):失效时间(口令失效的绝对天数,从197011日开始计算):标志(未使用)

 

创建账户

格式:useradd[<选项>] <用户名>

useradd -g stuff -e 8/31/2005pp

useradd命令选项:

-u uid     指定新用户的uid,默认用当前最大UID1

-g group   指定新用户所在的组(私有组),该组必须存在。

-G group   指定新用户的附加组。

-d dir     指定新用户的自家目录。

-s shell   指定新用户使用的Shell,默认为bash

-c comment  新用户的附加信息,如全名等。

-e expire  指定用户的登录失效时间(8/31/2005)。

-m         建立新用户的自家目录。

 

用户账户的维护

userdel pp  删除名叫pp的用户

 

useradd pp  创建pp账户

passwd pp  设置密码

 

禁用

usermod -L username禁用账户

passwd -l username  禁用密码

 

恢复

usermod -U username恢复禁用账户

passwd -u username  恢复禁用密码

 

删除

userdel -r username删除账户及宿主目录

-r:删除宿主目录

 

注意:在禁用和恢复账号功能上,命令usermod不等同于passwd

 

将账号停用的意思是暂时不允许用户登录系统,而其数据仍要予以保留。

可以编辑/etc/passwd文件,把要停止使用的账号所在行标注就可以了:

#pp:x:502:502::/home/pp:/bin/bash

在账号前面加上"#"将该行注释掉便可停用该账号,或者更改/bin/bash/sbin/nologin都可以。

su – username     可以临时切换到其他用户登录

---------------

组的管理

组分为

   私有组(g)

       当在创建一个新用户user时,若没有指定他所属于的组,RedHat就建立一个和该用户同名的私有组。

   标准组(G)

       标准组可以容纳多个用户,若使用标准组,在创建一个新用户时就应该指定他所属于的组。

 

组文件

   /etc/group

组文件实例:

bin:x:1:root,bin,daemon

从左到右依次表示:

组名(用户登录时所在的组):组口令(一般不使用):GID(组标识号):组内用户列表(属于该组的所有用户名表)

 

创建、删除、修改组

groupadd -g 888 group2  创建一个组group2,其GID888

groupdel group2    删除组group2

groupmod -n group22group2 修改group2组名为group22

 

id命令查看一个用户的UIDGID

格式:id [选项] 用户名

id pp  查看pp这个用户的UIDGIDgroups

选项:

-g  只显示用户的组的GID

-G  只显示用户的附属组的GID

-u  只显示UID

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux常用命令速查手册(建议收藏,无聊、蹲坑的时候可以看看)
rpm包制作介绍
神技能:快速获取目录列表
Linux常用命令大全
linux几种不同格式文件的安装方式
Linux命令简介及其他
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服