新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Linux系统命令指南

Linux系统命令指南

作者:时间:2011-05-27来源:网络收藏
可以使用 -a 选项更改输出,该选项指示 du 显示文件和目录的块数。选项 block-size=SIZE 指示 du 以 SIZE 所指定字节大小的块的数目来显示输出。

本文引用地址:http://www.eepw.com.cn/article/150703.htm

  $ du block-size=512 Documents

  209 Documents/jj

  1146 Documents/John

  1363 Documents

  在默认情况下,du 还为每个子目录递归地打印信息。通过使用 max-depth=N 选项可以限制这种操作,其中 N 等于被报告的最大级数:

  $ du max-depth=2 .

  $ du max-depth=2 | sort -n

  4 ./.xemacs

  4 ./public_html

  105 ./Documents/jj

  573 ./Documents/Ian

  682 ./Documents

  2420 ./jdevhome/system

  8350 ./jdevhome/system9.0.3.1035

  13483 ./jdevhome/mywork

  24252 ./jdevhome

  ...

  du 报告目录和子目录的空间使用情况,而 df 报告已安装文件的磁盘空间使用情况:

  $ df

  Filesystem 1k-blocks Used Available Use% Mounted on

  /dev/hda6 4195632 1983656 2211976 48% /

  /dev/hda5 14607 3778 10075 28% /boot

  /dev/hda9 937372 494028 443344 53% /home

  /dev/hda8 6297248 3876880 2420368 62% /opt

  shmfs 256220 0 256220 0% /dev/shm

  在这里,df 报告了五个文件的状态。与 du 类似,df 利用 -h 选项提供人类可读的输出:

  $ df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/hda6 4.0G 1.9G 2.1G 48% /

  /dev/hda5 14M 3.7M 9.8M 28% /boot

  /dev/hda9 915M 476M 440M 52% /home

  /dev/hda8 6.0G 3.7G 2.3G 62% /opt

  shmfs 250M 0 250M 0% /dev/shm

  df 还允许您利用 -block-size=SIZE 选项来指定块的大小。

  fdisk 的分区表操作。与 du 和 df 不同,没有 root 用户权限时不能运行该命令。如果指定了 -l 选项,则可以将它仅用于报告的目的。它提供了您的整个分区表的完整视图,而不仅仅是您使用 df 所看到的扩展 分区:

  # fdisk -l

  Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders

  Units = cylinders of 15120 * 512 bytes

  Device Boot Start End Blocks Id System

  /dev/hda1 1 286 2162128+ c Win95 FAT32 (LBA)

  /dev/hda2 * 288 1940 12496680 5 Extended

  /dev/hda5 288 289 15088+ 83

  /dev/hda6 290 844 4195768+ 83 Linux

  /dev/hda7 845 983 1050808+ 82 Linux swap

  /dev/hda8 984 1816 6297448+ 83 Linux

  /dev/hda9 1817 1940 937408+ 83 Linux

  进程监视

  在繁忙的多用户中,进程监视也是 Linux 系统管理员的一项重要职责。在这方面,ps 和 top 是两个最有用的命令。

  ps 命令提供了当前运行进程的快照。

  生动翔实的一课

  以下是 ps 的最简单形式:

  $ ps

  PID TTY TIME CMD

  3884 pts/1 00:00:00 bash

  3955 pts/2 00:00:00 more

  3956 pts/5 00:00:05 sqlplus

  PID 是进程的标识号。

  TTY 是进程所属的终端控制台。

  TIME 列是进程所使用的总的 CPU 时间。

  CMD 列列出正在执行的命令行。

  使用带有 -ef 选项的 ps,返回系统中所有用户的所有进程的完整列表。如果您将此 ps 命令的结果传送到 grep 中,则该结果更易于查看。例如:

  $ ps -ef | grep oracle

  UID PID PPID C STIME TTY TIME CMD

  oracle 1633 1 0 13:58 ?00:00:00 ora_pmon_ora1

  oracle 1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1

  oracle 1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1

  oracle 1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1

  oracle 1641 1 0 13:58 ?00:00:02 ora_smon_ora1

  oracle 1643 1 0 13:58 ?00:00:00 ora_reco_ora1

  oracle 1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1

  oracle 1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1

  oracle 1649 1 0 13:58 ?00:00:00 ora_s000_ora1

  oracle 1651 1 0 13:58 ?00:00:00 ora_d000_ora1

  注意,当您将 ps 的输出传送到 grep 命令时,列标题并不象在 ps 命令本身所使用时那样正常地显示。为便于说明,标题位于输出的上方,以便清楚地显示其联系。

  虽然 uid 通常是指数字型的标识,但在第一列下指定的是用户名,标记为 UID。

  PPID 是父进程的标识号。对于 Oracle 进程,这里的标识号为 1 — 它是 init 进程(所有进程的父进程)的 id,因为在本系统中安装的 Oracle 是作为登录进程的一部分而启动的。

  标为 C 的列是由 CPU 用于计算执行优先级的因子。

  STIME 是指进程的启动时间。

  问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。

  以下是 ps 命令带有某些不同选项的另一个示例。注意,其中很多列与执行带有 -ef 选项的 ps 时的列相同:

  $ ps aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  bluh 4024 0.0 0.2 2240 1116 pts/1 S 20:59 0:00 su bluher

  bluh 4025 0.0 0.3 2856 1668 pts/1 S 20:59 0:00 bash

  bluh 4051 0.0 0.2 2488 1504 pts/1 R 21:01 0:00 ps aux

  bluh 4052 0.0 0.1 1636 600 pts/1 S 21:01 0:00 grep bluher

  除了提供重要的诊断信息,ps 命令还经常用于找出失控进程的 PID。例如,您的一个用户在 SQL*Plus 会话中输入一个笛卡尔联接。您可以执行以下的 ps 命令来找出其 PID:

  $ ps -ef | grep bluher

  ...

  bluher 4068 4064 0 21:14 pts/6 00:00:00 less

  bluher 4112 3945 0 21:28 pts/5 00:08:42 sqlplus

  ...

  然后您可以使用以下命令将其终止:

  $ kill 4112

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


关键词: 指南 命令 系统 Linux

评论


相关推荐

技术专区

关闭