findでサーバー内で3日以内に修正されたファイルを探す


findのオプションが相変わらず良くわからない。

完全に自分用の備忘録だが、全ファイルで3日以内に修正されたやつを探す。

/procとかは除外して。

きっともっとエレガントな方法があるのだと思う。

findのor,andがマジわからん。


findコマンドで検索する階層を指定(maxdepth)


findコマンドで、そんな深い階層まで調べなくていいよって時に使う。

自分はカレントディレクトリのみでいい時に使うことが多そう。

  • カレントディレクトリのみでファイル名がgzで終わるやつ

    -maxdepth n で階層を指定してあげればよい。1ならカレントディレクトリのみ

スクリプトで配下のディレクトリにファイルをmvして、移動したファイルが次回のスクリプトで対象になってほしくない時なんかに使うと思う。


findコマンドで、サイズの大きいディレクトリを探す


なんでこんなこと調べようと思ったかというと、とあるシステムで特定のパーティションのi-nodeが溢れそうになっていた。

i-nodeを大量消費するのは、細かいファイルを大量に作るやつだと思うので、そんなディレクトリがあれば、

きっとディレクトリサイズがでかくなっているはず。

 

Linuxのディレクトリサイズは、中のファイル数が多くなると、大きくなる。細かい理由とかはgoogle先生に聞くといいと思う。

 

で、調べるのは、findコマンドでこんな感じ

普通のディレクトリであれば、4kのはずなので、このくらいデカければ、まー異常ってことで。

一応予想通り、i-nodeを大量消費しているディレクトリを特定出来た。


findでブロックファイルやキャラクタファイルを探す


めったに無いのだが、ファイルシステムがクラッシュした時の影響か、普通のファイルがブロックファイルやキャラクタファイルになっている時がある。そいつを検索する方法。

typeオプションで、b ならブロックファイル、c ならキャラクタファイル。

 

 

lsしたかったら

 

消したかったら、、、略