对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。df1.作用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%时系统管理员还可以正常工作。5.应用实例Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df-T命令查看磁盘空间时还可以得到文件系统的信息:#df-T文件系统类型容量已用可用已用%挂载点/dev/hda7reiserfs5.2G1.6G3.7G30%//dev/hda1vfat2.4G1.6G827M66%/windows/C/dev/hda5vfat3.0G1.7G1.3G57%/windows/D/dev/hda9vfat3.0G2.4G566M82%/windows/E/dev/hda10NTFS3.2G573M2.6G18%/windows/F/dev/hda11vfat1.6G1.5G23M99%/windows/G从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗。top1.作用top命令用来显示执行中的程序进程,使用权限是所有用户。2.格式top[-][ddelay][q][c][S][s][i][n]3.主要参数d:指定更新的间隔,以秒计算。q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。c:显示进程完整的路径与名称。S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。s:安全模式。i:不显示任何闲置(Idle)或无用(Zombie)的行程。n:显示更新的次数,完成后将会退出top。4.说明top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。图1top命令的显示在图1中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。PID(ProcessID):进程标示号。USER:进程所有者的用户名。PR:进程的优先级别。NI:进程的优先级别数值。VIRT:进程占用的虚拟内存值。RES:进程占用的物理内存值。SHR:进程使用的共享内存值。S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。%CPU:该进程占用的CPU使用率。%MEM:该进程占用的物理内存和总内存的百分比。TIME+:该进程启动后占用的总的CPU时间。Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。空格:立刻刷新。P:根据CPU使用大小进行排序。T:根据时间、累计时间排序。q:退出top命令。m:切换显示内存信息。t:切换显示进程和CPU状态信息。c:切换显示命令名称和完整命令行。M:根据使用内存大小进行排序。W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。5.应用实例使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。图2使用top命令监视指定用户free1.作用free命令用来显示内存的使用情况,使用权限是所有用户。2.格式free[-b|-k|-m][-o][-sdelay][-t][-V]3.主要参数-b-k-m:分别以字节(KB、MB)为单位显示内存使用情况。-sdelay:显示每隔多少秒数来显示一次内存使用情况。-t:显示内存总和列。-o:不显示缓冲区调节列。4.应用实例free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。#free-b-s5使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。quota1.作用quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户。2.格式quota[-g][-u][-v][-p]用户名组名3.参数-g:显示用户所在组的磁盘使用限制。-u:显示用户的磁盘使用限制。-v:显示没有分配空间的文件系统的分配情况。-p:显示简化信息。4.应用实例在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况。要查询自己的磁盘配额可以使用下面命令(下例中用户账号是caojh):#quotacaojhDiskquotasforusercaojh(uid502):Filesystemblocksquotalimitgracefilesquotalimitgrace/dev/hda358200000400000415001000以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB。一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额。at1.作用at命令用来在指定时刻执行指定的命令序列。2.格式at[-V][-qx][-ffile][-m]time3.主要参数-V:显示标准错误输出。-q:许多队列输出。-f:从文件中读取作业。-m:执行完作业后发送电子邮件到用户。time:设定作业执行的时间。time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为时间+偏移量,单位是minutes、hours和days。4.应用实例#at-fdata15:30+2days上面命令表示让系统在两天后的17:30执行文件data中指明的作业。lp1.作用lp是打印文件的命令,使用权限是所有用户。2.格式lp[-c][-d][-m][-number][-title][-p]3.主要参数-c:先拷贝文件再打印。-d:打印队列文件。-m:打印结束后发送电子邮件到用户。-number:打印份数。-title:打印标题。-p:设定打印的优先级别,最高为100。4.应用实例(1)使用lp命令打印多个文件#lp234requestidis11(3file(s))其中2、3、4分别是文件名;“requestidis11(3file(s))”表示这是第11个打印命令,依次打印这三个文件。(2)设定打印优先级别#lplp-dLaserJet-p90/etc/aliases通过添加“-p90”,规定了打印作业的优先级为90。它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50。useradd1.作用useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。2.格式useradd[-dhome][-sshell][-ccomment][-m[-ktemplate]][-finactive][-eexpire][-ppasswd][-r]name3.主要参数-c:加上备注文字,备注文字保存在passwd的备注栏中。-d:指定用户登入时的启始目录。-D:变更预设值。-e:指定账号的有效期限,缺省表示永久有效。-f:指定在密码过期后多少天即关闭该账号。-g:指定用户所属的群组。-G:指定用户所属的附加群组。-m:自动建立用户的登入目录。-M:不要自动建立用户的登入目录。-n:取消建立以用户名称为名的群组。-r:建立系统账号。-s:指定用户登入后所使用的shell。-u:指定用户ID号。4.说明useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。5.应用实例建立一个新用户账户,并设置ID:#useraddcaojh-u544需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。groupadd1.作用groupadd命令用于将新组加入系统。2.格式groupadd[-ggid][-o]][-r][-f]groupname3.主要参数-ggid:指定组ID号。-o:允许组ID号,不必惟一。-r:加入组ID号,低于499系统账号。-f:加入已经有的组时,发展程序退出。4.应用实例建立一个新组,并设置组ID加入系统:#groupadd-g344cjh此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。kill1.作用kill命令用来中止一个进程。2.格式kill[-ssignal|-p][-a]pid...kill-l[signal]3.参数-s:指定发送的信号。-p:模拟发送信号。-l:指定信号的名称列表。pid:要中止进程的ID号。Signal:表示信号。4.说明进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的Apache服务器的监控进程。kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾