system.html

来自「BASH Shell 编程 经典教程 《高级SHELL脚本编程》中文版」· HTML 代码 · 共 4,056 行 · 第 1/5 页

HTML
4,056
字号
<SAMPCLASS="COMPUTEROUTPUT">1880</SAMP></PRE></FONT></TD></TR></TABLE></DD><DT><ANAME="PROCINFOREF"></A><BCLASS="COMMAND">procinfo</B></DT><DD><P>从<AHREF="devproc.html#DEVPROCREF"><TTCLASS="FILENAME">/proc</TT>	  pseudo-filesystem</A>中提取并显示所有信息和统计资料. 	  这个命令将给出更详细的信息. 	      </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">procinfo | grep Bootup</KBD><SAMPCLASS="COMPUTEROUTPUT">Bootup: Wed Mar 21 15:15:50 2001    Load average: 0.04 0.21 0.34 3/47 6829</SAMP></PRE></FONT></TD></TR></TABLE></DD><DT><ANAME="LSDEVREF"></A><BCLASS="COMMAND">lsdev</B></DT><DD><P>列出系统设备, 也就是显示所有安装的硬件. </P><P>	      <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">lsdev</KBD><SAMPCLASS="COMPUTEROUTPUT">Device            DMA   IRQ  I/O Ports ------------------------------------------------ cascade             4     2  dma                          0080-008f dma1                         0000-001f dma2                         00c0-00df fpu                          00f0-00ff ide0                     14  01f0-01f7 03f6-03f6 ...</SAMP>	      </PRE></FONT></TD></TR></TABLE>	      </P></DD><DT><ANAME="DUREF"></A><BCLASS="COMMAND">du</B></DT><DD><P>递归的显示(磁盘)文件的使用状况. 除非特殊指定, 否则默认是当前工作目录. 	      </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><BCLASS="COMMAND">du -ach</B><SAMPCLASS="COMPUTEROUTPUT">1.0k    ./wi.sh 1.0k    ./tst.sh 1.0k    ./random.file 6.0k    . 6.0k    total</SAMP></PRE></FONT></TD></TR></TABLE></DD><DT><ANAME="DFREF"></A><BCLASS="COMMAND">df</B></DT><DD><P>使用列表的形式显示文件系统的使用状况. </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><BCLASS="COMMAND">df</B><SAMPCLASS="COMPUTEROUTPUT">Filesystem           1k-blocks      Used Available Use% Mounted on /dev/hda5               273262     92607    166547  36% / /dev/hda8               222525    123951     87085  59% /home /dev/hda7              1408796   1075744    261488  80% /usr</SAMP></PRE></FONT></TD></TR></TABLE></DD><DT><BCLASS="COMMAND">dmesg</B></DT><DD><P>将所有的系统启动消息输出到<TTCLASS="FILENAME">stdout</TT>上. 			  方便除错, 并且可以查出安装了哪些设备驱动和察看使用了哪些系统中断. 	      <BCLASS="COMMAND">dmesg</B>命令的输出当然也放在脚本中, 并使用<AHREF="textproc.html#GREPREF">grep</A>, 	      <AHREF="sedawk.html#SEDREF">sed</A>, 或<AHREF="awk.html#AWKREF">awk</A>来进行分析. </P><P>	      <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">dmesg | grep hda</KBD><SAMPCLASS="COMPUTEROUTPUT">Kernel command line: ro root=/dev/hda2 hda: IBM-DLGA-23080, ATA DISK drive hda: 6015744 sectors (3080 MB) w/96KiB Cache, CHS=746/128/63 hda: hda1 hda2 hda3 &#60; hda5 hda6 hda7 &#62; hda4</SAMP>	      </PRE></FONT></TD></TR></TABLE>	    </P></DD><DT><BCLASS="COMMAND">stat</B></DT><DD><P>显示一个或多个给定文件(也可以是目录文件或设备文件)的详细统计信息(<EM>stat</EM>istic).  	      </P><P>	      <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">stat test.cru</KBD><SAMPCLASS="COMPUTEROUTPUT">  File: "test.cru"   Size: 49970        Allocated Blocks: 100          Filetype: Regular File   Mode: (0664/-rw-rw-r--)         Uid: (  501/ bozo)  Gid: (  501/ bozo) Device:  3,8   Inode: 18185     Links: 1     Access: Sat Jun  2 16:40:24 2001 Modify: Sat Jun  2 16:40:24 2001 Change: Sat Jun  2 16:40:24 2001</SAMP>	      </PRE></FONT></TD></TR></TABLE>	    </P><P>如果目标文件不存在, 			<BCLASS="COMMAND">stat</B>将会返回一个错误消息. </P><P>	      <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">stat nonexistent-file</KBD><SAMPCLASS="COMPUTEROUTPUT">nonexistent-file: No such file or directory</SAMP>	      </PRE></FONT></TD></TR></TABLE>	    </P></DD><DT><ANAME="VMSTATREF"></A><BCLASS="COMMAND">vmstat</B></DT><DD><P>显示虚拟内存的统计信息. </P><P>	    <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">vmstat</KBD><SAMPCLASS="COMPUTEROUTPUT">   procs                      memory    swap          io system         cpu r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy id 0  0  0      0  11040   2636  38952   0   0    33     7  271    88   8   3 89</SAMP>	    </PRE></FONT></TD></TR></TABLE>	    </P></DD><DT><BCLASS="COMMAND">netstat</B></DT><DD><P>显示当前网络的统计状况和信息, 			  比如路由表和激活的连接, 			  这个工具将访问<TTCLASS="FILENAME">/proc/net</TT>(<AHREF="devproc.html"> 27</A>)中的信息. 				  请参考<AHREF="procref1.html#CONSTAT">例子 27-3</A>. </P><P><BCLASS="COMMAND">netstat -r</B>等价于<AHREF="system.html#ROUTEREF">route</A>命令. </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">netstat</KBD><SAMPCLASS="COMPUTEROUTPUT">Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State       Active UNIX domain sockets (w/o servers) Proto RefCnt Flags       Type       State         I-Node Path unix  11     [ ]         DGRAM                    906    /dev/log unix  3      [ ]         STREAM     CONNECTED     4514   /tmp/.X11-unix/X0 unix  3      [ ]         STREAM     CONNECTED     4513 . . .</SAMP></PRE></FONT></TD></TR></TABLE></DD><DT><ANAME="UPTIMEREF"></A><BCLASS="COMMAND">uptime</B></DT><DD><P>显示系统运行的时间, 			  还有其他的一些统计信息. 	      </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">uptime</KBD><SAMPCLASS="COMPUTEROUTPUT">10:28pm  up  1:57,  3 users,  load average: 0.17, 0.34, 0.27</SAMP></PRE></FONT></TD></TR></TABLE><DIVCLASS="NOTE"><P></P><TABLECLASS="NOTE"WIDTH="90%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./images/note.gif"HSPACE="5"ALT="Note"></TD><TDALIGN="LEFT"VALIGN="TOP"><P><ICLASS="FIRSTTERM">load average</I>如果小于或等于1, 					那么就意味着系统会马上处理. 					如果大于1, 那么就意味着进程需要排队. 					如果大于3, 那么就意味着, 系统性能已经显著下降了.	      </P></TD></TR></TABLE></DIV></DD><DT><ANAME="HNAMEREF"></A><BCLASS="COMMAND">hostname</B></DT><DD><P>显示系统的主机名字. 			  这个命令在<TTCLASS="FILENAME">/etc/rc.d</TT>安装脚本(或类似的<TTCLASS="FILENAME">/etc/rc.d/rc.sysinit</TT>)中设置主机名. 			  等价于<BCLASS="COMMAND">uname -n</B>, 			  并且与<AHREF="internalvariables.html#HOSTNAMEREF">$HOSTNAME</A>内部变量很相像. </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">hostname</KBD><SAMPCLASS="COMPUTEROUTPUT">localhost.localdomain</SAMP><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">echo $HOSTNAME</KBD><SAMPCLASS="COMPUTEROUTPUT">localhost.localdomain</SAMP></PRE></FONT></TD></TR></TABLE><P>与<BCLASS="COMMAND">hostname</B>命令很相像的命令还有<BCLASS="COMMAND">domainname</B>, 	      <BCLASS="COMMAND">dnsdomainname</B>, 	      <BCLASS="COMMAND">nisdomainname</B>, 		  和<BCLASS="COMMAND">ypdomainname</B>命令. 		  使用这些命令来显示(或设置)系统DNS或NIS/YP域名. 		  对于<BCLASS="COMMAND">hostname</B>命令来说, 		  使用不同的选项就可以分别达到上边这些命令的目的. </P></DD><DT><ANAME="HOSTIDREF"></A><BCLASS="COMMAND">hostid</B></DT><DD><P>用16进制表示法来显示主机的32位ID. </P><P>	      <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">hostid</KBD><SAMPCLASS="COMPUTEROUTPUT">7f0100</SAMP></PRE></FONT></TD></TR></TABLE>	    </P><DIVCLASS="NOTE"><P></P><TABLECLASS="NOTE"WIDTH="90%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./images/note.gif"HSPACE="5"ALT="Note"></TD><TDALIGN="LEFT"VALIGN="TOP"><P>这个命令据说对于特定系统可以获得一个<SPANCLASS="QUOTE">"唯一"</SPAN>的序号. 	      某些产品的注册过程可能会需要这个序号来作为用户的许可证. 	      不幸的是, <BCLASS="COMMAND">hostid</B>只会使用字节对转换的方法来返回机器的网络地址, 网络地址用16进制表示. 	      </P><P>对于一个典型的没有网络的Linux机器来说, 			  它的网络地址保存在<TTCLASS="FILENAME">/etc/hosts</TT>中. </P><P>	      <TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">cat /etc/hosts</KBD><SAMPCLASS="COMPUTEROUTPUT">127.0.0.1               localhost.localdomain localhost</SAMP></PRE></FONT></TD></TR></TABLE>	    </P><P>碰巧, 通过对<KBDCLASS="USERINPUT">127.0.0.1</KBD>进行字节转换, 			我们获得了<KBDCLASS="USERINPUT">0.127.1.0</KBD>, 			用16进制表示就是<KBDCLASS="USERINPUT">007f0100</KBD>, 			这就是上边<BCLASS="COMMAND">hostid</B>命令返回的结果. 			这样几乎所有的无网络的Linux机器都会得到这个<EM>hostid</EM>. </P></TD></TR></TABLE></DIV></DD><DT><BCLASS="COMMAND">sar</B></DT><DD><P><BCLASS="COMMAND">sar</B>(System Activity Reporter系统活动报告)命令将会给出系统统计的一个非常详细的概要. 	      Santa Cruz Operation(<SPANCLASS="QUOTE">"以前的"</SPAN>SCO)公司在1999年4月份以开源软件的形式发布了<BCLASS="COMMAND">sar</B>. </P><P>这个命令并不是基本Linux发行版的一部分, 		  但是你可以从<AHREF="http://perso.wanadoo.fr/sebastien.godard/"TARGET="_top">sysstat 			  utilities</A>所编写的<AHREF="mailto:sebastien.godard@wanadoo.fr"TARGET="_top">Sebastien	      Godard</A>包中获得这个工具. </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD><FONTCOLOR="#000000"><PRECLASS="SCREEN"><SAMPCLASS="PROMPT">bash$ </SAMP><KBDCLASS="USERINPUT">sar</KBD><SAMPCLASS="COMPUTEROUTPUT">Linux 2.4.9 (brooks.seringas.fr) 	09/26/0310:30:00          CPU     %user     %nice   %system   %iowait     %idle10:40:00          all      2.21     10.90     65.48      0.00     21.4110:50:00          all      3.36      0.00     72.36      0.00     24.2811:00:00          all      1.12      0.00     80.77      0.00     18.11Average:          all      2.23      3.63     72.87      0.00     21.2714:32:30          LINUX RESTART15:00:00          CPU     %user     %nice   %system   %iowait     %idle15:10:00          all      8.59      2.40     17.47      0.00     71.5415:20:00          all      4.07      1.00     11.95      0.00     82.9815:30:00          all      0.79      2.94      7.56      0.00     88.71Average:          all      6.33      1.70     14.71      0.00     77.26</SAMP>           </PRE></FONT></TD></TR></TABLE></DD><DT><BCLASS="COMMAND">readelf</B></DT><DD><P>这个命令会显示<EM>elf</EM>格式的二进制文件的统计信息. 这个工具是<EM>binutils</EM>工具包的一部分. </P><TABLEBORDER="1"BGCOLOR="#E0E0E0"WIDTH="90%"><TR><TD

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?