歡迎來(lái)到藍(lán)隊(duì)云技術(shù)小課堂,每天分享一個(gè)技術(shù)小知識(shí)。
在Linux服務(wù)器運(yùn)維和云計(jì)算環(huán)境中,磁盤空間管理是日常系統(tǒng)監(jiān)控的關(guān)鍵任務(wù)。當(dāng)磁盤空間不足時(shí),服務(wù)運(yùn)行、日志記錄和系統(tǒng)更新都可能受到影響。本文將詳細(xì)介紹兩個(gè)核心工具:df和du命令,幫助您快速掌握磁盤使用情況分析和空間清理技巧。
df命令:查看磁盤整體使用情況
df(disk free)命令用于顯示文件系統(tǒng)的磁盤空間使用情況,包括總?cè)萘?、已用空間、可用空間和掛載點(diǎn)等信息。
基本用法
df
默認(rèn)以KB為單位顯示所有已掛載文件系統(tǒng)的使用情況。
常用選項(xiàng)
-h:以人類可讀格式顯示(自動(dòng)轉(zhuǎn)換單位)
df -h
輸出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 15G 3.8G 80% /
/dev/sdb1 50G 12G 36G 24% /data
-T:顯示文件系統(tǒng)類型
df -hT
-i:顯示inode使用情況而非塊使用
df -i
當(dāng)磁盤空間充足但文件數(shù)量過(guò)多時(shí),inode耗盡會(huì)導(dǎo)致無(wú)法創(chuàng)建新文件。
實(shí)際應(yīng)用
查找使用率超過(guò)90%的分區(qū):
df -h | awk '$5 >= 90'
這可以幫助您快速定位空間緊張的文件系統(tǒng)。
du命令:查看目錄和文件的磁盤使用情況
du(disk usage)命令用于估算文件和目錄的磁盤使用量,是查找大文件和目錄的利器。
基本用法
du [選項(xiàng)] [文件或目錄](méi)
如果不指定路徑,則顯示當(dāng)前目錄的使用情況。
常用選項(xiàng)
3. 組合使用排查磁盤空間問(wèn)題
結(jié)合df和du命令,可以高效定位磁盤空間問(wèn)題的根源。
場(chǎng)景1:根分區(qū)空間不足
# 1. 查看哪個(gè)分區(qū)空間緊張
df -h
# 2. 假設(shè)根分區(qū)使用率95%,查找占用空間大的目錄
du -sh /* 2>/dev/null | sort -rh | head -10
這會(huì)顯示根目錄下最大的10個(gè)目錄,忽略權(quán)限錯(cuò)誤信息。
場(chǎng)景2:查找特定目錄中的大文件
# 在/var目錄中查找大于100MB的文件
find /var -type f -size +100M -exec du -h {} + 2>/dev/null | sort -rh
場(chǎng)景3:清理日志文件
日志文件是常見的磁盤空間占用者:
# 查看/var/log目錄大小
du -sh /var/log
# 清理超過(guò)7天的日志文件
find /var/log -name "*.log" -type f -mtime +7 -exec rm -f {} \\;
注意:生產(chǎn)環(huán)境中建議使用日志輪轉(zhuǎn)工具(如logrotate)而非直接刪除。
4. 實(shí)用技巧和注意事項(xiàng)
技巧1:快速找到最大目錄
du -h --max-depth=1 2>/dev/null | sort -rh | head -20
技巧2:排除特定目錄
du -h --exclude="node_modules" --exclude=".git" 2>/dev/null | sort -rh | head -10
技巧3:監(jiān)控目錄大小變化
# 將目錄大小記錄到文件
du -sh /path/to/monitor > /tmp/dir_size_$(date +%Y%m%d).txt
注意事項(xiàng)
權(quán)限問(wèn)題:使用du命令時(shí),如果沒(méi)有讀取權(quán)限,會(huì)顯示錯(cuò)誤信息??梢允褂?/span>2>/dev/null重定向錯(cuò)誤輸出。
符號(hào)鏈接:du默認(rèn)不追蹤符號(hào)鏈接,使用-L選項(xiàng)可解析符號(hào)鏈接。
掛載點(diǎn):du會(huì)統(tǒng)計(jì)所有掛載在指定目錄下的文件系統(tǒng),而df顯示每個(gè)文件系統(tǒng)的獨(dú)立使用情況。
稀疏文件:某些文件(如虛擬磁盤文件)可能顯示大小與實(shí)際占用空間不同,使用du --apparent-size查看表觀大小。
掌握df和du命令是Linux系統(tǒng)管理的基礎(chǔ)技能。df提供文件系統(tǒng)級(jí)別的概覽,幫助快速發(fā)現(xiàn)空間緊張的分區(qū);du則用于深入分析目錄和文件的具體占用情況。結(jié)合使用這兩個(gè)工具,配合find、sort等命令,可以高效定位磁盤空間問(wèn)題。建議將磁盤空間監(jiān)控納入日常運(yùn)維流程,定期檢查關(guān)鍵分區(qū),設(shè)置合理的清理策略,確保云計(jì)算環(huán)境的穩(wěn)定運(yùn)行。
藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫(kù)可供參考,大家可自行查閱,更多技術(shù)問(wèn)題,可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。
更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索。