Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
288
Help us understand the problem. What is going on with this article?
@takeshi81

ファイルやディレクトリのパーミッションを一括で置換したい

More than 5 years have passed since last update.

追記 2015/01/09 13:00

コメントで、さらにスマートな書き方をお教えいただきました。ありがとうございます!

追記 2015/01/10 02:20

更にコメントで、そもそもfindを使わずchmodだけで実現する方法をお教えいただきました!qiita、すごいです。


例えば、/path/to/dir以下のディレクトリのパーミッションを変更したいとき、

chmod -R 755 /path/to/dir

などとやると、/path/to/dir以下にあるディレクトリはもちろん、ファイルのパーミッションまで755になってしまいます。644にすると、ディレクトリも644になってしまって困ります。手動でディレクトリのパーミッションだけ直すのも何だかスマートではありません。

ディレクトリは755、ファイルは644に一発で置換したい、というときはこんなのがよい、とこちらの記事のコメントで紹介されておりました。

find /path/to/dir -type d -exec chmod 755 {} +
find /path/to/dir -type f -exec chmod 644 {} +

なるほど。あと、よく使うのであれば、~/.bashrcに関数を登録しておくのも便利かもしれません。

.bashrc
function chmod-r(){
  find $1 -type $2 -exec chmod $3 {} +
}

chmod-rの部分は他のコマンドとかぶらなければお好みで構わないのですが、chmod-r /path/to/dir d 755などと入力すると、find /path/to/dir -type d -exec chmod 755 {} +が実行されるようになります。

288
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
takeshi81
五十嵐武志: Web開発者🛠&デザイナー📐。うっかり会社を立ち上げてしまった元フリーランサー。75年度静岡県産。旅とネコとカピバラを愛する、大人しい性格。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
288
Help us understand the problem. What is going on with this article?