サーバー操作をしている時に、sFTPやsamba経由などの、GUI操作している時であれば問題ないのですが、コマンドラインで操作している時は、思った通りの表示ができなくて苦労することが多いと思います。
フォルダ一覧の容量を表示する
例えば、フォルダ一覧の表示をしている時に、各フォルダの容量をその場で表示してみたくなることがある。
コマンドラインでlsすると
こうなるが、下記コマンドをたたくだけで、容量が一覧表示で見ることができる。
$ du --max-depth=1 -ha
macの場合は
$ du -d 1 -h
0B ./.copy.cache
5.5M ./Books
148K ./Buissiness
40M ./camera
3.4M ./Develop
228K ./info
1.3G ./Picture
1.3G ./Private
1.7M ./SlideShare
9.8M ./wordpress
5.6M ./xcode
2.7G .
なかなか便利ですね。
フォルダ内のファイル数を表示
$ for file in *; { echo "${file}:";ls "$file"|wc -l; }
Books:
2
Buissiness:
2
Develop:
5
Picture:
13
Private:
6
SlideShare:
1
camera:
2
info:
1
wordpress:
2
xcode:
1
shellを使うことで、フォルダの内包する一覧を取得する事が可能になる。
ただし、このファイル数は、1階層分しか表示されていない。
これで良い場合もあるが、内包する全てのファイル数を取得したい場合は、lsコマンドに-Rオプションを付けることで可能になる。
$ for file in *; { echo "${file}:";ls -R "$file"|wc -l; }
Books:
2
Buissiness:
5
Develop:
527
Picture:
23137
Private:
840
SlideShare:
4
camera:
28
info:
1
wordpress:
680
xcode:
5
表示フォーマットを調整
あと一つだけ気になるのは、フォルダ名称とファイル数の行がずれているので、これを整えてみたい。
$ for file in *; { ls -R ${file}|wc -l|awk '{print "'${file}':"$0}'; }
Books: 2
Buissiness: 5
Develop: 527
Picture: 23137
Private: 840
SlideShare: 4
camera: 28
info: 1
wordpress: 680
xcode: 5
インデントはガタガタですが、なんとかできました。まあまあ使えると思いますんでスニペットとして使ってみてください。
0 件のコメント:
コメントを投稿