手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>操作系统>Linux>列表

Linux系统文件命令精通指南(下)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

/dev/hda8 6.0G 3.7G 2.3G 62% /opt
shmfs 250M 0 250M 0% /dev/shm

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

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

# 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 Linux
/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

  常规用户可以看到所有的系统进程,但他们只能终止他们自己拥有的进程。

  Ps 只为您提供当前进程的快照。要即时查看最活跃的进程,可使用 top。Top 实时地提供进程信息。它还拥有交互式的状态,允许用户输入命令,如 n 后面跟有 5 或 10 等数字。其结果是指示 top 显示 5 或 10 个最活跃的进程。Top 持续运行,直到您按 "q" 退出 top 为止。

以下是 top 的部分显示: 8:14pm up 51 min, 7 users, load average: 0.02, 0.03, 0.05
96 processes:87 sleeping, 2 running, 0 zombie, 7 stopped
CPU states:6.4% user, 3.5% system, 0.0% nice, 89.9% idle
Mem:512440K av, 392288K used, 120152K free, 0K shrd, 55668K buff
Swap:1050800K av, 0K used, 1050800K free 236128K cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
1289 root 18 0 78008 11M 1796 R 3.7 2.2 0:49 X
1965 bluher 20 0 12244 11M 10456 S 1.9 2.3 0:01 kdeinit
1986 bluher 18 0 996 996 768 R 1.5 0.1 0:00 top
1803 bluher 20 0 16960 16M 13508 S 0.9 3.3 0:03 kdeinit
1804 bluher 20 0 16964 16M 13508 S 0.9 3.3 0:03 kdeinit
1800 bluher 19 0 12260 11M 10076 S 0.1 2.3 0:04 kdeinit
1 root 20 0 220 220 188 S 0.0 0.0 0:04 init

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!