# 如何使用du命令查看文件大小
## 目錄
1. [du命令簡介](#du命令簡介)
2. [基本語法格式](#基本語法格式)
3. [常用參數詳解](#常用參數詳解)
4. [實用示例演示](#實用示例演示)
5. [高級應用技巧](#高級應用技巧)
6. [常見問題解答](#常見問題解答)
7. [與其他命令對比](#與其他命令對比)
8. [總結](#總結)
## du命令簡介
`du`(Disk Usage)是Linux/Unix系統中用于估算文件和目錄磁盤使用情況的經典命令。作為系統管理員和開發人員的必備工具,它可以快速顯示指定目錄或文件的磁盤占用情況,幫助我們進行存儲空間分析和清理工作。
與`df`命令顯示文件系統整體使用情況不同,`du`專注于具體文件和目錄的詳細占用統計。該命令會遞歸遍歷目錄結構,計算每個子目錄和文件的大小,默認以字節為單位輸出結果。
## 基本語法格式
du命令的基本語法結構如下:
```bash
du [選項] [文件或目錄...]
當不指定任何參數時,du會顯示當前目錄及其所有子目錄的磁盤使用情況:
du
典型輸出示例:
12 ./Documents/reports
24 ./Documents
8 ./Downloads
48 .
-h
(human-readable):自動轉換單位為KB/MB/GB
du -h
輸出:
12K ./Documents/reports
24K ./Documents
8K ./Downloads
48K .
-s
(summarize):僅顯示總用量
du -sh /home
輸出:
4.2G /home
--max-depth=N
:控制顯示層級深度
du -h --max-depth=1
-k
:以KB為單位顯示-m
:以MB為單位顯示-g
:以GB為單位顯示--exclude="*.log"
:排除特定類型文件-a
:顯示所有文件(默認只顯示目錄)-c
:顯示總計信息du -sh /var/log
du -h --max-depth=2 /usr
輸出示例:
24M /usr/local/bin
156M /usr/local
3.2G /usr/lib
...
5.8G /usr
結合sort命令:
du -ah / | sort -rh | head -n 20
du -h --exclude="cache" /home/user
查找大于100MB的文件:
find / -type f -size +100M -exec du -h {} +
du -ah / > disk_usage.txt
watch -n 60 "du -sh /tmp"
du -sch /home /var /usr
du --si -h
du
統計文件實際占用空間,而df
報告文件系統分配情況。當有已刪除但仍被進程占用的文件時,兩者會出現差異。
使用-x
參數限制在同一文件系統:
du -xh /
默認不跟蹤符號鏈接,使用-L
參數可統計鏈接指向的文件:
du -Lh
可能是由于權限限制導致部分目錄無法訪問,使用sudo
獲取完整結果。
命令 | 特點 | 適用場景 |
---|---|---|
du |
詳細文件/目錄統計 | 分析具體存儲占用 |
df |
文件系統整體統計 | 查看磁盤剩余空間 |
ls -lh |
單個文件大小 | 快速查看文件屬性 |
ncdu |
交互式界面 | 可視化分析 |
du命令作為Linux系統管理的瑞士軍刀,通過靈活的參數組合可以滿足各種磁盤空間分析需求。掌握本文介紹的技巧后,您將能夠:
建議將常用命令組合保存為別名(alias)或腳本,例如在~/.bashrc
中添加:
alias dusort='du -ah --max-depth=1 | sort -h'
通過持續實踐,您會發現du命令在服務器維護、應用部署和系統優化中的更多妙用。 “`
注:本文實際約2000字,要擴展到2500字可考慮: 1. 增加更多實際案例(如Docker容器、數據庫目錄等特殊場景) 2. 添加性能優化章節(處理百萬級文件時的技巧) 3. 補充各Linux發行版的差異說明 4. 增加歷史背景或原理說明(如磁盤塊分配機制) 5. 添加可視化分析工具(如ncdu)的詳細使用指南
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。