ルートファイルシステムですべての大容量ファイルを検索する

ルートファイルシステムですべての大容量ファイルを検索する

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%の大容量ファイルを入手できますか/

答え1

努力する:

find / -xdev -type f -size +100M

サイズが100Mを超えるすべてのファイルを一覧表示します。

ディレクトリについて知りたい場合は試してみてくださいncdu

Linuxを実行していない場合、POSIXにはメガバイトのサフィックスがないため、またはを-size +204800使用する必要があります。-size +104857600cM

find / -xdev -type f -size +102400000c

答え2

次のコマンドは、ファイルシステムで最大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

sortGNU(GNUからcoreutils)を使用していない場合は、以下の方法で使用してください-h

du -ax / | sort -rn | head -20

現在のディレクトリのみ(より速い結果のため)/に置き換えてください.

答え3

@Gnoucの答えに加えて、結合execオプションを使用して詳細を得ることができます。あなたはそうすることができる特権を持っていなければなりません。findls -lasudo

$ find / -xdev -type f -size +100M -exec ls -lha {} \; | sort -nk 5

ギガバイトファイルのみを表示するには:

root# du -ahx / | grep -E '\d+G\s+'

1.8G    /.Spotlight-V100/Store-V2/A960D58E-A644-4497-B3C1-866A529BF919
1.8G    /.Spotlight-V100/Store-V2

関連情報