Linux如何查詢大檔案或目錄總結

2021-09-24 10:14:55 字數 4535 閱讀 1329

1: 如何查詢大檔案?

搜尋當前目錄下,超過100m大小的檔案:

[root@getlnx01 u03]# find . -type f -size +100m

./usr/local/jdk-7u67-linux-x64.tar.gz

./data/log/charge-service/test-access.log.2016-08-08.log

./data/log/aaa_service/test-access.log.2016-08-09.log

./home/deploy/logs/testmqlogs/otherdays/testmq_client.1.log

./home/deploy/logs/testmqlogs/otherdays/testmq_client.2.log

./opt/backend/charge-service/1.2/shared/console.log

./opt/backend/express_service/0.0.3.tar.gz

./opt/backend/aaa-service/1.2/shared/console.log

更詳細顯示一些檔案屬性或資訊:

[root@getlnx01 u03]# find . -type f -size +100m  -print0 | xargs -0 ls -l

-rw-rw-r-- 1 deploy deploy 542795006 8月  30 15:14 ./data/log/charge-service/test-access.log.2016-08-08.log

-rw-rw-r-- 1 deploy deploy 225658142 8月  25 16:28 ./data/log/aaa_service/test-access.log.2016-08-09.log

-rw-rw-r-- 1 deploy deploy 253623621 8月  30 15:15 ./home/deploy/logs/testmqlogs/otherdays/testmq_client.1.log

-rw-rw-r-- 1 deploy deploy 373547598 8月  25 16:28 ./home/deploy/logs/testmqlogs/otherdays/testmq_client.2.log

-rw-rw-r-- 1 deploy deploy 645631934 8月  30 15:15 ./opt/backend/charge-service/1.2/shared/console.log

-rw-rw-r-- 1 deploy deploy 209314900 8月  30 15:15 ./opt/backend/aaa-service/1.2/shared/console.log

-rw-r--r-- 1 root   root   315334884 12月 21 2015 ./opt/backend/express_service/0.0.3.tar.gz

-rw-r--r-- 1 root   root   142376665 6月  11 2015 ./usr/local/jdk-7u67-linux-x64.tar.gz

-rw-rw-r-- 1 deploy deploy 105085974 8月  30 15:15 ./usr/local/push-tomcat/logs/push/info.log6829699375703641.tmp

當我們只需要查詢超過100m大小檔案,並顯示查詢出來檔案的具體大小,並排序(下)

[root@getlnx01 u03]# find . -type f -size +100m  -print0 | xargs -0 du -h

102m    ./usr/local/push-tomcat/logs/push/info.log6829699375703641.tmp

136m    ./usr/local/jdk-7u67-linux-x64.tar.gz

518m    ./data/log/charge-service/test-access.log.2016-08-08.log

216m    ./data/log/aaa_service/test-access.log.2016-08-09.log

242m    ./home/deploy/logs/testmqlogs/otherdays/testmq_client.1.log

357m    ./home/deploy/logs/testmqlogs/otherdays/testmq_client.2.log

616m    ./opt/backend/charge-service/1.2/shared/console.log

301m    ./opt/backend/express_service/0.0.3.tar.gz

201m    ./opt/backend/aaa-service/1.2/shared/console.log

[root@getlnx01 u03]# find . -type f -size +100m  -print0 | xargs -0 du -h | sort -nr

616m    ./opt/backend/charge-service/1.2/shared/console.log

518m    ./data/log/charge-service/test-access.log.2016-08-08.log

357m    ./home/deploy/logs/testmqlogs/otherdays/testmq_client.2.log

301m    ./opt/backend/express_service/0.0.3.tar.gz

243m    ./home/deploy/logs/testmqlogs/otherdays/testmq_client.1.log

216m    ./data/log/aaa_service/test-access.log.2016-08-09.log

201m    ./opt/backend/aaa-service/1.2/shared/console.log

不過如上截圖所示,有時候排列的順序並不完全是按大小一致,這個是因為du命令的引數h所致,你可以統一使用使用mb來顯示,這樣就能解決這個問題。到這裡,這個在linux系統查詢大檔案的命令已經非常完美了,當然如果你還有很多的需求,那麼可以在這個命令上做修改、調整.

2: 如何查詢linux下的大目錄

譬如有時候磁碟空間告警了,而你平時又疏於管理、監控檔案的增長,那麼我需要快速的了解哪些目錄變得比較大,那麼此時我們可以借助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   .

有時候搜尋出來的結果太多了(譬如,我從根目錄開始搜尋),一直在刷屏,如果我只想查出最大的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

Linux如何查詢大檔案或目錄總結

在windows系統中,我們可以使用treesize工具查詢一些大檔案或資料夾,非常的方便高效,在linux系統中,如何去搜尋一些比較大的檔案呢?下面我整理了一下在linux系統中如何查詢大檔案或資料夾的方法。其實很多時候,你需要了解當前系統下有哪些大檔案,比如檔案大小超過100m或1g 閥值視具體...

Linux系統中如何查詢大檔案或目錄資料夾的方法

linux系統中如何查詢大檔案或資料夾的方法 在windows系統中,我們可以使用treesize工具查詢一些大檔案或資料夾,非常的方便高效,在linux系統中,如何去搜尋一些比較大的檔案呢?下面我整理了一下在linux系統中如何查詢大檔案或資料夾的方法。1 如何查詢大檔案?其實很多時候,你需要了解...

Linux遍歷目錄查詢大檔案

本腳對指定目錄進行遍歷 1 降序展示指定目錄下檔案 目錄大小 2 對大於5gb的子目錄進行遞迴查詢,將子目錄下檔案和目錄的資產占用情況一同列印。bin bash function list storage nfile tmp large stor.txt function nested list 展...