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 +104857600c
M
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
sort
GNU(GNUからcoreutils
)を使用していない場合は、以下の方法で使用してください-h
。
du -ax / | sort -rn | head -20
現在のディレクトリのみ(より速い結果のため)/
に置き換えてください.
。
答え3
@Gnoucの答えに加えて、結合exec
オプションを使用して詳細を得ることができます。あなたはそうすることができる特権を持っていなければなりません。find
ls -la
sudo
$ 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