【Linux】特定オーナーのファイルやディレクトリのみに対して何かコマンドを実行したいとき

例えば、オーナーがhogeのディレクトリ配下にmkdirしたい
例えば、オーナーがhanakoのファイルにのみchownしたい
そんなときに使える小技の紹介。

findをうまく使えると幸せになる。

ここではとりあえずオーナーがhanakoユーザのファイルに対してchownをする例を上げてみます。

※カレントディレクトリ配下から再帰的に実行する場合

find . -user hanako -exec chown tarou {} \;

こんな感じになる。

find . -user hanako
で得られた結果が、{} に置換されるイメージよいかと。

find . -user hanako -print | xargs chown tarou

でももちろんOK

カレントディレクトリ直下だけに留めたい場合

find . -maxdepth -user hanako -exec chown tarou {} \;

という感じで-maxdepthを1で指定してあげればOK。

幸せいっぱいですね。

技術系

Posted by chat