Centosサーバーですべての大容量ファイルを見つけようとしています。そのためには、以下を使用しています。
find / -maxdepth 10 -size +100000 -ls
-ls
に変更してみましたが、-lsh
これは許可されていません。
これらの結果を人間が読めるサイズ(サフィックスk、M、...を使用)として表示するにはどうすればよいですか?
ベストアンサー1
find
のようなものはありませんls
。必要にls -h
応じて電話する必要がありますls
。
find / -maxdepth 10 -size +100000 -exec ls -lh {} +
他のファイルシステムへの再帰を避けるためにオプションを選択することをお勧めします-xdev
。ディスク容量が気になる場合は役に立ちません。
find / -xdev -maxdepth 10 -size +100000 -exec ls -lh {} +
zshをシェルとして使用する場合は、find
代わりにglob修飾子を使用できます。ファイルサイズを制限するのは簡単です。L
サイズの後には、数字の前にオプションの単位があります。最大深度に興味がない場合は、**/
サブディレクトリへの再帰を使用できます。最大深さに興味がある場合は、zsh globモードに「maximum」という表現がないため、より問題になります。Nデバイス間の再帰を防ぐには、glob修飾子を使用してください。デバイス番号を探す必要があります。 Linuxでコマンドを使用するか(番号のみを表示)、zsh独自の組み込みコマンド(実行してロード)を使用してd
デバイス番号を見つける必要があります。それ)。stat
stat -c %d /
stat
zmodload zsh/stat
ls -lh /**/*(L+M99d$(stat -c %d /))