欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux目錄大小查看的常用命令詳解

 更新時間:2025年05月08日 09:32:03   作者:Kwan的解憂雜貨鋪@新空間  
在 Linux 系統(tǒng)管理和日常維護中,了解文件和目錄占用磁盤空間的情況是一項基本而重要的任務(wù),du(Disk Usage)命令是完成這一任務(wù)的強大工具,而 du -h 則是其中最常用的命令形式之一,因此本文給大家詳細介紹了Linux目錄大小查看命令,需要的朋友可以參考下

一、du 命令基礎(chǔ)

du(Disk Usage)命令是 Linux/Unix 系統(tǒng)中用于估算文件和目錄磁盤使用情況的實用程序。它通過遞歸遍歷目錄結(jié)構(gòu),計算每個文件和子目錄占用的磁盤空間,并以塊為單位(默認情況下)顯示結(jié)果。

基本語法

du [選項] [文件或目錄]

如果不指定文件或目錄,du 會默認統(tǒng)計當(dāng)前目錄及其所有子目錄的磁盤使用情況。

為什么需要 -h 選項?

原始的 du 命令輸出以磁盤塊為單位(通常 1 塊=512 字節(jié)或 1KB),這種表示方式對人類閱讀不夠友好。例如:

du data

可能輸出:

123456  data/subdir1
789012  data/subdir2
912468  data

這樣的數(shù)字難以直觀理解。-h(human-readable)選項的出現(xiàn)解決了這個問題,它會自動選擇最合適的單位(KB、MB、GB 或 TB)來顯示大小:

du -h data

輸出變?yōu)椋?/p>

4.0K    data/subdir1
8.2M    data/subdir2
1.2G    data

二、du -h 命令詳解

輸出解讀

du -h 的典型輸出包含多行信息:

  • 子目錄行:顯示每個子目錄的大小和路徑
  • 總計行(最后一行):顯示指定目錄的總大小

例如:

4.0K    data/subdir1
8.2M    data/subdir2
1.2G    data

這里:

  • data/subdir1 占用 4.0KB
  • data/subdir2 占用 8.2MB
  • 整個 data 目錄占用 1.2GB

常用選項組合

-s(匯總):僅顯示總大小,不顯示子目錄詳情

du -sh data

輸出:

1.2G    data

-c(總計):在最后添加一個總計行

du -hc data

輸出:

4.0K    data/subdir1
8.2M    data/subdir2
1.2G    data
1.2G    總用量

--max-depth=N:控制顯示的目錄深度

du -h --max-depth=1 data

只顯示 data 下第一級子目錄的大小

三、du 與其他命令的對比

du vs df

  • du(Disk Usage):從文件系統(tǒng)角度計算文件和目錄占用的空間
  • df(Disk Free):顯示文件系統(tǒng)的整體磁盤使用情況

du 更適合查找具體目錄或文件占用的空間,而 df 更適合查看整個磁盤或分區(qū)的使用情況。

du vs ls -l

  • ls -l 顯示的是文件的實際大?。ㄟ壿嫶笮。?/li>
  • du 顯示的是文件占用的磁盤空間(可能因塊分配而大于實際大?。?/li>

例如,一個 1 字節(jié)的文件:

  • ls -l 顯示 1 字節(jié)
  • du 可能顯示 4KB(取決于文件系統(tǒng)的塊大?。?/li>

四、實際應(yīng)用場景

1. 查找大目錄

du -h / | sort -rh | head -n 20

這條命令組合:

  • 從根目錄開始計算所有目錄大小
  • 按人類可讀格式輸出
  • 按大小逆序排序
  • 顯示前 20 個最大的目錄

2. 監(jiān)控用戶磁盤使用

du -sh /home/*

快速查看所有用戶主目錄的磁盤使用情況。

3. 排除特定目錄

du -h --exclude='*.log' /var

統(tǒng)計 /var 目錄大小,但排除所有 .log 文件。

4. 比較目錄變化

du -sh data
# 進行一些操作后
du -sh data

通過兩次執(zhí)行比較目錄大小的變化。

五、高級技巧與注意事項

1. 處理符號鏈接

默認情況下,du 會統(tǒng)計符號鏈接指向的文件大小。使用 -L 選項可以跟隨符號鏈接:

du -Lh /path

2. 顯示修改時間

結(jié)合 --time 選項可以顯示最后修改時間:

du -h --time data

3. 性能優(yōu)化

對于大型文件系統(tǒng),du 可能需要較長時間。可以:

  • 使用 --apparent-size 顯示表觀大小而非磁盤使用量(更快但不夠準(zhǔn)確)
  • 限制目錄深度 --max-depth
  • 在非高峰時段運行

4. 跨文件系統(tǒng)統(tǒng)計

默認 du 會統(tǒng)計掛載點下的其他文件系統(tǒng)。使用 -x 可以限制在當(dāng)前文件系統(tǒng):

du -xh /

六、常見問題解答

Q1:為什么 du 和 df 顯示的總空間不一致?

A1:可能原因包括:

  • 已刪除但仍有進程打開的文件
  • 文件系統(tǒng)保留空間
  • 不同的統(tǒng)計方法(df 統(tǒng)計整個文件系統(tǒng),du 統(tǒng)計具體文件)

Q2:如何統(tǒng)計目錄中的文件數(shù)量而非大?。?/strong>

A2:使用 find 和 wc

find data -type f | wc -l

Q3:du 顯示的 size 為什么比實際文件總和要大?

A3:du 統(tǒng)計的是磁盤使用量,包括:

  • 文件實際內(nèi)容
  • 文件系統(tǒng)元數(shù)據(jù)
  • 由于塊分配導(dǎo)致的額外空間

到此這篇關(guān)于Linux目錄大小查看的常用命令詳解的文章就介紹到這了,更多相關(guān)Linux目錄大小查看內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論