findを極める!
1.名前で検索
ここらへんはまだ基本ですね。
find -name "MyCProgram.c"2.名前で検索(大文字小文字を区別しない)
この場合はinameで。
find -iname "MyCProgram.c"3.検索するフォルダの階層を指定する
maxdepthとmindepthで指定しますよ。両方同時に使うこともできますな。
find -mindepth 3 -maxdepth 5 -name passwd4.検索したファイルに対してコマンドを実行
ここらへんはマスターしたいですね。大量のファイルを一気に削除するときにも使えますね。{}に検索したファイル名が代入されていきます。
find -iname "MyCProgram.c" -exec md5sum {} \;5.一致しないものを検索
これじゃないもの、を検索したいときもありますね。
find -not -iname "MyCProgram.c"6.node numberで検索
個人的にはここまでのレベルに達していないかな・・・。でも覚えておこう。
find -inum 161874307.パーミッションで検索
こちらも便利ですね。パーミッションがちゃんとなっているか確認できますな。
find . -perm g=r -type f -exec ls -l {} \;慣れ親しんでいるこんな形式でも可能ですな。
find . -perm 040 -type f -exec ls -l {} \;8.空のファイルを検索
サイズがゼロのファイルはこうやって探します。
find . -empty9.サイズの大きなファイルを検索
こちらも便利そう。ファイルが大きい順に5つ表示します。
find . -type f -exec ls -s {} \; | sort -n -r | head -510.サイズの小さなファイルを検索
上記の逆。次のコマンドではさらに空のファイルを除外しています。
find . -not -empty -type f -exec ls -s {} \; | sort -n | head -511.ファイルの種別で検索
ディレクトリだけ検索とか、ですね。
find . -type d12.指定したファイルよりあとに更新されたファイルを検索
これ知らなかったなぁ・・・。こんなに簡単に出来たのか。
find -newer ordinary_file13.ファイルサイズで検索
これも便利そう。100Mより大きなファイルだけ検索したいときはこんな感じ。
find ~ -size +100M14.よく使うfindコマンドを登録
よく使うものはaliasで登録しておくと良いですね、というTips。
alias rmc="find . -iname core -exec rm {} \;"15.大きなファイルを削除
あるサイズより大きなファイルを一気に削除したい場合。いままでの応用みたいな感じですな。
alias rm100m="find / -type f -name *.tar -size +100M -exec rm -i {} \;"