鍍金池/ 教程/ Linux/ shell 學(xué)習(xí)四十六天----文件系統(tǒng)的空間信息 df 和 du 命令
shell 學(xué)習(xí)四十一天----列出文件 ls 和 od 命令
shell 學(xué)習(xí)小結(jié)
shell 學(xué)習(xí)第二十八天----case 語句
shell 學(xué)習(xí)四十四天----尋找文件
shell 學(xué)習(xí)三十五天----波浪號展開與通配符
shell 學(xué)習(xí)三十八天----執(zhí)行順序和 eval
shell 學(xué)習(xí)四十八天----文件校驗和匹配
shell 學(xué)習(xí)四十天----awk 的驚人表現(xiàn)
shell 學(xué)習(xí)第十一天----sed 正則的精確控制
shell 學(xué)習(xí)第十七天----awk 命令
shell 學(xué)習(xí)三十九天----內(nèi)建命令
shell 學(xué)習(xí)四十五天----xargs
shell 學(xué)習(xí)三十七天----引用
shell 學(xué)習(xí)第十六天----join 練習(xí)
shell 學(xué)習(xí)第二十四天----提取開頭或結(jié)尾數(shù)行
shell 學(xué)習(xí)第九天----分組
shell 學(xué)習(xí)第五天----基本的 I/O 重定向
shell 學(xué)習(xí)第十五天----使用 cut 選定字段
shell 學(xué)習(xí)四十六天----文件系統(tǒng)的空間信息 df 和 du 命令
shell 學(xué)習(xí)第八天----擴(kuò)展正則表達(dá)式 (ERE)
shell 學(xué)習(xí)第十九天----文本塊排序
shell 學(xué)習(xí)第二十一天----重新格式化段落
shell 學(xué)習(xí)三十六天----命令替換
shell 學(xué)習(xí)第二十天----sort 的其他內(nèi)容以及 uniq 命令
shell 學(xué)習(xí)四十二天----使用 touch 更新文件時間
shell 學(xué)習(xí)五十一天----top 命令查看進(jìn)程列表
shell 學(xué)習(xí)第一天
shell 學(xué)習(xí)五十四天----進(jìn)程系統(tǒng)調(diào)用的追蹤 strace
shell 學(xué)習(xí)五十天----查看進(jìn)程 ps 命令
shell 學(xué)習(xí)第二十七天----退出狀態(tài)和 if 語句
shell 學(xué)習(xí)第二十三天----打印
shell 學(xué)習(xí)三十三天----關(guān)于重定向
shell 學(xué)習(xí)四十九天----進(jìn)程建立
shell 學(xué)習(xí)第三十天----break,continue,shift,getopts
shell 學(xué)習(xí)五十五天----進(jìn)程記賬
shell 學(xué)習(xí)總結(jié)一
shell 學(xué)習(xí)第二十六天----變量與算數(shù)
shell 學(xué)習(xí)第二十二天----計算行數(shù), 字?jǐn)?shù)以及字符數(shù)
shell 學(xué)習(xí)五十八天----/proc 文件系統(tǒng)
shell 學(xué)習(xí)第二十五天----神器的管道符
shell 學(xué)習(xí)第三十二天----read 讀取一行
sheel 學(xué)習(xí)第三天
shell 學(xué)習(xí)----小結(jié)
shell 學(xué)習(xí)第十八天----文本排序
shell 學(xué)習(xí)第三十一天----函數(shù)問題
shell 學(xué)習(xí)第十天----sed 查找與替換
shell 學(xué)習(xí)四十三天----臨時性文件的建立與使用
shell 學(xué)習(xí)四十七天----文件比較 cmp,diff,patch
shell 學(xué)習(xí)三十四天----printf 詳解
shell 學(xué)習(xí)五十七天 ----linux 任務(wù)管理,針對上一講的總結(jié)和擴(kuò)展
shell 學(xué)習(xí)第六天----小結(jié)
shell 學(xué)習(xí)第十三天----sed 案例分析
shell 學(xué)習(xí)第七天----基礎(chǔ)正則表達(dá)式 (BRE)
shell 學(xué)習(xí)第十二天----行與字符串
shell 學(xué)習(xí)小結(jié)四
shell 學(xué)習(xí)第二十九天----循環(huán)
shell 學(xué)習(xí)五十二天----刪除進(jìn)程 kill 命令
shell 學(xué)習(xí)五十六天----延遲進(jìn)程調(diào)度
shell 學(xué)習(xí)第四天----華麗的 printf 輸出
shell 學(xué)習(xí)第十五天----join 連接字段
shell 學(xué)習(xí)完結(jié)篇----希望你能看到
shell 學(xué)習(xí)第二天
shell 學(xué)習(xí)五十三天----捕獲信號 trap

shell 學(xué)習(xí)四十六天----文件系統(tǒng)的空間信息 df 和 du 命令

文件系統(tǒng)的空間信息

df 命令

df 命令提供單行摘要,一行顯示一個加載的問價系統(tǒng)的已使用的和可用的空間。其單位視系統(tǒng)而定,有些使用塊,有些則是 KB。大部分現(xiàn)代實現(xiàn)都支持 -k 選項,也就是強制使用 KB 單位,以及 -l(小寫字母 L) 選項,僅顯示本地文件系統(tǒng),排除網(wǎng)絡(luò)加載的文件系統(tǒng)。

df 命令詳解

語法:
df [選項] [文件或目錄]

用途:
顯示一個或多個文件系統(tǒng)內(nèi)部的 inode 或空間使用情況

主要選項:

  • -i 顯示 inode 技術(shù),而非空間
  • -k 顯示空間時,以 KB 為單位,而非塊
  • -l 小寫 L,僅顯示本地文件系統(tǒng)

行為:
df 會針對每個文件或目錄參數(shù),如果無提供參數(shù),則為所有的文件系統(tǒng),產(chǎn)生單行表頭以識別輸出蘭,再接上包含該文件或目錄的文件系統(tǒng)的使用量報告。

案例:

$df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3        1032088  262592    717068  27% /
tmpfs             961216       0    961216   0% /dev/shm
/dev/sda1         198337   34004    154093  19% /boot
/dev/sda7       14219628  166640  13330660   2% /home
/dev/sda2        3120456 1874636   1087308  64% /usr
/dev/sda5        1032088  177716    801944  19% /var
/dev/sdb1        2071384   68632   1897528   4% /disk1

分析:
df 命令的輸出清單的第一列是代表文件系統(tǒng)對應(yīng)的設(shè)備的路徑名 (一般是硬盤上的分區(qū));第二列給出分區(qū)包含的數(shù)據(jù)塊 (1024 字節(jié)) 的數(shù)目;第三四列分別表示一用的和可用的數(shù)據(jù)塊數(shù)目。用戶也會感到奇怪的是;第三四列數(shù)之和不等于第二列中的數(shù)據(jù)塊。這是因為缺省的每個分區(qū)都留了少量空間供系統(tǒng)管理員使用。及時遇到普通用戶空間已滿的情況,管理員仍能登陸和留有解決問題所需的工作空間。清單 Use% 中列表示普通用戶空間使用的百分比,及時這一數(shù)字達(dá)到 100%,分區(qū)仍能留有系統(tǒng)管理員使用的空間;最后 Mount on 列表示文件系統(tǒng)的掛載點。

$df -i
Filesystem     Inodes IUsed  IFree IUse% Mounted on
/dev/sda3       65536  6410  59126   10% /
tmpfs          240304     1 240303    1% /dev/shm
/dev/sda1       51200    39  51161    1% /boot
/dev/sda7      903984    86 903898    1% /home
/dev/sda2      198400 57886 140514   30% /usr
/dev/sda5       65536  2356  63180    4% /var
/dev/sdb1      131648    11 131637    1% /disk1

分析:以 inode 模式來顯示磁盤使用情況

$df /home
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/sda7       14219628 166640  13330660   2% /home

分析:顯示指定類型磁盤

du 命令

du 命令也是查看使用空間的,但是與 df 命令不同的是 du 命令是對文件和目錄磁盤使用的空間的查看,還是和 df 命令有一些區(qū)別的。

du 命令詳解

語法: du [選項] [文件]

用途:顯示一個或多個目錄樹的空間使用率

主要選項:

  • -k 空間的顯示,以 KB 為單位,而非 (與系統(tǒng)相依的) 塊 (block)
  • -s 為每個參數(shù),僅顯示單行摘要

行為: du 會針對每個文件或目錄參數(shù) ---- 如果無提供這類參數(shù)則為當(dāng)前目錄,產(chǎn)生一個輸出行,其會包含以整數(shù)表示的使用率,并接著文件或目錄的名稱。除非給定 -s 選項,否則每個目錄參數(shù)會以遞歸方式查找,為每個嵌套目錄產(chǎn)生一個報告行。

案例:

$du       #在 tmp 目錄下使用 du 命令
4       ./.ICE-unix
8       .

分析:只顯示當(dāng)前目錄下面的子目錄的目錄大小和大錢目錄的總大小,最下面的 8 為當(dāng)前目錄的總大小。注意,只顯示目錄的。

案例:顯示指定文件所占空間的大小
```$du /etc/passwd 4 /etc/passwd


案例:查看指定目錄的所占空間  
```$du /root
8       /root/.w3m
4       /root/.pki/nssdb
8       /root/.pki
200     /root

案例:顯示多個文件所占大小
```$du /tmp /root 4 /tmp/ert 4 /tmp/.ICE-unix 12 /tmp 8 /root/.w3m 4 /root/.pki/nssdb 8 /root/.pki 200 /root


案例:只顯示總和的大小  
```$du -s /root
200     /root

案例:方便閱讀的格式
```$du -hs /root 200K /root


案例:文件和目錄都顯示  
`du -ah /root`

案例:顯示多個文件或目錄各自占用磁盤空間的大小。還統(tǒng)計他們的總和  
```$du -cs /etc /tmp /root
28048   /etc
12      /tmp
200     /root
28260   總用量

案例:按照空間大小排序
$du /etc| sort -nr | more

du 和 df 的區(qū)別

  • df 命令用于查看文件系統(tǒng)的使用情況; 使用 df 命令輸出信息的第一個標(biāo)注: 文件系統(tǒng) 1K- 塊 已用 可用 已用 % 掛載點
  • du 命令用于查看文件或目錄所占磁盤空間的使用情況。