パーミッションをディレクトリは775、ファイルは664にする

パーミッションをディレクトリは775、ファイルは664にしたいときってありますよね。

下記のコマンドで解決です。

$ find path/to/dir -type d | xargs chmod 775
$ find path/to/dir -type f | xargs chmod 664

説明

以下のようなコマンドも存在していますが、Linuxのコマンドの引数には上限があり、下記のコマンドだとエラーが出ることがあるそうです。

$ find ./ -type d -exec chmod 775 {} +
$ find ./ -type f -exec chmod 664 {} +

またchmod一発でchmod -R a=rX,u+w path/to/dirのように設定することもできますが、このコマンドはディレクトリ または 実行可能ファイルの権限にxをつけるというものなので、毎回同じ結果が得られない可能性があります(既に間違えてファイルに実行権限を付与していた場合など)

そのため、手間ではありますが、一番上のように、2回コマンドを実行してディレクトリとファイルそれぞれに権限を付与する方法が安全といえます