对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心.熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令.
一、系统 管理命令
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%时系统管理员还可以正常工作. 5.应用实例 Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等.使用df -T命令查看磁盘空间时还可以得到文件系统的信息:
#df -T 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% / /dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C /dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D /dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E /dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F /dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G
从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗.
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.
4.说明 top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息.这里我们结合图1来说明它给出的信息.
图1 top命令的显示
在图1中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载.第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程.第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例.第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存.第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小.第六行显示的项目最多,下面列出了详细解释. PID(Process ID):进程标示号. 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命令监视指定用户
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秒更新一次.
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.一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额.
at
1.作用 at命令用来在指定时刻执行指定的命令序列.
2.格式 at [-V] [-q x] [-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中指明的作业.
lp
1.作用 lp是打印文件的命令,使用权限是所有用户.
2.格式 lp [-c][-d][-m][-number][-title][-p]
3.主要参数 -c:先拷贝文件再打印. -d:打印队列文件. -m:打印结束后发送电子邮件到用户. -number:打印份数. -title:打印标题. -p:设定打印的优先级别,最高为100.
4.应用实例 (1)使用lp命令打印多个文件 #lp 2 3 4 request id is 11 (3 file(s))
其中2、3、4分别是文件名;“request id is 11 (3 file(s)) ”表示这是第11个打印命令,依次打印这三个文件.
(2)设定打印优先级别 #lp lp -d LaserJet -p 90 /etc/aliases
通过添加“-p 90”,规定了打印作业的优先级为90.它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50.
useradd
1.作用 useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户.
2.格式 pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整; pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件; finger 注:查看用户信息工具 id 注:查看用户的UID、GID及所归属的用户组 chfn 注:更改用户信息工具 su 注:用户切换工具 sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现; visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的; sudoedit 注:和sudo 功能差不多; 3、管理用户组(group)的工具或命令; groupadd 注:添加用户组; groupdel 注:删除用户组; groupmod 注:修改用户组信息 groups 注:显示用户所属的用户组 grpck grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建; grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件.