システム上のすべてのinode使用量がどこにあるかを調べるために、サブディレクトリにいくつかのファイルがあることを確認したいと思います。空間活用のためこうやったと思います。
du -sh /*
これにより、ルートディレクトリ以外のディレクトリで使用されるスペースが提供されますが、この場合はサイズではないファイル数が必要です。
ベストアンサー1
find . -maxdepth 1 -type d | while read -r dir
do printf "%s:\t" "$dir"; find "$dir" -type f | wc -l; done
セキュリティ/互換性を修正するためにGillesとxenoterracideに感謝します。
最初の部分は、find . -maxdepth 1 -type d
現在の作業ディレクトリのすべてのディレクトリのリストを返します。 (警告:-maxdepth
GNU拡張であり、GNU以外のバージョンにはないかもしれません find
。)これは次にパイプされます...
パート2:(while read -r dir; do
上記のwhile read -r dir
(新しい行)do
)ループを開始します。このコマンドは、着信while
パイプが開いている間while
(フルディレクトリリストが送信されるまで)read
変数に次の行を置きますdir
。それから続けて...
パート3:printf "%s:\t" "$dir"
ディレクトリ名の1つを含む文字列が印刷され、$dir
その後にコロンとタブ(改行ではありません)が表示されます。
パート4:find "$dir" -type f
ディレクトリに名前が付けられたすべてのファイルのリスト$dir
。このリストは次に送信されます。
パート5:wc -l
標準入力に送信された行数を数えます。
最後の部分:done
単にwhile
ループを終了します。
これにより、現在のディレクトリの下にあるすべてのディレクトリのリストを取得できます。各ディレクトリで使用できるように、その中にあるすべてのファイルのリストを作成しますwc -l
。結果は次のとおりです。
./dir1: 234
./dir2: 11
./dir3: 2199
...