最近排查服務器異常的時候,常會遇到磁盤慢的狀況,這個時候,查找那個文件夾佔用的內存的時候經常使用到這個命令:du -h --max-depth=3 linux
通常的文件夾都超不過4層;服務器
具體使用的時候,能夠根據當前路徑來指定深度查找,把這個記錄一下..net
經常使用到的排序命令:(會根據T和G爲單位來排序)blog
du -h --max-depth=1 |grep [TG] |sort -nr排序
參考:https://blog.csdn.net/xiaoxinyu316/article/details/43269881內存
du [-abcDhHklmsSx] [-L <符號鏈接>][-X <文件>][--block-size][--exclude=<目錄或文件>] [--max-depth=<目錄層數>][--help][--version][目錄或文件]
經常使用參數:
-a或-all 爲每一個指定文件顯示磁盤使用狀況,或者爲目錄中每一個文件顯示各自磁盤使用狀況。
-b或-bytes 顯示目錄或文件大小時,以byte爲單位。
-c或–total 除了顯示目錄或文件的大小外,同時也顯示全部目錄或文件的總和。
-D或–dereference-args 顯示指定符號鏈接的源文件大小。
-h或–human-readable 以K,M,G爲單位,提升信息的可讀性。
-H或–si 與-h參數相同,可是K,M,G是以1000爲換算單位,而不是以1024爲換算單位。
-k或–kilobytes 以1024 bytes爲單位。
-l或–count-links 重複計算硬件鏈接的文件。
-L<符號鏈接>或–dereference<符號鏈接> 顯示選項中所指定符號鏈接的源文件大小。
-m或–megabytes 以1MB爲單位。
-s或–summarize 僅顯示總計,即當前目錄的大小。
-S或–separate-dirs 顯示每一個目錄的大小時,並不含其子目錄的大小。
-x或–one-file-xystem 以一開始處理時的文件系統爲準,若趕上其它不一樣的文件系統目錄則略過。
-X<文件>或–exclude-from=<文件> 在<文件>指定目錄或文件。
–exclude=<目錄或文件> 略過指定的目錄或文件。
–max-depth=<目錄層數> 超過指定層數的目錄後,予以忽略。
–help 顯示幫助。
–version 顯示版本信息。
1> 要顯示一個目錄樹及其每一個子樹的磁盤使用狀況
du /home/linux
這在/home/linux目錄及其每一個子目錄中顯示了磁盤塊數。
2> 要經過以1024字節爲單位顯示一個目錄樹及其每一個子樹的磁盤使用狀況
du -k /home/linux
這在/home/linux目錄及其每一個子目錄中顯示了 1024 字節磁盤塊數。
3> 以MB爲單位顯示一個目錄樹及其每一個子樹的磁盤使用狀況
du -m /home/linux
這在/home/linux目錄及其每一個子目錄中顯示了 MB 磁盤塊數。
4> 以GB爲單位顯示一個目錄樹及其每一個子樹的磁盤使用狀況
du -g /home/linux
這在/home/linux目錄及其每一個子目錄中顯示了 GB 磁盤塊數。
5>查看當前目錄下全部目錄以及子目錄的大小:
du -h .
「.」表明當前目錄下。也能夠換成一個明確的路徑
-h表示用K、M、G的人性化形式顯示
6>查看當前目錄下user目錄的大小,並不想看其餘目錄以及其子目錄:
du -sh user
-s表示總結的意思,即只列出一個總結的值
du -h --max-depth=0 user
--max-depth=n表示只深刻到第n層目錄,此處設置爲0,即表示不深刻到子目錄。
7>列出user目錄及其子目錄下全部目錄和文件的大小:
du -ah user
-a表示包括目錄和文件
8>列出當前目錄中的目錄名不包括xyz字符串的目錄的大小:
du -h --exclude='*xyz*'
9>想在一個屏幕下列出更多的關於user目錄及子目錄大小的信息:
du -0h user
-0(槓零)表示每列出一個目錄的信息,不換行,而是直接輸出下一個目錄的信息。
10>只顯示一個目錄樹的所有磁盤使用狀況
du -s /home/linux
11>查看各文件夾大小:du -h --max-depth=1