Find
查找根文件系統中的所有大文件
我有一個 linux 伺服器,目前有以下空間使用:
/dev/sda3 20G 15G 4.2G 78% / /dev/sda6 68G 42G 23G 65% /u01 /dev/sda2 30G 7.4G 21G 27% /opt /dev/sda1 99M 19M 76M 20% /boot tmpfs 48G 8.2G 39G 18% /dev/shm
如你看到的。
/
為 78%。我想檢查一下哪些文件或文件夾佔用了空間。我試過這個:
find . -type d -size +100M
顯示如下結果:
./u01/app/june01.dbf ./u01/app/temp01.dbf ./u01/app/smprd501.dbf ./home/abhishek/centos.iso ./home/abhishek/filegroup128.jar
現在這是我的問題。我只想要位於消耗空間的文件夾中的那些文件的名稱,
/
而不是/u01
或/home
。由於/
它是一切的基礎,它向我展示了我的伺服器的每個文件。是否有可能獲得佔 78% 的大文件
/
?
嘗試:
find / -xdev -type f -size +100M
它列出了所有大小大於 100M 的文件。
如果您想了解目錄,可以嘗試
ncdu
.如果您沒有執行 Linux,則可能需要使用
-size +204800
or-size +104857600c
,因為M
在 POSIX 中沒有表示兆字節的後綴。find / -xdev -type f -size +102400000c
以下命令不僅可以找到文件系統上前 50 個最大的文件 (>100M),還可以
sort
按最大的文件排序 (GNU):find / -xdev -type f -size +100M -exec du -sh {} ';' | sort -rh | head -n50
-xdev
不要下降其他文件系統上的目錄。在 BSD 上
find
使用-x
相當於棄用的-xdev
主要版本。對於所有文件和目錄,它更容易:
du -ahx / | sort -rh | head -20
(該
-x
標誌是限制du
單個文件系統所需的)如果您不使用 GNU
sort
(來自coreutils
),請在不使用 GNU 的情況下使用它-h
:du -ax / | sort -rn | head -20
僅對於目前目錄(為了更快的結果),替換
/
為.
.