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

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

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

一、du 命令基礎(chǔ)

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

基本語(yǔ)法

du [選項(xiàng)] [文件或目錄](méi)

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

為什么需要 -h 選項(xiàng)?

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

du data

可能輸出:

123456  data/subdir1
789012  data/subdir2
912468  data

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

du -h data

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

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

二、du -h 命令詳解

輸出解讀

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

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

例如:

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

這里:

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

常用選項(xiàng)組合

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

du -sh data

輸出:

1.2G    data

-c(總計(jì)):在最后添加一個(gè)總計(jì)行

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 下第一級(jí)子目錄的大小

三、du 與其他命令的對(duì)比

du vs df

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

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

du vs ls -l

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

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

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

四、實(shí)際應(yīng)用場(chǎng)景

1. 查找大目錄

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

這條命令組合:

  • 從根目錄開(kāi)始計(jì)算所有目錄大小
  • 按人類(lèi)可讀格式輸出
  • 按大小逆序排序
  • 顯示前 20 個(gè)最大的目錄

2. 監(jiān)控用戶(hù)磁盤(pán)使用

du -sh /home/*

快速查看所有用戶(hù)主目錄的磁盤(pán)使用情況。

3. 排除特定目錄

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

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

4. 比較目錄變化

du -sh data
# 進(jìn)行一些操作后
du -sh data

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

五、高級(jí)技巧與注意事項(xiàng)

1. 處理符號(hào)鏈接

默認(rèn)情況下,du 會(huì)統(tǒng)計(jì)符號(hào)鏈接指向的文件大小。使用 -L 選項(xiàng)可以跟隨符號(hào)鏈接:

du -Lh /path

2. 顯示修改時(shí)間

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

du -h --time data

3. 性能優(yōu)化

對(duì)于大型文件系統(tǒng),du 可能需要較長(zhǎng)時(shí)間??梢裕?/p>

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

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

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

du -xh /

六、常見(jiàn)問(wèn)題解答

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

A1:可能原因包括:

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

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

A2:使用 find 和 wc

find data -type f | wc -l

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

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

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

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

相關(guān)文章

最新評(píng)論