2014 年 3 月 4 日の小ネタ
大量のファイルを削除 in Linux
対象のファイル数が数十万におよぶ場合、rm コマンドでファイルを削除しようとすると OS の制限に引っかかってしまい、完了できないことがあります。
$ rm -f ./* bash: /bin/rm: 引数リストが長すぎます
その場合は以下のようにして削除しましょう。
$ echo ./* | xargs rm -f
ちなみに OS の引数制限は以下のコマンドで確認できます。
$ getconf ARG_MAX
2097152
あるディレクトリー配下のファイル数の数え方 in Linux
$ sudo find /path/to/dir -type f | wc -l
top コマンドで切れてしまうプロセスの状況をロギングする。
ロギングしたいプロセス名 = processname とします。
while true; do ps auxww --sort=-pcpu | sed -e "s/^/`date +%T` /" | grep [p]rocessname >> cpu.log; sleep 1; done;