
どのファイルが自分のディスクを占有しているかを正確に確認することはできません。
まず、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%
ディレクトリを占めるものが何であるかを知る必要があります。/
この問題をどのように解決できますか?
答え1
この場合、私の魔法のコマンドは次のようになります。
du -m . --max-depth=1 | sort -nr | head -20
これを使用するには:
cd
スペースを占有するファイルを含む最上位ディレクトリに移動します。/
知らなかったらそうかもしれません;-)- ランニング
du -m . --max-depth=1 | sort -nr | head -20
。これにより、現在のディレクトリの最大20のサブディレクトリが一覧表示され、サイズが小さくなる順序でソートされます。 cd
du ...
最大のディレクトリに移動し、大きなファイルが見つかるまでコマンドを繰り返します。
答え2
ncdu
これらの問題を解決する素晴らしいツールです。これは次のとおりです。パック。
-x
これは、シンボリックリンクに従わずに1つのファイルシステムに滞在したい場合に機能します。たとえば、ルートとして:
ncdu -x /home
そのコマンドラインは次のとおりです。デイジープレート、バオバブの木またはWinDirStat。
大きなフォルダをスキャンすると時間がかかることがありますが、一度完了すると、最大のファイルをすばやく見つけることができます。
答え3
ファイルの実際のサイズがわかっている場合は、次のことができます。find
特定のサイズより大きいファイル。
たとえば、10MiBを超えるファイルを見つけるには、次のようにします。
find /mounted/drive -size +10M
または
find /mounted/drive -size +10M -exec ls -lh {} +
問題が1つの大きなファイルではなく小さなファイルの集合である場合でも、Httqmの提案をお勧めします。使うということですdu
総ディレクトリ数を表示します。制限は--max-depth
大きなディレクトリツリーに役立ちます。
du -m some/directory --max-depth=1 | sort -nr | head -20
du some/directory --max-depth=1 | sort -n | tail -21
単一のディレクトリをサブディレクトリに分割し、2番目のディレクトリもリストされているディレクトリの総数を提供します。
答え4
最大のディレクトリを見つけるには、次のコマンドを使用します。
du -a / | sort -n -r | head