今天有如題的需求,但是光靠du命令似乎實現不了,於是查了下,最後使用du和sort組合完成需求,大家有更好的方法快點告訴我啊~
命令格式:
du [選項][檔案]
命令功能:
顯示每個檔案和目錄的磁碟使用空間。
命令引數:
-a或-all 顯示目錄中個別檔案的大小。
-b或-bytes 顯示目錄或檔案大小時,以byte為單位。
-c或--total 除了顯示個別目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和。
-k或--kilobytes 以kb(1024bytes)為單位輸出。
-m或--megabytes 以mb為單位輸出。
-s或--summarize 僅顯示總計,只列出最後加總的值。
-h或--human-readable 以k,m,g為單位,提高資訊的可讀性。
-x或--one-file-xystem 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過。
-l《符號鏈結》或--dereference《符號鏈結》 顯示選項中所指定符號鏈結的原始檔大小。
-s或--separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。
-x《檔案》或--exclude-from=《檔案》 在《檔案》指定目錄或檔案。
--exclude=《目錄或檔案》 略過指定的目錄或檔案。
-d或--dereference-args 顯示指定符號鏈結的原始檔大小。
-h或--si 與-h引數相同,但是k,m,g是以1000為換算單位。
-l或--count-links 重複計算硬體鏈結的檔案。
1、使用du之後得到如下結果:
接著需要對時間進行排序,很自然想到管道:
管道符號,是unix乙個很強大的功能,符號為一條豎線:"|"。
用法: command 1 | command 2 他的功能是把第乙個命令command 1執行的結果作為command2的輸入傳給command 2
接著使用管道把du的結果交給sort排序
sort命令總結
功能:排序
語法:sort [-bcdfimmnr][-o《輸出檔案》][-t《分隔字元》][+《起始字段》-《結束字段》][--help][--verison][檔案]
引數:-b 忽略每行前面開始出的空格字元。
-d 排序時,處理英文本母、數字及空格字元外,忽略其他的字元。
-f 排序時,將小寫字母視為大寫字母。
-i 排序時,除了040至176之間的ascii字元外,忽略其他的字元。
-c 檢查檔案是否已經按照順序排序。
-m 將幾個排序好的檔案進行合併。
-m 前面3個字母依照月份的縮寫進行排序。
-n 依照數值的大小排序。
-o《輸出檔案》 將排序後的結果存入指定的檔案。
-r 以相反的順序來排序。
-t《分隔字元》 指定排序時所用的字段分隔字元。
-k 指定域
--help 顯示幫助。
--version 顯示版本資訊。
2、命令組合如下:
du -h --time --max-depth=1 . |grep 'm'| sort -r -t $'\t' -k 2
其中grep 'm'是只取出m級別的資料夾進行排序,
sort中-t之後的$'\t'是指使用tab鍵分割字串,-k 2 指按照分割後的第二列字串來排序:
linux 檢視資料夾大小
概述磁碟使用。du a s k m g l r x h l file du命令顯示用於檔案的塊的數量。如果指定的file引數實際上是乙個目錄,就要報告該目錄內的所有檔案。如果沒有提供file引數,du命令使用當前目錄內的檔案。如果file引數是乙個目錄,那麼報告的塊的數量就是分配到目錄中檔案以及分配...
linux 檢視資料夾大小
概述磁碟使用。du a s k m g l r x h l file du命令顯示用於檔案的塊的數量。如果指定的file引數實際上是乙個目錄,就要報告該目錄內的所有檔案。如果沒有提供file引數,du命令使用當前目錄內的檔案。如果file引數是乙個目錄,那麼報告的塊的數量就是分配到目錄中檔案以及分配...
Linux檢視資料夾大小
du sh 檢視當前資料夾大小 du sh sort n 統計當前資料夾 目錄 大小,並按檔案大小排序 附送 du sk filename 檢視指定檔案大小 linux ls以k m g為單位檢視檔案大小 linux ls以k m g為單位檢視檔案大小。man ls h,human readable...