Linux服务器配置与管理完全学习手册
上QQ阅读APP看书,第一时间看更新

3.1 Linux控制台的使用

Linux中的所有管理任务都可以在控制台中完成。许多情况下,在控制台下使用程序比使用图形化的程序更快捷,而且还可以实现额外的功能。此外,所有的控制台任务都可以写到脚本中,这样就可以自动地执行相应的任务。为了真正地驾驭Linux系统,必须掌握在控制台环境下如何工作。

3.1.1 进入控制台

如果系统引导进入文本模式(为了降低服务开销,服务器通常是这样配置的),那么用户在以文本形式登录后就已经在控制台环境中了。在Linux系统中,通常可以使用快捷键Alt+(F1~F6)切换到另外的控制台。

每一个控制台都是系统中一个完全独立的会话,每一个控制台都可以分别由完全不同的用户来控制。例如,某用户可能在控制台1中以root身份登录,而在控制台2中以joeuser身份登录。两个控制台在各自的用户空间中运行不同的程序。用户可以在某一虚拟控制台上运行的工作尚未结束时,切换到另一虚拟控制台来开始另一项工作。虚拟控制台可使同一用户同时在多个不同的控制台上工作,真正体现Linux系统多用户的特性。

3.1.2 Linux控制台命令

在控制台可以使用的命令很多,其中有一些实际上只在编写脚本时才会用到。在Linux中,所有的命令和选项都区分大小写,控制台命令几乎全都是小写的。常用的控制台命令有以下几类:安装和登录命令、文件处理命令、系统管理命令、网络操作命令、系统安全相关命令及其他命令。

1.login

(1)作用

login的作用是登录系统,它的使用权限是所有用户。

(2)格式

  login [name][-p][-h主机名称]

(3)主要参数

-p:通知login保持现在的环境参数。

-h:用来向远程登录的主机传输用户名。

如果选择用命令行模式登录Linux,那么看到的第一个Linux命令就是login。

一般界面如下:

  Manddrake Linux release 9.1(Bamboo) for i586
  kennel 2.4.21-0.13mdk on i686 / tty1
  localhost login:root
  password:

上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,用户在第三行输入登录名,按Enter键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。登录后会看到下面这个界面(以超级用户为例):

  [root@localhost root]#
  last login: Tue, Nov 18 10:00:55 on vc/1

上面显示的是登录星期、月、日、时间和使用的虚拟控制台。

2.shutdown

(1)作用

shutdown命令的作用是关闭计算机,它的使用权限是超级用户。

(2)格式

  shutdown [-h][-i][-k][-m][-t]

(3)主要参数

-h:关机后关闭电源。

-i:关机时显示系统信息。

-k:并不真正关机,只是发送警告信号给每位登录者。

-m:将系统改为单用户模式。

-t:在改变到其他运行级别之前,告诉init程序多久以后关机。

(4)使用说明

shutdown命令可以安全地将系统关闭。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux系统与Windows系统不同,其后台运行着许多进程,强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。

3.halt

(1)作用

halt命令的作用是关闭系统,它的使用权限是超级用户。

(2)格式

  halt [-n] [-w] [-d] [-f] [-i] [-p]

(3)主要参数

-n:防止sync系统调用,用在使用fsck(file system check)命令修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。

-w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)记录。

-d:关闭系统,但不留下记录。

-f:没有调用shutdown,而强制关机或重启。

-i:关机(或重启)前,关掉所有的网络接口。

-p:当关机的时候顺便做关闭电源的动作。

(4)使用说明

Halt命令就是调用shutdown -h。halt命令执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。

4.reboot

(1)作用

reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。

(2)格式

  reboot [-n] [-w] [-d] [-i]

(3)主要参数

-n:在重开机前不做将记忆体资料写回硬盘的动作。

-w:并不会真的重开机,只是把记录写到/var/log/wtmp文件里。

-d:不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。

-i:在重开机之前先把所有与网络相关的装置停止。

5.exit

(1)作用

exit命令的作用是退出系统,它的使用权限是所有用户。

(2)格式

  exit

(3)参数

exit命令没有参数,运行后退出系统进入登录界面。

6.last

(1)作用

last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。

(2)格式

  last[-n][-f file][-t tty] [-h 节点][-i -IP][-y][-x]

(3)主要参数

-n:指定输出记录的条数。

-f file:指定用文件file作为查询用的log文件。

-t tty:只显示指定的虚拟控制台上的登录情况。

-h节点:只显示指定的节点上的登录情况。

-i IP:只显示指定的IP上登录的情况。

-y:显示记录的年、月、日。

-x:显示系统关闭、用户登录和退出的历史。

7.file

(1)作用

内容判断文件类型,使用权限是所有用户。

(2)格式

  file [options] 文件名

(3)主要参数

-v:在标准输出后显示版本信息,并且退出。

-z:探测压缩过的文件类型。

-L:允许符合连接。

-f name:从文件namefile中读取要分析的文件名列表。

(4)使用说明

使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件,还是ShellScript文件,或者是其他的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。

8.mkdir

(1)作用

mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。

(2)格式

  mkdir [options]目录名

(3)主要参数

-m, --mode=模式:设定权限<模式>,与chmod命令类似。

-p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误。

-v, --verbose:每次创建新目录都显示信息。

--version:显示版本信息后离开。

(4)使用说明

在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”。假设要创建的目录名是“tsk”,让所有用户都有rwx权限(即读、写、执行的权限),那么可以使用以下命令:

  $ mkdir -m 777 tsk

9.grep

(1)作用

grep命令可以在指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

(2)格式

  grep [options]

(3)主要参数

-c:只输出匹配行的计数。

-i:不区分大小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

10.dd

(1)作用

dd命令用来复制文件,并根据参数将数据转换和格式化。

(2)格式

  dd [options]

(3)主要参数

bs=字节:同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

cbs=字节:每次转换指定的<字节>。

conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。

count=块数目:只复制指定<块数目>的输入数据。

ibs=字节:每次从缓冲区读取指定的<字节>。

if=文件:读取<文件>内容,而非标准输入的数据。

obs=字节:每次写入指定的<字节>到缓冲区。

of=文件:将数据写入<文件>中而不在标准输出显示。

seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。

skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。

(4)使用说明

dd命令常常用来制作Linux启动盘。先找一个可引导内核,使它的根设备指向正确的根分区,然后使用dd命令将其写入软盘:

  $ rdev vmlinuz /dev/hda
  $dd if=vmlinuz of=/dev/fd0

上面代码是使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,用户使用时把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。

11.find

(1)作用

find命令的作用是在目录中搜索文件,它的使用权限是所有用户。

(2)格式

  find [path][options][expression]

path指定目录路径,系统从此处开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。

(3)主要参数

[options]参数:

-depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。

-maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level为0表示仅在当前目录中查找。

-mindepth levels:表示至少查找到开始目录的第level层子目录。

-mount:不在其他文件系统(如Msdos、Vfat等)的目录和文件中查找。

-version:打印版本。

[expression]是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数:

-name:支持通配符*和?。

-atime n:搜索在过去n天读取过的文件。

-ctime n:搜索在过去n天修改过的文件。

-group groupname:搜索组名为groupname的文件。

-user用户名:搜索文件属主为用户名(ID或名称)的所有文件。

-size n:搜索文件大小是n个BLOCK的文件。

-print:输出搜索结果,并且打印。

(4)使用说明

find命令查找文件的几种方法:

①根据文件名查找

例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令:

  find / -name lilo.conf

find命令后的“/”表示搜索整个硬盘。

②快速查找文件

根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此时可以使用下面命令:

  find /etc -name smb.conf

这样,使用“快速查找文件”方式可以缩短时间。

③根据部分文件名查找方法

有时我们知道某个文件包含有abvd这4个字,那么可以输入下面命令来查找系统中所有包含这4个字符的文件:

  find / -name '*abvd*'

输入这个命令以后,Linux系统会在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。

④使用混合查找方式查找文件

find命令可以使用混合查找的方法,例如,想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件,则可以使用-and把两个查找参数链接起来组合成一个混合的查找方式。

  find /etc -size +500000c -and -mtime +1

12.mv

(1)作用

mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。

(2)格式

  mv [options] 源文件或目录 目标文件或目录

(3)主要参数

-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。

-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。

13.ls

(1)作用

ls命令用于显示目录内容,类似DOS下的dir命令,它的使用权限是所有用户。

(2)格式

  ls [options][filename]

(3)主要参数

-a, --all:不隐藏任何以“.”字符开始的项目。

-A, --almost-all:列出除了“.”及“..”以外的任何项目。

--author:印出每个文件著作者。

-b, --escape:以八进制溢出序列表示不可打印的字符。

--block-size=大小:指定size个字节作为块的单位。

-i, --inode:列出每个文件的inode号。

-I, --ignore=样式:不打印出任何符合Shell万用字符<样式>的项目。

-k:即block-size=1K。

-l:使用较长格式列出信息。

-L, --dereference:当显示符号链接的文件信息时,显示符号链接所指示的对象,而并非符号链接本身的信息。

-m:所有项目以逗号分隔,并填满整行。

-n, --numeric-uid-gid:类似-l,但列出UID及GID号。

-N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。

-p, --file-type:加上文件类型的指示符号。

-Q, --quote-name:用双引号标明项目名称。

-r, --reverse:依相反次序排列。

-R, --recursive:同时列出所有子目录层。

-s, --size:以块大小为序。

(4)使用说明

ls命令是Linux系统使用频率最多的命令,它的参数也是Linux命令中最多的。使用ls命令时会有几种不同的颜色,其中蓝色表示是目录,绿色表示是可执行文件,红色表示是压缩文件,浅蓝色表示是链接文件,加粗的黑色表示符号链接,灰色表示是其他格式文件。

14.diff

(1)作用

diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。

(2)格式

  diff [options] 源文件目标文件

(3)主要参数

-a:将所有文件当作文本文件来处理。

-b:忽略空格造成的不同。

-B:忽略空行造成的不同。

-c:使用纲要输出格式。

-H:利用试探法加速对大文件的搜索。

-I:忽略大小写的变化。

-n --rcs:输出RCS格式。

15.cmp

(1)作用

cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户。

(2)格式

  cmp[options] 文件名

(3)主要参数

-l:将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出。

16.cat

(1)作用

cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。

(2)格式

  cat [options] 文件1 文件2……

(3)主要参数

-n:由第一行开始对所有输出的行数编号。

-b:和-n相似,只不过对于空白行不编号。

-s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。

(4)使用说明

cat命令一个最简单的用处是显示文本文件的内容。例如,我们想在命令行看一下README文件的内容,可以使用命令:

  $ cat README

有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件。cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出。例如,把README和INSTALL的文件内容加上行号(空白行不加)之后,将内容附加到一个新文本文件File1中:

  $ cat README INSTALL File1

cat还有一个重要的功能就是可以对行进行编号,这种功能对于程序文档的编制以及法律和科学文档的编制很方便,打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的。

17.ln

(1)作用

ln命令用来在文件之间创建链接,它的使用权限是所有用户。

(2)格式

  ln [options] 源文件 [链接名]

(3)主要参数

-f:链接时先将源文件删除。

-d:允许系统管理者硬链接自己的目录。

-s:进行软链接(Symbolic Link)。

-b:将在链接时会被覆盖或删除的文件进行备份。

18.df

(1)作用

df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。

(2)格式

  df [options]

(3)主要参数

-s:对每个Names参数只给出占用的数据块总数。

-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

-k:以1024字节为单位列出磁盘空间使用情况。

-x:跳过在不同文件系统上的目录不予统计。

-l:计算所有的文件大小,对硬链接文件则计算多次。

-i:显示inode信息而非块使用量。

-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。

-P:使用POSIX输出格式。

-T:显示文件系统类型。

(4)使用说明

df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。

19.top

(1)作用

top命令用来显示执行中的程序进程,使用权限是所有用户。

(2)格式

  top [-] [d delay] [q] [c] [S] [s] [i] [n]

(3)主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将已完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出top。

20.free

(1)作用

free命令用来显示内存的使用情况,使用权限是所有用户。

(2)格式

  free [-b|-k|-m] [-o] [-s delay] [-t] [-V]

(3)主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

(4)使用说明

free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便的实时监控器。

  #free -b -s5

使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

21.quota

(1)作用

quota命令用来显示磁盘使用情况和限制情况,使用权限为超级用户。

(2)格式

  quota [-g][-u][-v][-p] 用户名 组名

(3)参数

-g:显示用户所在组的磁盘使用限制。

-u:显示用户的磁盘使用限制。

-v:显示没有分配空间的文件系统的分配情况。

-p:显示简化信息。

(4)使用说明

在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况。要查询磁盘配额可以使用下面命令(下例中用户账号是caojh):

  #quota caojh
  Disk quotas for user caojh(uid 502):
  Filesystem blocks quota limit grace files quota limit grace
  /dev/hda3 58 200000 400000 41 500 1000

以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB。一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额。

22.at

(1)作用

at命令用来在指定时刻执行指定的命令序列。

(2)格式

  at [-V] [-q] [-f file] [-m] time

(3)主要参数

-V:显示标准错误输出。

-q:许多队列输出。

-f:从文件中读取作业。

-m:执行完作业后发送电子邮件到用户。

time:设定作业执行的时间。time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为时间+偏移量,单位是minutes、hours和days。

(4)使用说明

  #at -f data 15:30 +2 days

该命令表示让系统在两天后的17:30执行文件data中指明的作业。

23.lp

(1)作用

lp是打印文件的命令,使用权限是所有用户。

(2)格式

  lp [-c][-d][-m][-number][-title][-p]

(3)主要参数

-c:先拷贝文件再打印。

-d:打印队列文件。

-m:打印结束后发送电子邮件到用户。

-number:打印份数。

-title:打印标题。

-p:设定打印的优先级别,最高为100。

24.useradd

(1)作用

useradd命令用来建立用户账号和创建用户的起始目录,使用权限是超级用户。

(2)格式

  useradd [options] name

(3)主要参数

-c:加上备注文字,备注文字保存在passwd的备注栏中。

-d:指定用户登录时的起始目录。

-D:变更预设值。

-e:指定账号的有效期限,缺省表示永久有效。

-f:指定在密码过期后多少天即关闭该账号。

-g:指定用户所属的群组。

-G:指定用户所属的附加群组。

-m:自动建立用户的登录目录。

-M:不要自动建立用户的登录目录。

-n:取消建立以用户名称为名的群组。

-r:建立系统账号。

-s:指定用户登录后所使用的shell。

-u:指定用户ID号。

(4)使用说明

useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。例如,建立一个新用户账户,并设置ID:

  #useradd caojh -u 544

需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0~499之间的值留给bin、mail这样的系统账号。

25.groupadd

(1)作用

groupadd命令用于将新组加入系统。

(2)格式

  groupadd [-g gid] [-o]] [-r] [-f] groupname

(3)主要参数

-g gid:指定组ID号。

-o:允许组ID号,不必唯一。

-r:加入组ID号,低于499系统账号。

-f:加入已经有的组时,发展程序退出。

(4)使用说明

建立一个新组,并设置组ID加入系统:

  #groupadd -g 344 cjh

此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。

26.kill

(1)作用

kill命令用来中止一个进程。

(2)格式

  kill [ -s signal | p] pid ...
  kill -l [ signal ]

(3)主要参数

-s:指定发送的信号。

-p:模拟发送信号。

-l:指定信号的名称列表。

pid:要中止进程的ID号。

Signal:表示信号。

(4)使用说明

进程是Linux系统中一个非常重要的概念,Linux是一个多任务的操作系统,系统经常同时运行着多个进程。用户不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,关心的是如何去控制这些进程,让它们能够很好地为用户服务。kill命令的工作原理是向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill命令中止某些进程来提高系统资源。

27.ifconfig

(1)作用

ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。

(2)格式

  ifconfig -interface [options] address

(3)主要参数

-interface:指定的网络接口名,如eth0和eth1。

up:激活指定的网络接口卡。

down:关闭指定的网络接口。

broadcast address:设置接口的广播地址。

pointtopoint:启用点对点方式。

address:设置指定接口设备的IP地址。

netmask address:设置接口的子网掩码。

(4)使用说明

ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络,这是一个必须掌握的命令,使用该命令的好处是无须重新启动机器。

28.ping

(1)作用

ping检测主机网络接口状态,使用权限是所有用户。

(2)格式

  ping [options] IP地址

(3)主要参数

-d:使用Socket的SO_DEBUG功能。

-c:设置完成要求回应的次数。

-f:极限检测。

-i:指定收发信息的间隔秒数。

-I:网络界面使用指定的网络界面送出数据包。

-l:前置载入,设置在送出要求信息之前,先行发出的数据包。

-n:只输出数值。

-p:设置填满数据包的范本样式。

-q:不显示指令执行过程,开头和结尾的相关信息除外。

-r:忽略普通的Routing Table,直接将数据包送到远端主机上。

-R:记录路由过程。

-s:设置数据包的大小。

-t:设置存活数值TTL的大小。

-v:详细显示指令的执行过程。

(4)使用说明

ping命令是使用最多的网络指令,通常使用它检测网络是否连通,它使用ICMP协议。但是有时会有这样的情况,用户可以浏览查看一个网页,但是使用ping命令却无法连通,这是因为一些网站出于安全考虑安装了防火墙。另外,也可以通过下面的命令使系统对ping命令没有反应:

  # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

29.finger

(1)作用

finger用来查询一台主机上的登录账号的信息,通常会显示用户名、主目录、停滞时间、登录时间、登录Shell等信息,使用权限为所有用户。

(2)格式

  finger [选项] [使用者] [用户@主机]

(3)主要参数

-s:显示用户注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。

-l:除了-s选项显示的信息外,还显示用户主目录、登录Shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。

-p:除了不显示.plan文件和.project文件以外,与-l选项相同。

(4)使用说明

如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程的支持。

30.nslookup

(1)作用

nslookup命令的功能是查询一台机器的IP地址和其对应的域名,使用权限是所有用户。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。

(2)格式

  nslookup[IP地址/域名]

(3)使用说明

在本地计算机上使用nslookup命令:

  $ nslookup
  Default Server: name.cao.com.cn
  Address: 192.168.1.9
  >

在符号“>”后面输入要查询的IP地址域名,按回车键即可。如果要退出该命令,输入“exit”,并按回车键即可。

31.passwd

(1)作用

passwd命令原来修改账户的登录密码,使用权限是所有用户。

(2)格式

  passwd [选项] 账户名称

(3)主要参数

-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。

-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。

-x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。

-n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。

-d:删除使用者的密码,只有具备超级用户权限的使用者方可使用。

-S:检查指定使用者的密码认证种类,只有具备超级用户权限的使用者方可使用。

32.su

(1)作用

su的作用是变更为其他使用者的身份,超级用户除外,需要键入该使用者的密码。

(2)格式

  su [选项]... [-] [USER [ARG]...]

(3)主要参数

-f,--fast:不必读启动文件(如csh、cshrc等),仅用于csh或tcsh两种Shell。

-l,--login:加了这个参数之后,就好像是重新登录为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况下是root。

-m,-p,--preserve-environment:执行su时不改变环境变数。

-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来的使用者。

USER:打算变更的使用者账号,ARG传入新的Shell参数。

33.umask

(1)作用

Umask为用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。

(2)格式

  umask [-p] [-S] [mode]

(3)主要参数

-S:确定当前的umask设置。

-p:修改umask设置。

[mode]:修改数值。

34.chmod

(1)作用

chmod命令非常重要,用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。

(2)格式

chmod命令有两种用法:一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。

①字符设定法

  chmod [who] [+ | - | =] [mode] 文件名

操作对象who可以是下述字母中的任一个或它们的组合:

u 表示用户,即文件或目录的所有者。

g 表示同组用户,即与文件属主有相同组ID的所有用户。

o 表示其他用户。

a 表示所有用户,它是系统默认值。

操作符号:

+ 添加某个权限。

- 取消某个权限。

= 赋予给定权限,并取消其他所有权限。

设置mode的权限可用下述字母的任意组合:

r 可读。

w 可写。

x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

s 文件执行时把进程的属主或组ID设置为该文件的文件属主,“u+s”设置文件的用户ID位,“g+s”设置组ID位。

t 保存程序的文本到交换设备上。

u 与文件属主拥有一样的权限。

g 与和文件属主同组的用户拥有一样的权限。

o 与其他用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。一个命令行中可以给出多个权限方式,其间用逗号隔开。

②数字设定法

  chmod [mode] 文件名

数字属性的格式应为3个0~7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开要改变权限的文件列表,支持通配符。数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;0000为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位置位;2000表示假如这个文件是可执行文件,则组ID为位置位,否则其中文件锁定位置位;4000表示假如这个文件是可执行文件,则用户ID为位置位。

35.chown

(1)作用

更改一个或多个文件或目录的属主和属组。使用权限是超级用户。

(2)格式

  chown [选项] 用户或组文件

(3)主要参数

--dereference:受影响的是符号链接所指示的对象,而非符号链接本身。

-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。

--from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。

-f, --silent, --quiet:去除大部分的错误信息。

-R, --recursive:递归处理所有的文件及子目录。

-v, --verbose:处理任何文件都会显示信息。

(4)使用说明

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID;组可以是组名或组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。

36.sudo

(1)作用

sudo是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令,权限是所有用户。

(2)格式

  sudo [options]

(3)主要参数

-b:在后台执行命令。

-h:显示帮助。

-H:将HOME环境变量设为新身份的HOME环境变量。

-k:结束密码的有效期,即下次将需要输入密码。

-l:列出当前用户可以使用的命令。

-p:改变询问密码的提示符号。

-s <shell>:执行指定的Shell。

-u <用户>:以指定的用户为新身份,不使用时默认为root。

-v:延长密码有效期5分钟。

(4)使用说明

sudo命令的配置在/etc/sudoers文件中。当用户使用sudo命令时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录。sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个通用的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的只有超级用户身份才能执行的命令,那么用sudo是非常适合的。

37.ps

(1)作用

ps显示瞬间进程(process)的动态,使用权限是所有使用者。

(2)格式

  ps [options] [--help]

(3)主要参数

ps的参数非常多,此处仅列出几个常用的参数。

-A:列出所有的进程。

-l:显示长列表。

-m:显示内存信息。

-w:显示加宽可以显示较多的信息。

-e:显示所有进程。

a:显示终端上的所有进程,包括其他用户的进程。

-au:显示较详细的信息。

-aux:显示所有包含其他使用者的进程。

(4)使用说明

要对进程进行监测和控制,首先要了解当前进程的情况,也就是需要查看当前进程。ps命令就是最基本、也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等,大部分信息都可以通过执行该命令得到。

38.who

(1)作用

who显示系统中有哪些用户登录了系统,显示的资料包含使用者ID、使用的登录终端、上线时间、空闲时间、CPU占用,以及做了些什么。使用权限为所有用户。

(2)格式

  who [options] [user]

(3)主要参数

-h:不要显示标题列。

-u:不要显示使用者的动作/工作。

-s:使用简短的格式来显示。

-f:不要显示使用者的上线位置。

-V:显示程序版本。

(4)使用说明

该命令主要用于查看当前在线上的用户情况,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。who命令应用起来非常简单,可以比较准确地掌握用户的情况,所以使用非常广泛。

39.tar

(1)作用

tar命令是Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。

(2)格式

  tar [主选项+可选项] 文件或目录

(3)主要参数

使用该命令时,主选项是必须要有的,可选项是辅助使用的,可以选用。

主选项:

-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

-r 把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将目录或文件追加到备份文件中。

-t 列出档案文件的内容,查看已经备份了哪些文件。

-u 更新文件。即用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

-x 从档案文件中释放文件。

可选项:

-b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。

-f 使用档案文件或设备,这个选项通常是必选的。

-k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。

-m 在还原文件时,把所有文件的修改时间设定为现在。

-M 创建多卷的档案文件,以便在几个磁盘中存放。

-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

-w 每一步都要求确认。

-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,还原时也一定要使用该选项进行解压缩。

40.unzip

(1)作用

unzip命令位于/usr/bin目录中,和MS DOS下的pkzip、pkunzip及MS Windows中的winzip软件功能一样,将文件压缩成.zip文件,以节省硬盘空间,当需要的时候再将压缩文件用unzip命令解开。该命令使用权限是所有用户。

(2)格式

  unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip 文件][文件][-d <目录>][-x <
文件>]

(3)主要参数

-c:将解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f:更新现有的文件。

-l:显示压缩文件内所包含的文件。

-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t:检查压缩文件是否正确。

-u:与-f参数类似,但除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v:执行时显示详细的信息。

-z:仅显示压缩文件的备注文字。

-a:对文本文件进行必要的字符转换。

-b:不对文本文件进行字符转换。

-C:压缩文件中的文件名称区分大小写。

-j:不处理压缩文件中原有的目录路径。

-L:将压缩文件中的全部文件名改为小写。

-M:将输出结果送到more程序处理。

-n:解压缩时不覆盖原有的文件。

-o:不询问用户,unzip命令执行后覆盖原有文件。

-P<密码>:使用zip的密码选项。

-q:执行时不显示任何信息。

-s:将文件名中的空白字符转换为底线字符。

-V:保留VMS的文件版本信息。

-X:解压缩的同时回存文件原来的UID/GID。

[.zip文件]:指定.zip压缩文件。

[文件]:指定要处理.zip压缩文件中的哪些文件。

-d<目录>:指定文件解压缩后所要存储的目录。

-x<文件>:指定不要处理.zip压缩文件中的哪些文件。

-Z unzip:-Z等于执行zipinfo指令。在Linux中,还提供了一个叫zipinfo的工具,能够察看zip压缩文件的详细信息。

41.gunzip

(1)作用

gunzip命令的作用是解压文件,使用权限是所有用户。

(2)格式

  gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][文件...]或者gunzip 
  [-acfhlLnNqrtvV][-s <压缩字尾字符串>][目录]

(3)主要参数

-a或--ascii:使用ASCII文字模式。

-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。

-f或-force:强行解开压缩文件,不管文件名称或硬连接是否存在,以及该文件是否为符号连接。

-h或--help:在线帮助。

-l或--list:列出压缩文件的相关信息。

-L或--license:显示版本与版权信息。

-n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理。

-N或--name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。

-q或--quiet:不显示警告信息。

-r或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。

-S<压缩字尾字符串>或--suffix<压缩字尾字符串>:更改压缩字尾字符串。

-t或--test:测试压缩文件是否正确无误。

-v或--verbose:显示指令执行过程。

-V或--version:显示版本信息。

(4)使用说明

gunzip是个使用广泛的解压缩程序,它用于解开用gzip命令压缩生成的文件,这些压缩文件最后的扩展名为“.gz”。gunzip命令是gzip命令的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。