EulerOS常用命令参考
文件与目录
介绍常见的文件与目录操作命令的使用参考,包括各命令的功能说明和应用示例。
cd
介绍当前目录切换命令cd的功能和应用示例,cd命令用于将当前目录切换为其他目录。
命令功能
命令cd可以从当前目录切换到其他目录。命令cd既可以接受绝对路径,也可以接受相对路径。
使用实例
- 回到用户的主目录
# cd
- 进入系统的根目录
# cd /
- 进入上一层目录
# cd ..
- 进入上两层目录
# cd ../..
- 以绝对路径的形式进入目录“/export/home”
# cd /export/home
命令cd若不带任何参数就是回到用户的主目录,如下所示:
# cd
chgrp
介绍文件属组改变命令chgrp的命令功能、命令格式、选项说明、参数说明和应用示例。命令chgrp可以将用户自己所有的文件,从所属的一个用户组改变到自己所属的另一个用户组。
命令功能
命令chgrp可以将用户自己所有的文件,从所属的一个用户组改变到自己所属的另外一个用户组。该用户必须至少同时属于两个用户组。
命令格式
chgrp 选项 属组文件
选项说明
- -f:强制执行命令,不报告任何错误
- -R:递归目录
参数说明
- 属组:改变后的新属组
- 文件:要改变属组的文件
使用实例
将文件“file”的属组改变为new_group:
# chgrp new_group file
当某一文件需要更改到一个新属组时,该组名必须已存在,可以用命令groups查看用户所在的组。
当改变某一目录的属主或属组后,该目录就不再属于该属主与属组了,但应注意的是,该目录中的子目录以及文件的属性不会随之改变。
此外,可以用命令chown同时修改文件属主与属组,方法如下:
# chown omc:omcgroup file1
此命令是将文件“file1”的属主更改为omc,属组更改为omcgroup。
chmod
介绍文件权限改变命令chmod的命令功能、命令格式、选项说明、参数说明和应用示例。命令chmod可以用于改变一个文件目录的权限。
命令功能
命令chmod可以改变一个文件目录的权限。
命令格式
chmod 选项 目录或文件
该命令根据选项的表示方法的不同,有两种用法:
- 符号模式。
chmod 对象操作符权限 文件
- 数字模式。
chmod lmn 文件
选项说明
- 符号模式。
表12-12列举了部分常用选项。
选项 |
具体选项 |
说明 |
---|---|---|
对象 |
u |
表示文件的属主 |
g |
表示与文件属主同组的其他用户 |
|
o |
表示系统除文件属主及与文件属主同组的其他用户之外的其他用户 |
|
a |
表示所有用户 |
|
操作符 |
+ |
增加权限 |
- |
取消权限 |
|
= |
设置权限 |
- 数字模式。
选项“lmn”是三个数字,分别代表含义如下:
- l:属主权限
- m:同组用户权限
- n:系统其他用户权限
每一个数字的值是每一组中的r(可读权限)、w(可写权限)、x(可执行权限)或-(无对应的权限)对应的数值相加的和,其中:r = 4,w = 2,x = 1,- = 0。如在下述例子中:-rwxr-xr-- 1 rms sbsrms 46098432 5月12 16:02 sdh*文件“sdh”的权限用符号表示为rwxr-xr--,此九个字符每三个一组,共分为三组,分别表示文件对所有者的权限、对同组中其他用户的权限、对系统中其他用户的权限。那么用数值来表示其权限,则值为754(7=4+2+1,5=4+0+1,4=4+0+0)。
参数说明
文件:被修改权限的文件名
使用实例
- 符号模式。
对“file1”的属主权限设置为可读、可写、可执行;对同组其他用户权限设置为可读、可执行;对系统其他用户权限设置为可读、可执行。命令如下:
# chmod u=rwx,go=rx file1
对所有的用户权限设置均为可读、可写。命令如下:
# chmod a=rw file2
- 数字模式。
对file1的属主权限设置为可读、可写、可执行;对同组其他用户权限设置为可读、可执行;对系统其他用户权限设置为可读、可执行。命令如下:
# chmod 755 file1
对所有的用户权限设置均为可读、可写。命令如下:
# chmod 666 file2
- 在符号模式下,当对某个文件设置同组用户和系统其他用户权限时,需要对该文件所在的目录对上述用户设置成可执行权限,最简方法是对需设置权限的目录做下述操作:
# chmod u=rw,+x .
或
# chmod u=rwx,go=x .
此处的符号“.”表示当前目录。
- 在数字模式中,r=4,w=2,x=1,-=0,是根据二进制得来的。在同一组权限三个表示可读、可写、可执行的符号位上,当该位有对应权限时赋给二进制值“1”;无对应权限时赋给二进制值“0”。 以上面的sdh文件为例,权限用符号表示为rwxr-xr--,用二进制值表示为“111101100”,其中每三位一组分别表示三类用户权限,将每组中二进制值加权可得到十进制值分别是“7”、“5”、“4”。
chown
介绍文件属主改变命令chown的命令功能、命令格式、选项说明、参数说明和应用示例。
命令功能
命令chown改变一个文件的属主,对绝大多数操作系统而言,这条命令必须root用户才可以使用,普通用户不能改变其文件的属主关系。
命令格式
chown 选项 属主文件
选项说明
- -f:强制执行命令,不报告任何错误
- -R:递归目录
参数说明
- 属主:改变后的新属主
- 文件:要改变属主的文件
使用实例
- 假设系统中存在用户new_owner和文件“file”,将文件“file”的属主改变为new_owner:
# chown new_owner file
- 假设系统中存在用户test,将“/export/home”目录及其所有子目录下的所有文件的属主改为test:
# chown -R test /export/home
cp
介绍文件复制命令cp的命令功能、命令格式、参数选项和应用示例。命令cp将一个文件复制为另一个文件。
命令功能
命令cp可以将一个文件复制为另一个文件。
命令格式
cp 选项 文件1文件2
选项说明
-r:递归复制目录(复制目录包含目录下的文件和子目录,以及子目录下的文件和子目录,直至该目录的最底层)。
使用实例
将当前目录下“old_filename”文件的内容复制到一个新文件“new_filename”中。
# cp old_filename new_filename
ls
介绍目录内容查看命令ls的命令功能、命令格式、参数选项和应用示例。命令ls可以列出指定目录下的文件和子目录等内容。
命令功能
命令ls列出指定目录下的文件和子目录等内容。使用不带任何参数的ls命令列出当前目录的内容;使用附带选项的ls命令显示文件的大小、类型、权限、创建及修改日期等信息。
命令格式
ls 选项 目录或文件
选项说明
ls命令的选项可以组合使用,注意在选项前面要加上前缀-。表12-13列举了部分常用选项。
选项 |
说明 |
---|---|
-a |
列出所有文件,包括隐含文件(以.打头的文件,如“.login”)。 |
-F |
列出文件时以后缀符号指示文件的类型。 后缀符号代表的含义如下:
|
-l |
给出文件的长列表信息,包括文件类型、权限、链接数、文件属主、文件属组、文件大小、最近修改日期及文件名等信息。 |
如果文件是一个符号链接文件,则文件名的后面会有->符号,指向被链接的文件。
使用实例
显示当前目录中文件的长列表内容:
# ls -l |more
-rwxr-xr-x 1 root root 15904 Oct 9 09:12 blkid -rwxr-xr-x 1 root root 19920 May 4 12:03 blockdev -rwx------ 1 root root 68128 May 3 11:32 blogd -rwx------ 1 root root 10352 May 3 16:11 blogger -rwxr-xr-x 1 root root 2901 Jun 17 18:10 bootanim -rwxr-xr-x 1 root root 19544 May 4 03:11 cdrom_id -rwxr-xr-x 1 root root 61304 May 3 09:21 checkproc -rwxr-xr-x 1 root root 16739 Oct 21 09:33 chkconfig -rwxr-xr-x 1 root root 24632 May 3 09:35 clockdiff drwxr-xr-x 2 root root 736 Jun 4 18:57 conf.d -rwxr-xr-x 1 root root 1951930 May 4 07:47 cryptsetup -rwxr-xr-x 1 root root 6574 May 4 09:55 cryptsetup.sh -rwxr-xr-x 1 root root 8864 May 4 19:22 ctrlaltdel
执行ls -l命令时,有时显示的文件会很多,逐屏查看有两种方法:
- # ls -la | more
- $ ls -la>ccc
先将显示结果保存到文件“ccc”中,再执行# more ccc命令就可以逐屏显示结果了。
执行ls -l命令时,屏幕输出七列信息,分别说明如下。
- 第一列包含10个字符,第一个字符描述了文件的类型(如-代表普通文件,d代表目录等),接下来的九个字符描述了文件所有者的访问权限,每三个字符一组,共分为三组,分别表示文件对所有者的权限、对同组中其他用户的权限和对系统中其他用户的权限(r表示可读,w表示可写,x表示可执行,-表示无对应权限)。
- 第二列表示文件的链接数。
- 第三列和第四列显示了文件的属主和属组信息。
- 第五列以字节的形式指出了文件的大小。
- 第六列表示文件修改日期和时间。
- 第七列表示文件名。
mkdir
介绍目录创建命令mkdir的功能和应用示例,mkdir命令用于创建新的目录。
命令功能
通过命令mkdir创建新的子目录。在确定创建目录所在路径时,既可以使用绝对路径,也可以使用相对路径。
使用实例
在目录“/home1/omc”下创建名为“data”的子目录。
# mkdir /home1/omc/data
如果当前目录是“/home1/omc”,上述命令可以简化为:
# mkdir data
mv
介绍命令mv的功能、命令格式和应用示例。命令mv可以用于移动文件,在移动的同时可以重新命名文件。
命令功能
命令mv可以将一个文件移动到其他目录下,并在移动的同时可以重新命名文件。
- 执行mv命令后,只有目标文件存在而源文件就不存在了。
- 执行cp命令后,源文件保持不变,另外新生成一个目标文件。
命令格式
mv 源文件 目标文件
使用实例
将当前目录下“old_filename”文件移动到“/home1/omc”目录下,并将文件名改为“new_filename”中。
# mv old_filename /home1/omc/new_filename
rm
介绍文件删除命令rm的命令功能、命令格式、参数选项和应用示例。命令rm用来删除一个指定文件。
命令功能
命令rm用来删除一个指定文件。
- 在EulerOS系统中,文件一经删除则无法再恢复,因此要谨慎使用rm命令。在删除文件时建议使用交互操作选项-i,以最大限度避免误删除。
- 删除目录可以有两种方法,一是使用命令rmdir,二是使用命令rm -r。二者的区别是:rmdir删除的目录必须是空目录;rm -r删除的目录可以不必为空。
命令格式
rm 选项 文件
选项说明
- -i:交互操作(在命令执行之前等待确认)。
- -r:递归删除目录(删除目录包含目录下的文件和子目录,以及子目录下的文件和子目录,直至该目录的最底层)。
使用实例
删除当前目录下“old_filename”文件。
# rm -i old_filename
备份与压缩
介绍常见的备份与压缩操作命令的使用参考,包括各命令的功能说明和应用示例。
gzip
介绍文件压缩gzip的命令功能、命令格式、参数选项和应用示例。gzip命令可以将文件压缩。
命令功能
gzip命令可将文件压缩。对应的文件解压缩命令为gunzip。压缩后的文件名称为.gz
命令格式
gzip 文件名
使用实例
压缩“filename”文件,命令为:
# gzip filename
tar
介绍文件合并命令tar的命令功能、命令格式、参数选项和应用示例。命令tar可以将多个文件合并成一个文件库存放于磁带或磁盘上。
命令功能
命令tar可将多个文件合并成一个文件库(archival)存放于磁带或磁盘上。当需要使用其中的文件时,可由文件库获取所需的文件。
命令格式
tar 功能选项修改选项 要备份或恢复的文件
选项说明
- 功能选项:用来设定命令tar的动作(如读取,写入等)
- 修改选项:用来修改命令tar的动作
表12-14列举了部分选项。
使用实例
- 利用命令tar备份文件。
在当前目录下,将“/export/home”目录下所有文件及子目录备份为“databak.tar”,且在备份时显示文件信息:
# tar cvf databak.tar /export/home
- 利用命令tar恢复文件。
在当前目录下,将备份的“databak.tar”释放到目录“/export/home”下,恢复时显示文件信息:
# tar xvf databak.tar -C /export/home
- 命令tar可以将若干个文件打成一个包,命令如下:
# tar cvf filebak.tar file1 file2 file3
- 上述命令的功能是将“file1”,“file2”和“file3”三个文件合并成一个名为“filebak.tar”的包。
- 在不同的操作系统中,在使用命令tar进行文件的备份和恢复时,要注意软盘和磁带设备的名称不通用,使用时请查证。
文件查看与编辑
介绍常见的文件查看与编辑命令的使用参考,包括各命令的功能说明和应用示例。
cat
介绍文本文件显示命令cat的命令功能、命令格式、参数选项和应用示例。
命令功能
命令cat用于显示文本文件的内容。
命令格式
cat 选项 文件
选项说明
- -n:显示时给文本文件每一行编号
- -v:显示非打印字符(制表符、回车符除外)
使用实例
显示文件“cat_Table.txt”的内容:
# cat cat_Table.txt
Name Owner Object_type ------------------------------ ------------------------------ ---------------------- tbl128Addr cat user table tbl128IP cat user table tbl128Name cat user table tblAdapterIP cat user table tblAdjCell cat user table ... ... ...
命令cat还可以一次显示多个文件的内容,命令格式如下:
# cat file1 file2 file3
diff
介绍比较文本命令diff的命令功能、命令格式、参数选项和应用示例。
命令功能
diff命令可以比较并显示文件差异的部分。它能比较单个文件或者目录内容。
diff命令仅当输入为文本文件时才有效。
命令格式
diff 选项 file1 file2
选项说明
diff命令的选项请参见表12-15
选项 |
说明 |
---|---|
-b |
将每行末尾当作单个新行标记处理(忽略新行字符前的空格字符)的任意数量空格字符与其他空格字符串(除了新行标记)同样地比较。 |
-w |
忽略所有空格和制表符,将所有其他空白字符串视为一致。例如,if ( a == b ) 与 if(a==b) 相等。 |
-s |
报告相同的文件,否则不提。 |
-i |
忽略字母大小写。例如,小写 a 被认为同大写 A 一样。 |
如果文件是一个符号链接文件,则文件名的后面会有->符号,指向被链接的文件。
退出状态
diff命令返回以下退出值:
- 输出0,表示未找到不同处。
- 输出1,表示找到不同处。
- 输出>1,表示发生错误。
使用实例
比较文件名为“chap1.bak”文件和“chap1”命令为:
# diff chap1.bak chap1
命令执行的结果会显示文件“chap1.bak”和“chap1”的不同处。
echo
介绍向屏幕回送字符串命令echo的命令功能、命令格式、参数选项和应用示例。命令echo可以向标准输出设备(一般指屏幕)重显、回送字符串。
命令功能
命令echo的作用是向标准输出设备(一般指屏幕)重显、回送字符串。
命令格式
echo 字符串选项
选项说明
表12-16列举了部分常用选项。
使用实例
# echo $HOME
/
屏幕上显示的“/”是字符串“$HOME”所代表的含义。
为防止输出回车,可以使用如下命令:
# echo -e $HOME "\c"
/ #
或:
# echo -e "$HOME \c"
/ #
\c、\0n、\t、\n、\v等选项一般出现在引号引用的字符串中,可以单独使用引号,也可以多项一起使用引号。
grep
介绍特定字符串查找命令grep的命令功能、命令格式和应用示例。命令grep可以在整个文本文件中查找特定字符串。
命令功能
命令grep在整个文本文件中查找特定字符串,并打印所有出现该字符串的行。
命令格式
grep 字符串 文件
使用实例
在“ifconfig.txt”文件中查找“operation”字符串:
# grep operation ifconfig.txt
used to control operation of dhcpagent(1M), the DHCP client operation, be used to modify the address or characteristics dhcpagent wakes up to conduct another DHCP operation on the given, and the operation is one that requested operation will continue.
在“ifconfig.txt”文件中查找“The following options are supported”字符串:
# grep "The following options are supported" ifconfig.txt
The following options are supported:
上面的例子中,由于查找的“The following options are supported”字符串中含有空格,故在命令中要将其用引号引起来。
head
介绍文本的头显示命令head的命令功能、命令格式和应用示例。命令head只显示文本文件的前几行。
命令功能
命令head只显示文本文件的前几行,缺省为十行。
命令格式
head 显示行数 文件
使用实例
显示文件“A_Table.txt”的前三行内容:
# head -3 A_Table.txt
Name Owner Object_type ------------------------------ ------------------------------
less
介绍查看文件命令less的命令功能、命令格式、参数选项和应用示例。
命令功能
在终端屏幕按屏显示文本文件。less命令的功能几乎和more命令一样,也是按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。more命令请参见more。
命令格式
less 选项 文件
使用实例
分屏显示文件“cat_Table.txt”的内容:
# less cat_Table.txt
在分屏显示文件的过程中,可按如下键进行相关操作:
- “b”:向前翻
- “f”:向后翻
- “q”:退出显示
more
介绍文件分页显示命令more的命令功能、命令格式、参数选项和应用示例。命令more可以分页显示一个较大文件的内容,以实现分屏显示的功能。
命令功能
命令more用来分页显示一个较大文件的内容,以实现分屏显示的功能。命令more还允许向前浏览以前的分页和搜索字符串等功能。
命令格式
more 选项 文件
选项说明
more命令的选项可以组合使用,注意在选项前面要加上前缀-。表12-17列举了部分常用选项。
使用实例
分屏显示文件“cat_Table.txt”的内容:
# more cat_Table.txt
Name Owner Object_type ------------------------------ ------------------------------ ---------------------- tbl128Addr cat user table tbl128IP cat user table tbl128Name cat user table tblAdapterIP cat user table tblAdjCell cat user table ... ... ...
在分屏显示文件的过程中,可按如下键进行相关操作:
- “空格键”:显示下一分页
- “回车键”:显示下一行
- “q”:退出显示
- “h”:显示帮助信息
- “b”:向前回翻已显示的分页
- “/word”:向后搜索字符串word
tail
介绍文本的尾显示命令tail的命令功能、命令格式和应用示例。命令tail只显示文件的最后几行。
命令功能
命令tail只显示文件的最后几行,缺省为十行。
命令格式
tail 显示行数文件
使用实例
显示文件“cat_Table.txt”的后十行内容:
# tail cat_Table.txt
Name Owner Object_type ------------------------------ ------------------------------ ---------------------- tbl128Addr cat user table tbl128IP cat user table tbl128Name cat user table tblAdapterIP cat user table tblAdjCell cat user table ... ... ...
命令tail的一个特别用法是可以迅速观察到日志文件的最新变化,因为日志文件所有的最新变化都追加在该文件的末尾。使用方法如下:
# tail -f commdrv.log
选项-f起监视文件的作用。
vi
介绍文本文件编辑命令vi的命令功能和命令格式。命令vi可以建立、修改文本文件。
命令功能
vi编辑器是强大的文本文件编辑工具,利用它可以建立、修改文本文件。
vi编辑器常用的两种状态方式如下:
- 文本输入方式:用于文本的输入
- 命令方式:用于输入控制命令
命令格式
- vi编辑器的进入,命令如下:
vi 文件名
- 文本输入方式的进入如表12-18所示。
命令 |
功能 |
---|---|
a |
将在光标所在位置之后插入文本(append) |
A |
将在光标所在行末插入文本 |
i |
将在光标所在位置之前插入文本(insert) |
I |
将在光标所在行的第一个非空字符前插入文本 |
o |
将在光标所在行的下一行开始插入文本(open) |
O |
将在光标所在行的上一行开始插入文本 |
- 在文本方式下光标位置移动如表12-19所示。
表12-19 表文本方式光标移动命令
命令 |
功能 |
---|---|
h |
左移 |
j |
下移 |
k |
上移 |
l |
右移 |
行号G |
光标移到某行(如1G表示光标移到第一行) |
G |
光标移到文件最后一行的行首 |
- 文本输入方式的退出、进入命令方式如表12-20所示。
- 在命令方式下删除更改操作如表12-21所示。
- 退出vi编辑器
以下退出vi编辑器的命令是在命令方式下运行的。需要注意的是,不管在什么状态,最好在运行下面命令前先按一下“ESC”键,以防出错。文本方式退出如表12-22所示。
账号管理
介绍常见的账号管理命令的使用参考,包括各命令的功能说明和应用示例。只有root用户和授权用户才能对用户和用户组进行增加、修改和删除等操作。
groupadd
介绍新用户组增加groupadd的命令功能、命令格式和应用示例。
命令功能
命令groupadd的作用是在操作系统中增加新用户组。
命令格式
groupadd 用户组名
使用实例
在操作系统中增加一个名为staff1的新用户组:
# groupadd staff1
groupdel
介绍用户组删除命令groupdel的命令功能、命令格式和应用示例。
命令功能
命令groupdel的作用是可以在EulerOS系统中删除用户组。
命令格式
groupdel 用户组名
使用实例
删除名为staff1的用户组:
# groupdel staff1
groupmod
介绍用户组信息修改命令groupmod的命令功能、命令格式、参数选项和应用示例。命令groupmod可以修改用户组信息。
命令功能
命令groupmod的作用是修改用户组信息。
命令格式
groupmod 用户组名
参数说明
-n name:表示修改后的用户组名
使用实例
将用户组staff1更名为staff2:
# groupmod -n staff2 staff1
passwd
介绍用户口令修改命令passwd的命令功能、命令格式和应用示例。命令passwd可以为新增用户设置密码或修改用户密码。
命令功能
命令passwd的作用是为新增用户设置密码或修改用户密码。
为了提高安全度,密码的设置必须满足如下要求:
- 口令长度至少8个字符。
- 口令必须包含如下至少3种字符的组合:
- 至少一个小写字母
- 至少一个大写字母
- 至少一个数字
- 至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?和空格
- 口令不能和账号或者账号的倒写一样。
- 不能修改为过去5次使用过的旧口令。
- 口令不能使用字典词汇。
cracklib模块提供了字典词汇检查功能,其使用一个系统字典和一套规则来检测输入的密码是否能满足强壮性要求。密码的强度检测分两次进行,第一次只检测密码是否为对比字典中的一部分,如果检测结果是否定的,则提供一些附加的检测条件,进行第二次密码强度检测。
可使用工具/usr/sbin/cracklib-check检查口令有效性。执行如下命令后,输入口令字符串,提示“OK”则为有效口令。
# /usr/sbin/cracklib-check a2eon628 a2eon628: it is based on a dictionary word Pa1qeuir_34 Pa1qeuir_34: OK aalmoezen aalmoezen: it is based on a dictionary word inafdnWE2$_12 inafdnWE2$_12: OK
查询/修改字典词汇的方法如下:
- 查询字典词汇
使用如下命令,在导出的字典库文件dictionary.txt中,可以查询使用的密码是否在字典中。
cracklib-unpacker /usr/share/cracklib/pw_dict > dictionary.txt
- 修改字典词汇
- 修改上面导出的字典文件,执行如下命令更新系统字典库。
# create-cracklib-dict dictionary.txt
- 在原字典库基础上新增其他字典内容,如custom.txt。
# create-cracklib-dict dictionary.txt custom.txt
- 修改上面导出的字典文件,执行如下命令更新系统字典库。
- 查询字典词汇
命令格式
passwd 用户名
使用实例
假设系统中新增了用户omc1,设置该用户的密码:
# passwd omc1
Changing password for user omc1. New password: Retype new password: passwd: all authentication tokens updated successfully.
输入的密码不回显。
useradd
介绍增加新用户命令useradd的命令功能、命令格式、参数选项和应用示例。
命令功能
命令useradd可以在EulerOS系统中增加一个新用户。
命令格式
useradd 选项 新增用户名
选项说明
useradd命令的选项可以组合使用,注意在选项前面要加上前缀-。表12-23列举了部分常用选项。
选项 |
说明 |
---|---|
-c comment |
表示注释 |
-d directory |
表示主目录 |
-m |
表示若主目录不存在,则自动创建 |
-g group |
表示所属的用户组 |
-s shell |
表示该用户使用的shell |
-u uid |
表示用户ID,一个用户对应一个唯一的ID |
-k directory |
表示将一个指定目录下的模板文件复制到用户主目录。常用的模板文件主要有.profile,.cshrc文件。模板文件的作用是让各用户有一个较统一的运行环境。要想在使用useradd命令时将模板文件复制到用户主目录前提条件是:用户主目录不存在,使用useradd “-m”选项自动创建用户主目录;或者用户主目录已经存在的情况下,该目录必须允许被创建用户所在组具有读、写和执行权限。 |
使用实例
在EulerOS系统中创建一个名为omc1的新用户,该用户属于omc1group用户组,主目录为“/home1/omc”(采取自动创建的方式),注释为“Test User”并且采用B shell:
# useradd -c "Test User" -d /home1/omc -m -g omc1group -s /bin/bash omc1
增加新用户完毕后,接下来要对该新增用户设置密码。为新用户设置密码的命令请参见passwd的内容。设置完密码后,就可以用新用户的身份登录了。
userdel
介绍用户删除命令userdel的命令功能、命令格式和应用示例。
命令功能
命令userdel的作用是删除用户。有的操作系统可能不允许彻底删除该用户,命令userdel只能回收该用户的使用权。
命令格式
userdel 用户名
使用实例
假设系统中存在用户omc1,删除用户omc1命令为:
# userdel omc1
当用户处于登录状态时,不能执行命令userdel来删除该用户。
usermod
介绍用户登录信息修改命令usermod的命令功能、命令格式、参数选项和应用示例。
命令功能
命令usermod的作用是修改用户登录信息。
命令格式
usermod 选项 用户名
选项说明
usermod命令的选项可以组合使用,注意在选项前面要加上前缀-。表12-24列举了部分常用选项。
使用实例
修改名为omc1的用户登录信息,将用户名改为test,属组改为new_group,主目录改为“/home1”,注释改为“Tester”:
# usermod -c "Tester" -d /home1 -g new_group -l test omc1
当用户处于登录状态时,不能执行命令usermod修改该用户的登录信息。
查找与帮助
介绍常见的查找与帮助命令的使用参考,包括各命令的功能说明和应用示例。
find
介绍文件查找命令find的命令功能、命令格式、选项参数和应用示例。命令find可以用于查找指定目录及其子目录下符合条件的文件。
命令功能
命令find用于查找指定目录及其子目录下符合条件的文件。此命令的最大用处就是当忘了文件路径时,也能找到该文件。
命令格式
find 目录 “条件”
参数说明
- 目录:开始查找的目录所在,允许有多个目录名称,之间用空格分开即可
- 条件:搜索条件,可包含文件名称、属主、最后修改时间等信息
条件说明如表12-25所示。
条件 |
说明 |
---|---|
-name name |
指定欲查找的文件或目录名,可用通配符,如:-name '*.c' |
|
打印符合条件的路径 |
-size n |
查找占用n个block的文件 |
-type x |
以文件类型作为查找条件,文件类型x如下:
|
-user user |
查找user所拥有的文件,user可为用户名或uid号 |
-group group |
查找用户组为group的所有文件,group可为用户组名或gid号 |
-links n |
查找链接数等于n的所有文件 |
-atime n |
查找n天之前曾被存取的文件 |
-mtime n |
查找n天之前曾被修改的文件 |
-exec command {} \; |
将查找到的文件作为执行command的对象,{}内为执行command时的参数 |
条件的逻辑运算符如表12-26所示。
逻辑运算符 |
逻辑意义 |
举例 |
说明 |
---|---|---|---|
! |
非 |
! -name "*.c" |
所有不以.c为扩展名的文件 |
-o |
或 |
-size +10 -o -links 3 |
所有大于10block或链接数为3的文件 |
空格 |
与 |
-size +10 -links 3 |
大于10block且链接数为3的文件 |
上表中“10”表示大于10, “-10”表示小于10。
使用实例
在“/tmp”目录下查找文件名以“c”开头的文件,并打印查询结果:
# find /tmp -name "c*" -print
/tmp/ctisql_0WBJgt /tmp/ctisql_0dznJ_ /tmp/ctisql_0CpW34 /tmp/ctisql_0FO4vs
在当前目录下查找文件名为“test”的文件,并打印查询结果:
# find . -name test -print
./HWReport/reloc/resin1.2.0/conf/test ./HWReport/reloc/resin1.2.0/doc/examples/login/WEB-INF/classes/test ./HWReport/reloc/resin1.2.0/doc/examples/tags/WEB-INF/classes/test
- 使用命令find查找满足条件的文件可能需要花好几分钟才能完成,因而可以采取在后台运行该命令的方式,也就是说用户可以定向它们的输出到某个文件,以便空闲时再查看搜索的结果。方法是用一个&,告诉操作系统在后台运行该命令。例如:
# find / -name "abc*" -print > abc.file &
- 当任务执行完毕时,可以输入下面的命令来观察搜索的结果:
# cat abc.file
- 对于一个文件,不同用户所拥有的权限不同,因此普通用户可能只能搜索到部分文件。若要搜索出所有的文件,建议按如下两点操作:一是以root用户操作;二是从根目录开始搜索。
man
介绍命令的帮助信息获取命令man的命令功能、命令格式和应用示例。命令man可以查看指定命令的联机帮助文档。
命令功能
使用命令man可以查看指定命令的联机帮助文档。
命令格式
man 选项 需查看帮助信息的命令
使用实例
查看命令pwd的联机帮助信息:
# man pwd
PWD(1) User Commands PWD(1) NAME pwd - print name of current/working directory SYNOPSIS pwd [OPTION]... DESCRIPTION Print the full filename of the current working directory. -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks --help display this help and exit --version output version information and exit If no option is specified, -P is assumed. NOTE: your shell may have its own version of pwd, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports. AUTHOR Written by Jim Meyering. REPORTING BUGS GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report pwd translation bugs to <https://translationproject.org/team/> COPYRIGHT Copyright © 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO getcwd(3) Full documentation at: <https://www.gnu.org/software/coreutils/pwd> or available locally via: info '(coreutils) pwd invocation' GNU coreutils 8.30 July 2018 PWD(1)
命令man的参数并不一定都是命令名。例如,man ascii命令将显示所有的ASCII字符和它们各自的表示法。
whereis
介绍主机名命令whereis的命令功能、命令格式、参数选项和应用示例。命令whereis可以报告命令的源文件、二进制文件以及帮助手册的位置。
命令功能
命令whereis用于报告命令的源文件、二进制文件以及帮助手册的位置。
命令格式
whereis 选项 命令
选项说明
- -b:仅报告二进制文件的位置
- -m:仅报告帮助手册的位置
- -s:仅报告源文件的位置
参数说明
命令:需报告位置的命令
使用实例
- 报告命令ls的各种版本的文件的具体位置:
# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
- 报告命令ls的二进制文件的具体位置:
# whereis -b ls
ls: /usr/bin/ls
- 报告命令ls的帮助手册的具体位置:
# whereis -m ls
ls: /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
which
介绍指定命令的路径显示命令which的命令功能、命令格式和应用示例。命令which可以显示指定命令被运行时的位置。
命令功能
命令which用于显示指定命令被运行时的位置,结果可能是首先从用户环境变量PATH找到的命令的绝对路径或别名。
命令格式
which 命令
使用实例
显示命令pwd、who和which被运行时的位置:
# which pwd who which
alias which='(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot' /usr/bin/which /usr/bin/pwd /usr/bin/who
当所定位的命令在文件中不存在时,执行命令which将显示如下错误信息:
# which qqqq
/usr/bin/which: no qqqq in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
系统信息
介绍常见的系统信息命令的使用参考,包括各命令的功能说明和应用示例。
date
介绍当前日期和时间显示命令date的命令功能、命令格式、参数选项和应用示例。命令date可以显示当前系统的日期和时间。
命令功能
命令date可以显示当前系统的日期和时间,对于root用户而言,还可以利用此命令设置系统的日期和时间。
命令格式
date 选项 +格式
选项说明
- -u:使用格林威治平均时间
- +格式:规范命令的输出形式
格式输出形式说明如表12-27所示。
使用实例
- 显示系统当前的日期和时间:
date
Tue Oct 8 20:04:09 CST 2019
- 使用格林威治平均时间显示系统当前的日期和时间:
date -u
Tue Oct 8 12:04:23 UTC 2019
- 以月/日/年的格式显示系统当前的日期:
date +%D
10/08/19
df
介绍磁盘剩余空间报告命令df的命令功能、命令格式、参数选项和应用示例。命令df可以报告磁盘的剩余空间。
命令功能
命令df用于报告磁盘的剩余空间。系统管理员应经常使用该命令以检查磁盘空间占用率,这样做的好处是可以防止磁盘满溢。
命令格式
df 选项 文件系统
选项说明
- -l:本地文件系统
- -k:报告磁盘空间以K字节为单位
使用实例
查看磁盘剩余空间:
# df -k
Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t0d0s0 2053605 997684 994313 51% / /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd /dev/dsk/c0t1d0s7 35009161 2562019 32097051 8% /export/home swap 3431792 6664 3425128 1% /tmp
上例中显示的内容分别是:
- 文件系统名称
- 文件系统大小(以千字节为单位)
- 已用空间
- 可用空间
- 填充文件系统的容量百分比以及其装配点
当用户调用不带有参数的命令df时,该命令将报告在每一个已装配设备中剩余的自由磁盘空间。
当磁盘剩余自由空间下降到最低限度时,系统管理员必须迅速查出是哪个文件系统造成的。
du
介绍每个文件系统的磁盘使用空间报告命令du的命令功能、命令格式、参数选项和应用示例。命令du可以报告指定目录或文件的磁盘使用量。
命令功能
命令du用于报告指定目录或文件的磁盘使用量。
命令格式
du 选项 目录或文件
选项说明
- “-a”:显示每一个文件的磁盘使用量
- “-s”:仅显示汇总的使用量
- “-k”:报告结果以K字节为单位
使用实例
- 显示目录“/etc”下各文件的磁盘使用量:
# du -k /etc |more
4 /etc/X11/fs 4 /etc/X11/twm 84 /etc/X11/xdm/pixmaps 157 /etc/X11/xdm 721 /etc/X11/xkb/rules 52 /etc/X11/xkb/types 16 /etc/X11/xkb/semantics 8 /etc/X11/xkb/geometry/ibm_vndr 44 /etc/X11/xkb/geometry/digital_vndr 44 /etc/X11/xkb/geometry/sgi_vndr 285 /etc/X11/xkb/geometry 81 /etc/X11/xkb/compat 28 /etc/X11/xkb/symbols/sun_vndr 16 /etc/X11/xkb/symbols/fujitsu_vndr 84 /etc/X11/xkb/symbols/macintosh_vndr 8 /etc/X11/xkb/symbols/nec_vndr 32 /etc/X11/xkb/symbols/digital_vndr 4 /etc/X11/xkb/symbols/sony_vndr 12 /etc/X11/xkb/symbols/xfree68_vndr 4 /etc/X11/xkb/symbols/hp_vndr 4 /etc/X11/xkb/symbols/sgi_vndr 850 /etc/X11/xkb/symbols 40 /etc/X11/xkb/keymap/sun_vndr 8 /etc/X11/xkb/keymap/digital_vndr 93 /etc/X11/xkb/keymap/sgi_vndr 181 /etc/X11/xkb/keymap 16 /etc/X11/xkb/keycodes/digital_vndr 12 /etc/X11/xkb/keycodes/sgi_vndr 108 /etc/X11/xkb/keycodes 2345 /etc/X11/xkb 4 /etc/X11/xsm 4 /etc/X11/lbxproxy 16 /etc/X11/fvwm2 4 /etc/X11/xserver/C/print/ddx-config/raster 4 /etc/X11/xserver/C/print/ddx-config 12 /etc/X11/xserver/C/print/attributes 245 /etc/X11/xserver/C/print/models/PSdefault/fonts --More-
- 显示当前目录下所有文件系统占用空间的大小并将这些值送往sort进行排序:
# du -s * |sort -rn |more
28672 opt 3757 X11 2522 cups 1282 bootsplash 822 xscreensaver 808 sysconfig 661 services 661 init.d 473 postfix 428 apparmor 416 mono 389 joe 193 profile.d 165 ssl 165 apparmor.d 164 ssh 145 pam.d 145 lvm 112 fonts 109 xinetd.d --More-
- 将上例显示的文件系统按大小列出前十名:
# du -s * |sort -rn |head -10
28672 opt 3757 X11 2522 cups 1282 bootsplash 822 xscreensaver 808 sysconfig 661 services 661 init.d 473 postfix 428 apparmor
hostname
介绍主机名显示或设置命令hostname的命令功能、命令格式和应用示例。命令hostname可以显示或设置机器的主机名。
命令功能
命令hostname用于显示或设置机器的主机名。
命令格式
hostname 主机名
使用实例
显示机器的主机名:
# hostname
命令hostname若不带参数,其作用是显示机器的主机名;带参数,其作用是设置机器的主机名,但要求是root用户才可进行此项操作。
uname
介绍操作系统信息显示命令uname的命令功能、命令格式、参数选项和应用示例。命令uname可以显示操作系统的信息。
命令功能
命令uname用于显示操作系统的信息。该命令没有选项时,仅显示操作系统的名称;而有选项则显示关于操作系统更详细的信息。
命令格式
uname 选项
选项说明
uname命令的选项可以组合使用,注意在选项前面要加上前缀-。表12-28列举了部分常用选项。
使用实例
显示主机操作系统名、操作系统的版本及版本序列号:
# uname -svr
who
介绍当前登录用户的信息报告命令who的命令功能、命令格式、参数选项和应用示例。命令who可以报告当前系统中登录的所有用户的登录信息。
命令功能
命令who报告当前系统中登录的所有用户的登录信息。
命令格式
who 选项
选项说明
- -b:显示系统上一次启动的日期和时间
- -m:显示给出命令的用户的有关信息(和运行带两个参数am i的命令who相同)
参数说明
am i:显示给出命令的用户的登录信息
使用实例
- 显示在当前系统中登录的所有用户的登录信息:
# who
root pts/0 Jun 27 10:54 (10.121.44.92) root pts/4 Jun 24 15:35 (10.121.41.27) root pts/6 Jun 25 14:50 (10.121.65.52)
- 显示给出命令的用户的登录信息:
# who am i
root pts/4 Jun 24 15:35 (10.121.41.27)
或:
# who -m
root pts/4 Jun 24 15:35 (10.121.41.27)
管理服务
介绍常见的服务相关命令的使用参考,包括各命令的功能说明和应用示例。
systemctl
介绍systemctl命令的命令功能、命令格式和应用示例。
命令功能
systemd是在Linux下,与SysV和LSB初始化脚本兼容的系统和服务管理器。systemd使用socket和D-Bus来开启服务,提供基于守护进程的按需启动策略,维护挂载和自挂载点,实现了各服务间基于从属关系的一个更为精细的逻辑控制,拥有更高的并行性能。
systemctl命令是systemd中最重要的一个命令,用于对服务进行启动,停止等操作。本章节只列出常用的systemctl命令的使用方法,详细请参考“systemctl --help”。
命令格式
systemctl提供了一组子命令来管理服务,其命令格式为:
systemctl [command] [service]
command主要有:
- start:立刻启动服务。
- stop:立刻关闭服务。
- restart:重启服务,即先关闭(stop)后启动(start)服务。
- reload:不关闭服务的情况下,重新载入配置文件,让设置生效。
- enable:下次开机时,服务会被启动。
- disable:下次开机时,服务不会被启动。
- status:查询服务的状态。会列出有没有正在执行、开机时是否启动等信息。
- is-active:查询服务目前是否正在运行。
- is-enabled:查询服务在开机时是否默认启用。
- kill :向运行服务的进程发送信号。
- show:列出服务的配置。
- mask:注销服务,注销后则无法启动该服务。
- unmask:取消对服务的注销。
应用实例
- 运行服务
如果您需要运行某个服务,请在root权限下执行如下命令:
systemctl start name.service
例如运行httpd服务,命令如下:
# systemctl start httpd.service
- 关闭服务
如果您需要关闭某个服务,请在root权限下执行如下命令:
systemctl stop name.service
例如关闭蓝牙服务,命令如下:
# systemctl stop bluetooth.service
- 重启服务
如果您需要重启某个服务,请在root权限下执行如下命令:
systemctl restart name.service
执行命令后,当前服务会被关闭,但马上重新启动。如果您指定的服务,当前处于关闭状态,执行命令后,服务也会被启动。
例如重启蓝牙服务,命令如下:
# systemctl restart bluetooth.service
chkconfig
介绍chkconfig命令的命令功能、命令格式、参数说明和应用示例。
命令功能
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级别信息。
EulerOS当前版本中依然兼容service和chkconfig命令来管理服务,但建议使用systemctl命令进行系统服务管理。
命令格式
chkconfig [--add][--del][--list] [系统服务]
或者
chkconfig [--level <等级代号>] [系统服务] [on/off/reset]
参数说明
- --add:增加所指定的系统服务,让chkconfig命令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
- --del:删除所指定的系统服务,不再由chkconfig命令管理,并同时在系统启动的叙述文件内删除相关数据。
- --level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关闭。
应用实例
- 列出所有的系统服务
# chkconfig --list
- 开启服务
# chkconfig sshd on //开启 sshd 服务
- 关闭服务
# chkconfig sshd off // 关闭 sshd 服务
进程相关
介绍常见的进程相关命令的使用参考,包括各命令的功能说明和应用示例。
kill
介绍进程运行终止命令kill的命令功能、命令格式、参数选项和应用示例。命令kill可以终止一个或多个进程的运行。
命令功能
命令kill用于向指定的进程送信号,通常是向一个或多个进程送终止信号,即终止一个或多个进程的运行。
命令格式
kill 选项 进程号
选项说明
- -l:列出所有的信号名,其后不加进程号
- -s signal:向进程送名为signal的信号
参数说明
进程号:欲终止的进程标识号(PID),或者进程作业号
使用实例
- 列出系统中所有的信号名:
# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
- 终止PID为256的进程,即向该进程送名为KILL的信号:
# kill -s KILL 256
- 上面的信号也可以用代码来表示,如:
-1 挂起(HUP);-2 中断(INT);-3 退出(QUIT);-9 终止(KILL);-15 软件中断(TERM)信号KILL可用-9来代替。
此信号是命令kill最常用的信号,相比其他的信号而言,其级别最高。
当命令kill没有指定选项时,默认信号是“15”。因此上述实例中“终止PID为256的进程”也可使用如下命令:
# kill -9 256
- 可用命令ps来验证命令kill的结果,看其输出的信息中有无所终止的进程标识号。
- 在使用命令kill终止进程时,通常是相当危险的,用户应避免使用该命令来随意终止进程。
ps
介绍活动进程状态显示命令ps的命令功能、命令格式、参数选项和应用示例。命令ps可以报告当前正在系统中运行的进程的状态。
命令功能
命令ps用于报告当前正在系统中运行的进程的状态。
命令格式
ps 选项
选项说明
- -e:显示系统中所有活动进程的状态
- -l:以长列表形式显示
- -u user:显示指定用户的进程状态
- -f:显示活动进程状态的全信息
使用实例
- 显示用户登录设备(终端)所控制的所有活动进程的状态信息:
# ps
PID TTY TIME CMD 13726 pts/5 0:00 ksh
- 显示用户活动进程状态的全信息:
# ps -f
UID PID PPID C STIME TTY TIME CMD root 1489 1426 0 Jun24 pts/4 00:00:00 -bash
- 查看包含“xinetd”字符的进程的全信息:
# ps -ef | grep xinetd
root 26930 1 0 Oct15 ? 00:00:00 /usr/sbin/xinetd root 4346 29413 0 10:01 pts/1 00:00:00 grep xinetd
- 当用户不带任何选项运行命令ps时,将显示用户登录设备(终端)所控制的所有活动进程的状态信息。
- 使用-f选项将显示进程更多的相关信息,包括用户名(UID)、进程ID标识号(PID)、父进程ID标识号(PPID)、进程最近已运行时间的一个完全技术性数字(C)、进程启动时间(STIME)、启动进程的终端名(TTY)以及进程的名称(CMD)等。如果TTY显示为?,表示该进程是与终端无关的。
- 如果要在系统所有的进程中显示与某些字符相关的进程,如上面与“xinetd”字符相关的进程,可以结合命令grep来使用。
网络通讯
介绍常见的网络通讯命令的使用参考,包括各命令的功能说明和应用示例。
ip
介绍命令ip的命令功能、命令格式、参数选项和应用示例。
命令功能
命令ip用于查看和配置网络设备。
命令格式
ip 选项 操作对象 [命令 命令参数]
操作对象说明
ip命令的常用操作对象及其含义如下:
- link:网络设备
- address:设备上的协议(IP或IPv6)地址
- addrlabel:协议地址选择的标签配置
- route:路由表条目
- rule:路由策略数据库中的规则
选项说明
ip命令的常用选项及其含义如下:
- -V,-Version:显示指令版本信息
- -s,-stats,statistics:输出详细信息
- -h,-human,-human-readable:输出人类可读的统计信息和后缀
- -o,-oneline:将每条记录输出到一行,用‘\’字符替换换行符
使用实例
- 显示系统中网卡及其配置的地址信息
# ip addr show
- 显示所有网卡上数据包的路由信息
# ip route show
- 显示所有网络接口的统计数据
# ip -s link
- 为网卡分配IP地址
# ip addr add 192.168.0.123/24 dev enp3s0
- 删除配置的IP地址
# ip addr del 192.168.0.123/24 dev enp3s0
- 启用网卡
# ip link set enp3s0 up
- 禁用网卡
# ip link set enp3s0 down
ifconfig
介绍主机IP地址查看命令ifconfig的命令功能、命令格式、参数选项和应用示例。命令ifconfig可以查看主机的IP地址信息。
命令功能
命令ifconfig用于查看主机的IP地址信息。
命令格式
ifconfig 选项
选项说明
-a:显示所有的地址信息
使用实例
显示主机所有IP地址信息:
# ifconfig -a
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.199.197 netmask 255.255.0.0 broadcast 192.168.255.255 inet6 fe80::c2bf:c0ff:fed0:5fb prefixlen 64 scopeid 0x20<link> ether c0:bf:c0:d0:05:fb txqueuelen 1000 (Ethernet) RX packets 2347993 bytes 4317321061 (4.0 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1481991 bytes 102926567 (98.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether c0:bf:c0:d0:05:f9 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether c0:bf:c0:d0:05:fa txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.192.25 netmask 255.255.0.0 broadcast 192.168.255.255 inet6 fe80::c2bf:c0ff:fed0:5fb prefixlen 64 scopeid 0x20<link> ether c0:bf:c0:d0:05:fb txqueuelen 1000 (Ethernet) RX packets 8455097 bytes 10712561248 (9.9 GiB) RX errors 0 dropped 12106 overruns 0 frame 0 TX packets 3402505 bytes 252963929 (241.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::c2bf:c0ff:fed0:5fc prefixlen 64 scopeid 0x20<link> ether c0:bf:c0:d0:05:fc txqueuelen 1000 (Ethernet) RX packets 2855804 bytes 226061131 (215.5 MiB) RX errors 0 dropped 4027 overruns 0 frame 0 TX packets 25999 bytes 2774677 (2.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 11317 bytes 4028316 (3.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 11317 bytes 4028316 (3.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 在Unix/Linux系统中,一个网卡可以绑定多个逻辑IP地址,逻辑IP地址可以实现不同网段之间的通信。
- 由于Linux社区不再维护ifconfig命令所属的net-tools包,且该软件包已经处于衰退期,建议使用ip命令代替ifconfig命令。
netstat
介绍网络状态显示命令netstat的命令功能、命令格式、参数选项和应用示例。命令netstat可以显示当前网络的运行状态。
命令功能
netstat可以显示当前网络的运行状态,其功能强大,格式复杂。这里只介绍几种常用的方法。
命令格式
netstat 选项
选项说明
使用实例
查看路由表信息:
# netstat -rn
回显如下:
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.0.0.0 10.85.0.1 0.0.0.0 UG 0 0 0 br0 10.85.0.0 0.0.0.0 127.255.0.0 U 0 0 0 br0 10.85.0.0 0.0.0.0 127.255.0.0 U 0 0 0 eth2
对于一个给定的路由器,有五种不同的标志(Flags:UGHDM),说明如表12-29所示。
标志 |
说明 |
---|---|
U |
表示该路由可以使用。 |
G |
表示该路由是到一个网关(路由器)。 如果没有设置该标志,说明目的地是直接相连的。由标志G区分间接路由和直接路由(对于直接路由来说是不设置标志G的)。其区别在于,发往直接路由的分组中不但具有指明目的端的IP地址,还具有其链路层地址。当分组被发往一个间接路由时,IP地址指明的是最终的目的地,但是链路层地址指明的是网关(即下一站路由器)。 |
H |
该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。 如果没有设置该标志,说明该路由是到一个网络,而目的地址是一个网络地址,一个网络号或者网。但是H标志表明,目的地址是一个完整的主机地址。没有设置H标志说明目的地址是一个网络地址(主机号部分为0)。当为某个目的IP地址搜索路由表时,主机地址项必须与目的地址完全匹配,而网络地址项只需要匹配目的地址的网络号和子网号即可。另外,大多数版本的netstat命令首先打印出所有的主机路由表项,然后才是网络路由表项。 |
D |
该路由是由重定向报文创建的。 |
M |
该路由已被重定向报文修改。 |
ping
介绍网络物理连通情况测试命令ping的命令功能、命令格式和应用示例。命令ping可以测试网络物理通断情况。
命令功能
当用户计算机与网络上的其他主机通信中断时,经常会用命令ping测试网络物理通断情况。
命令格式
ping 主机IP地址
使用实例
查看本主机与IP为10.71.15.1的主机的物理连通情况:
# ping 10.71.15.1
PING 10.71.15.1 (10.71.15.1) 56(84) bytes of data. 64 bytes from 10.71.15.1: icmp_seq=1 ttl=255 time=11.5 ms 64 bytes from 10.71.15.1: icmp_seq=2 ttl=255 time=7.11 ms 64 bytes from 10.71.15.1: icmp_seq=3 ttl=255 time=7.77 ms
命令ping使用ICMP(Internet Control Message Protocol)协议来测试网络连接情况。它在被调用时,向指定的主机发一个ICMP回显请求报文,并希望返回一个ICMP回显响应报文。如果在指定时间段内没有收到此报文,则判断主机不可达,并在用户屏幕上显示Host unreachable消息。
Host unreachable消息产生的原因可能有:
- 指定的主机失效
- 网络物理连线没有正确相连
- 双方不支持共同的通信协议等原因
要确定究竟是哪一个原因,可向同网段的其他主机发ping命令。如果ping成功则说明本机与网络的连接是正常的,需要检查对方的物理连接、工作是否正常等事项。否则检查本机与网络的物理连接是否正确、TCP/IP协议是否设置正确(一般对Windows 95)等事项。
route
介绍路由表修改维护命令route的命令功能、命令格式、参数选项和应用示例。命令route可以修改维护路由表。
命令功能
路由表负责完成IP地址的不同网段的转发,命令route用来修改维护路由表。
命令格式
route 选项
route add | del [-net | -host] target [gw Gw] [netmask Nm] [metric M] [[dev] If]
此处“|”表示或者。
参数说明
route命令的选项可以组合使用,表12-30列举了部分常用选项。
使用实例
- 查询路由表信息:
# route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 192.168.190.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.128.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 10.128.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.71.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.144.252.0 0.0.0.0 255.255.252.0 U 0 0 0 bond0 10.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
- 增加一条路由:
# route add -net 10.144.252.0 netmask 255.255.252.0 gw 10.144.252.1
# route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 192.168.190.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.128.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 10.128.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.71.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.144.252.0 10.144.252.1 255.255.252.0 UG 0 0 0 bond0 10.144.252.0 0.0.0.0 255.255.252.0 U 0 0 0 bond0 10.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
其中10.144.252.0 10.144.252.1 255.255.252.0 UG 0 0 0 bond0为新添加的路由。
- 删除一条路由:
# route del -net 10.144.252.0 netmask 255.255.252.0 gw 10.144.252.1
执行以下命令确认路由已经不在路由表中。
# route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.129.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 192.168.190.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.128.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 10.128.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.71.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 10.144.252.0 0.0.0.0 255.255.252.0 U 0 0 0 bond0 10.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
软件包管理
介绍常见的软件包管理命令的使用参考,包括各命令的功能说明和应用示例。
yum
介绍命令yum的命令功能、命令格式和应用示例。
命令功能
yum(全称为 Yellow dogUpdater, Modified)是Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
命令格式
yum [选项] 操作命令
使用实例
- 安装
yum install httpd
- 升级
yum update httpd
- 回退
yum downgrade httpd
- 检查更新
yum check-update
- 卸载
yum remove httpd
- 查询
yum search httpd
- 本地安装
yum localinstall httpd
- 查看历史记录
yum history
- 清除缓存目录
yum clean all
- 更新缓存
yum makecache
rpm
介绍命令rpm的命令功能、命令格式和应用示例。
命令功能
命令rpm是RPM软件包的管理工具,用于安装、卸载、升级软件包、查询软件包信息等,使得软件包易于管理。
命令格式
rpm [选项]
选项说明
常用选项说明:
- -a:查询所有软件包
- -e:卸载软件包
- -i:安装软件包
- -q:查询已安装的软件信息
- -U:升级软件包
使用实例
- 查看内核版本信息
rpm -q kernel
- 查看已安装的软件
rpm -qa
- 查看软件版本,其中packageName为具体的RPM软件包名称
rpm -q packageName
- 安装RPM软件包
rpm -ivh packageName
- 卸载RPM软件包
rpm -e packageName
其他常用命令
介绍其他常用命令的使用参考,包括各命令的功能说明和应用示例。
bc
介绍计算器命令bc的命令功能和应用示例。执行命令bc可以进行简单的计算。
命令功能
执行命令bc可以进行简单的计算。
使用实例
计算4和5的乘积:
# bc
4*5
20
输入命令bc后按“Enter”,然后输入要计算的公式4*5,再按“Enter”就可以得到结果。按“Ctrl+D”退出bc程序。
script
介绍屏幕I/O活动记录命令script的命令功能、命令格式、参数选项和应用示例。命令script可以将所有屏幕的输入和输出都记录在一个脚本文件中,直到输入命令exit为止。
命令功能
命令script的作用是将所有屏幕的输入和输出都记录在一个脚本文件中,直到输入命令exit为止。该命令可以对用户的编程和调试提供帮助。
请记住用命令exit去结束该屏幕I/O记录活动,同时关闭脚本文件,否则脚本文件就可能逐渐变大,以至影响系统的正常运行。
命令格式
script 选项 文件
选项说明
-a:将屏幕的I/O内容追加在一个文件中(若没有此选项,屏幕的I/O内容将以覆盖的方式保存在指定的文件中)
参数说明
文件:供保存屏幕I/O内容的文件(若没有指定文件名,屏幕的I/O内容缺省记录在文件“typescript”中)
使用实例
将屏幕I/O内容记录在缺省文件“typescript”中:
# script
Script started, file is typescript
# ps
PID TTY TIME CMD 775 pts/8 0:00 ksh
# pwd
/export/home
# date
Tue Oct 8 20:49:54 CST 2019
# exit
Script done, file is typescript
显示文件“typescript”的内容:
# cat typescript
Script started on Tue 08 Oct 2019 08:49:27 PM CST $ ps PID TTY TIME CMD 775 pts/8 0:00 ksh $ pwd /export/home $ date Tue Oct 8 20:49:54 CST 2019 $ exit Script done on Tue 08 Oct 2019 08:50:22 PM CST