web-dev-qa-db-ja.com

ルートファイルシステム内のすべての大きなファイルを見つける

私は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%に寄与している大きなファイルを取得することは可能ですか?

136
Abhishek dot py

試してください:

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

100Mより大きいサイズのすべてのファイルがリストされます。

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

Linuxを実行していない場合は、メガバイトがPOSIXにないことを意味するM接尾辞として、-size +204800または-size +104857600cを使用する必要がある場合があります。

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

@Gnouc answerに加えて、ls -laを追加して詳細を取得することもできます。そのためにはSudo privilegesが必要です。

$ find / -xdev -type f -size +100M -exec ls -la {} \; | 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
50
zee

次のコマンドは、ファイルシステムで上位50の最大ファイル(> 100M)を見つけるだけでなく、(GNU sort)を最大のもので並べ替えます。

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(from coreutils)を使用していない場合は、-hなしで使用します。

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

現在のディレクトリのみの場合(より迅速な結果を得るため)、/.に置き換えます。

47
kenorb