华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
  當前位置:操作系統(tǒng) > Unix > 文章內(nèi)容
  

Unix系統(tǒng):UNIX系統(tǒng)下監(jiān)視磁盤空間和使用情況

 [ 2017年9月5日 ] 【

  使用 du

  du 命令并不是顯示磁盤的空閑空間,而是顯示磁盤使用情況的信息。du 工具用于確定文件和目錄的磁盤使用情況。要使用這個工具,改變到一個目錄,然后運行該工具(請參見清單 6)。

  清單 6. du 命令

$ cd /var
$ du
16 ./lost+found
4 ./sadm/install/admin
22 ./sadm/install/logs
28448 ./sadm/install
4 ./sadm/pkg/SUNWocfd/install
4 ./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd/install
16 ./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd
18 ./sadm/pkg/SUNWocfd/save/pspool
20 ./sadm/pkg/SUNWocfd/save
28 ./sadm/pkg/SUNWocfd
4 ./sadm/pkg/SUNWcsu/inst
...

  上面的清單 6 中顯示的輸出,經(jīng)過了適當?shù)恼{(diào)整。缺省情況下,du 將顯示當前或指定的目錄下每個文件和目錄的文件使用情況。得到的值是文件的大小,單位為該系統(tǒng)中的缺省塊大小,與 df 所使用的單位相同?赡苁且部赡懿皇 1K,而使用 -k 命令行選項,您可以強制以 1K 塊為單位進行顯示。

  您可能需要根據(jù)所查看的頂級文件或目錄對信息進行摘要。使用 -s 選項以打開摘要視圖。下面是 Solaris 安裝中的一個摘要版本在 /var 目錄中的顯示:

$ du -sk  
70818 .

  請注意,它顯示了當前目錄 (.) 的摘要信息。要獲得所有文件和目錄的摘要信息,可以使用 * 通配符(請參見清單 7)。

  清單 7. 使用 * 通配符獲得摘要信息

$ du -sk *
382 adm
950 apache
683 apache2
6837 appserver
1 audit
162 cache
3 cc-ccr
2 crash
4 cron
31 dmi
22 dt
6 fm
2 imq
1 inet
3 krb5
4 ld
1 ldap
937 lib
6 log
8 lost+found
2 lp
2 mail
1 mysql
1 news
3 nfs
38 nis
2 ntp
10034 opt
1 preserve
96 run
49687 sadm
15 saf
3 samba
2 sma_snmp
131 snmp
39 spool
4 statmon
663 svc
14 tmp
10 uucp
24 yp

  使用該工具時,特別是在用戶目錄中使用該工具時,請?zhí)貏e小心,因為所顯示的信息中不包含隱藏 文件,換句話說,具有單點號前綴的那些文件和目錄。您可能希望使用下面的代碼行,在用戶目錄中獲得所有的摘要信息:

$ du -sk * .[a-zA-Z0-9]*

  du 命令的最后一個非常有用的選項是 -d,該選項可以防止 du 命令超過文件系統(tǒng)邊界。例如,要確定根文件系統(tǒng)而不是任何其他的文件系統(tǒng)的磁盤使用情況,您可以使用 -d 選項:

$ du -dsk /

  有些系統(tǒng)沒有這個選項,但是有 -x 命令行選項,該選項僅包含與您所指定的路徑相同的設(shè)備或文件系統(tǒng)中的文件使用情況。

  查找一個特定用戶的磁盤使用情況

  要查找某個用戶所使用的磁盤空間,在使用 find 命令的同時,您需要結(jié)合使用 du 命令以僅報告特定用戶的磁盤使用情況。

$ find . -user mc -type f -exec du -k {} \;

  -user 選項允許您指定 find 將僅報告屬于特定用戶的文件。-type 選項強制 find 僅返回特定類型(在本示例中是文件)項目的路徑,這樣可以防止 du 包含目錄,因為這些目錄可能屬于某個用戶,但其中卻包含了許多用戶的文件。然后,對于查找到的每個路徑,執(zhí)行 du 命令以報告磁盤使用情況。

  要獲得摘要信息,換句話說,即某個特定用戶所使用的總空間,您可以使用 awk 對該信息進行總計,并打印出最后的值:

$ find . -user mc -type f -exec du -k {} \;|awk '{ s = 
s+$1 } END { print "Total used: ",s }'
Total used: 123721

  對于組,您可以根據(jù)相同的原則對 find 使用 -group 選項:

$ find . -group mcslp -type f -exec du -k {} \;|awk '{ s = s+$1 } END { print
"Total used: ",s }'
Total used: 542485

  然而,如果啟用了磁盤配額,那么就有一種更簡單的方法。

本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
汶川县| 岐山县| 永新县| 金溪县| 南丰县| 德化县| 家居| 墨脱县| 皋兰县| 冷水江市| 南丰县| 屏东县| 汪清县| 沈阳市| 仁化县| 高雄市| 金乡县| 淳化县| 宣化县| 南安市| 凭祥市| 宁晋县| 金门县| 镇江市| 启东市| 济阳县| 云浮市| 肇庆市| 周宁县| 林西县| 康保县| 扶余县| 互助| 义马市| 张家港市| 高碑店市| 固原市| 商丘市| 澄城县| 敦化市| 清流县|