其實很多時候,你需要了解當前系統下有哪些大檔案,比如檔案大小超過100m或1g(閥值視具體情況而定)。那麼如何把這些大檔案搜尋出來呢?例如我要搜尋當前目錄下,超過800m大小的檔案
[root@getlnx01 u03]# find . -type f -size +800m如上命令所示,我們僅僅能看到超過800m大小的檔案的檔名稱,但是對檔案的資訊(例如,檔案大小、檔案屬性)一無所知,那麼能否更詳細顯示一些檔案屬性或資訊呢,當然可以,如下所示
[root@getlnx01 u03]# find . -type f -size +800m -print0 | xargs -0 ls -l當我們只需要查詢超過800m大小檔案,並顯示查詢出來檔案的具體大小,可以使用下面命令
[root@getlnx01 u03]# find . -type f -size +800m -print0 | xargs -0 du -h如果你還需要對查詢結果按照檔案大小做乙個排序,那麼可以使用下面命令
[root@getlnx01 u03]# find . -type f -size +800m -print0 | xargs -0 du -h | sort -nr譬如有時候磁碟空間告警了,而你平時又疏於管理、監控檔案的增長,那麼我需要快速的了解哪些目錄變得比較大,那麼此時我們可以借助du命令來幫我們解決這個問題。
[root@getlnx01 u03]# du -h --max-depth=1
16k ./lost+found
33g ./flash_recovery_area
37g ./oradata
70g .如果你想知道flash_recovery_area目錄下面有哪些大資料夾,那麼可以將引數max-depth=2 ,如果你想對搜尋出來的結果進行排序,那麼可以借助於sort命令。如下所示
[root@getlnx01 u03]# du -h --max-depth=2 | sort -n
3.5g ./flash_recovery_area/epps
16k ./lost+found
29g ./flash_recovery_area/backup
33g ./flash_recovery_area
37g ./oradata
37g ./oradata/epps
70g .
[root@getlnx01 u03]# du -hm --max-depth=2 | sort -n
1 ./lost+found
3527 ./flash_recovery_area/epps
29544 ./flash_recovery_area/backup
33070 ./flash_recovery_area
37705 ./oradata
37705 ./oradata/epps
70775 .
[root@getlnx01 u03]# cd /
[root@getlnx01 /]# du -hm --max-depth=2 | sort -n有時候搜尋出來的結果太多了(譬如,我從根目錄開始搜尋),一直在刷屏,如果我只想查出最大的12個資料夾,怎麼辦呢?此時就要借助head命令來顯示了
[root@getlnx01 /]# du -hm --max-depth=2 | sort -nr | head -12
407480 .
167880 ./u04
158685 ./u02/oradata
158685 ./u02
152118 ./u04/oradata
70775 ./u03
37705 ./u03/oradata
33070 ./u03/flash_recovery_area
5995 ./u01
3551 ./usr
1558 ./usr/share
[root@getlnx01 /]#
Linux檔案查詢find
列出資料夾下所有內容 包括目錄 檔案和子目錄中內容,深度優先遍歷 find 資料夾名以上方法列印出來檔案是以換行符分隔,可以連著列印而不分隔,當檔名中有換行符時用 find 資料夾名 print0根據名字查詢檔案 find 目錄名 name 檔名 以上命令中目錄名為要搜尋的目錄,檔名可以用萬用字元搜...
linux檔案查詢find
locate基於資料庫索引來查詢檔案,資料庫在開機時一段時間對更新,不會實時更新,資料庫存放在 var lib mlocate mlocate.db 可以用updatedb來手動更新資料庫。優缺點 查詢速度快 模糊查詢 非實時查詢 搜尋的是檔案的全路徑 只搜尋使用者具備讀許可權和執行許可權的目錄 l...
Linux查詢大檔案
有時候我們在系統上安裝了數十個應用 最簡單的方法就是借助 ls 命令,因為 ls 命令本身輸出是帶檔案大小資訊的。比如,我要列出 bin 目錄中的 5 個最大檔案,可以 ls lsh bin head 5 find 本身就是查詢命令,可以遞迴查詢乙個目錄的子目錄,所以用它是自然的。比如,查詢 目錄下...