どのファイルがディスクを消費しているのか正確に判断できません。
まず、df
コマンドを使用してディレクトリを一覧表示しました。
devtmpfs 16438304 0 16438304 0% /dev
tmpfs 16449868 0 16449868 0% /dev/shm
tmpfs 16449868 1637676 14812192 10% /run
tmpfs 16449868 0 16449868 0% /sys/fs/cgroup
/dev/mapper/Fedora-root 51475068 38443612 10393632 79% /
tmpfs 16449868 384 16449484 1% /tmp
/dev/sda3 487652 66874 391082 15% /boot
/dev/mapper/Fedora-home 889839636 44677452 799937840 6% /home
次に、du -h / | grep '[0-9\,]\+G'
を実行しました。
問題は、他のディレクトリを含むすべてを取得することです。そのため、/dev/mapper/Fedora-root
を具体的に見つける必要がありますが、du -h /dev/mapper/Fedora-root | grep '[0-9\,]\+G'
を試しても結果が得られません。
ディレクトリ79%
の/
が何を消費しているかを知る必要があります
どうすればこれを解決できますか?
そのような状況での私の魔法のコマンドは:
du -m . --max-depth=1 | sort -nr | head -20
これを使用するには:
cd
は、ファイルを食べるスペースを含む最上位のディレクトリに移動します。手がかりがない場合、これは/
になります;-)du -m . --max-depth=1 | sort -nr | head -20
を実行します。これにより、現在のディレクトリの最大の20個のサブディレクトリが、サイズの小さい順にソートされて一覧表示されます。cd
を最大のディレクトリに移動し、BIGファイルが見つかるまでdu ...
コマンドを繰り返しますncdu
は、この種の問題に最適なツールです。これが対応する package です。
シンボリックリンクをたどらずに1つのファイルシステムのみにとどまる場合は、-x
を使用できます。たとえば、ルートとして:
ncdu -x /home
これは、 DaisyDisk 、 Baobab または WinDirStat と同等のコマンドラインです。
大きなフォルダーをスキャンするには時間がかかる場合がありますが、一度完了すると、最大のファイルを見つけるのに非常に速くなります。
ファイルの実際のサイズを把握している場合は、特定のサイズよりも大きい find
ファイルを作成できます。
たとえば、10 MiBより大きいファイルを検索するには、次のようにします。
find /mounted/drive -size +10M
または
find /mounted/drive -size +10M -exec ls -lh {} +
Httqmの提案は、問題が1つの大きなファイルではなく、小さなファイルの大きなコレクションである場合にも適しています。つまり、 du
を使用して、ディレクトリの合計を表示します。 --max-depth
による制限は、大きなディレクトリツリーで非常に役立ちます。
du -m some/directory --max-depth=1 | sort -nr | head -20
du some/directory --max-depth=1 | sort -n | tail -21
1つのディレクトリをサブディレクトリに分割します。これらの2番目は、リストしているディレクトリの合計も示します。
次のコマンドを使用して、最大のディレクトリを見つけます。
du -a / | sort -n -r | head