すべてのファイルの場所を見つける方法は?

すべてのファイルの場所を見つける方法は?

私は内容が慣れていないかなり大きなディレクトリツリーを持っており、そこに非常に大きなディレクトリが埋め込まれていると信じる理由があります。彼らがどこにいるのか、どうすればわかりますか?

コンテキスト:私は長年にわたり多くのファイルを残した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し、この番号を降順に並べ替えます。

関連情報