
私は内容が慣れていないかなり大きなディレクトリツリーを持っており、そこに非常に大きなディレクトリが埋め込まれていると信じる理由があります。彼らがどこにいるのか、どうすればわかりますか?
コンテキスト:私は長年にわたり多くのファイルを残したWebアプリケーションを整理しています。何十万もの小さな古い "session.*"ファイルを含むディレクトリを見つけて消去しましたが、find
階層の上にコマンドはまだ非常に遅いです。
ツリーが十分に大きく、これはls -RC | less
魅力的な解決策ではありません。ディスク容量が多いディレクトリを見つけるには、を使用しますdu -s *
。最も多くのファイルを含むディレクトリを見つけるにはどうすればよいですか?
編集する:du --inodes
これは古いサーバーにあるため、ファイル数を数えるためには使用できません。ほとんどの読者にとって、これはおそらく最善の解決策です。
答え1
du --inodes *
餃子:
--inodes list inode usage information instead of block usage
答え2
du --inodes
このない古いディストリビューションでは
find . -type d -ls | sort -n -k7,7
すべてのディレクトリはサイズが大きい順にリストされているため、リストの最後に最も多くのファイルを含むディレクトリ(または特定の瞬間に最も多くのファイルを含むディレクトリ)が表示されます。コマンドfind
の実行には時間がかかることがありますが、これを行うことはできません。分割征服du
アプローチを使用しても、ディスクから同じ量の情報を読み取る必要があります。
答え3
あなたはそれを使用することができます
du --inodes * |sort -nr
du --inodes *
ディレクトリごとにファイル数を指定sort -nr
し、この番号を降順に並べ替えます。