Linux下查看文件和文件夹大小的df和du命令
From:? http://www.yayu.org/look.php?id=162
??? 當磁盤大小超過標準時會有報警提示,這時如果掌握df和du命令是非常明智的選擇。
??? df可以查看一級文件夾大小、使用比例、檔案系統及其掛入點,但對文件卻無能為力。
??? du可以查看文件及文件夾的大小。
??? 兩者配合使用,非常有效。比如用df查看哪個一級目錄過大,然后用df查看文件夾或文件的大小,如此便可迅速確定癥結。
??? 下面分別簡要介紹
??? df命令可以顯示目前所有文件系統的可用空間及使用情形,請看下列這個例子:
| 以下是代碼片段: [yayug@yayu ~]$ df -h |
??? 參數 -h 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式。
??? 上面的命令輸出的第一個字段(Filesystem)及最后一個字段(Mounted on)分別是檔案系統及其掛入點。我們可以看到 /dev/sda1 這個分割區被掛在根目錄下。
??? 接下來的四個字段 Size、Used、Avail、及 Use% 分別是該分割區的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,當硬盤容量已滿時,您可能會看到已使用的百分比超過 100%,因為 FreeBSD 會留一些空間給 root,讓 root 在檔案系統滿時,還是可以寫東西到該檔案系統中,以進行管理。
??? du:查詢文件或文件夾的磁盤使用空間
??? 如果當前目錄下文件和文件夾很多,使用不帶參數du的命令,可以循環列出所有文件和文件夾所使用的空間。這對查看究竟是那個地方過大是不利的,所以得指定深入目錄的層數,參數:--max-depth=,這是個極為有用的參數!如下,注意使用“*”,可以得到文件的使用空間大小.
??? 提醒:一向命令比linux復雜的FreeBSD,它的du命令指定深入目錄的層數卻是比linux簡化,為 -d。
| 以下是代碼片段: [root@bsso yayu]# du -h --max-depth=1 work/testing [root@bsso yayu]# du -h --max-depth=1 work/testing/* [root@bsso yayu]# du -h --max-depth=1 work/testing/logs/ [root@bsso yayu]# du -h --max-depth=1 work/testing/logs/* |
??? 值得注意的是,看見一個針對du和df命令異同的文章:《du df 差異導致文件系統誤報解決》。
??? du 統計文件大小相加
??? df? 統計數據塊使用情況
??? 如果有一個進程在打開一個大文件的時候,這個大文件直接被rm 或者mv掉,則du會更新統計數值,df不會更新統計數值,還是認為空間沒有釋放。直到這個打開大文件的進程被Kill掉。
??? 如此一來在定期刪除 /var/spool/clientmqueue下面的文件時,如果沒有殺掉其進程,那么空間一直沒有釋放。
??? 使用下面的命令殺掉進程之后,系統恢復。
??? fuser -u /var/spool/clientmqueue
總結
以上是生活随笔為你收集整理的Linux下查看文件和文件夹大小的df和du命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高能力成熟度软件企业中软件质量工程师的职
- 下一篇: 三星智能家居系统频繁故障 大批用户受到影