2012-10-29 9 views
20

私は、特定のディレクトリの下のすべてのファイル(およびディレクトリ)を、各ファイルを単独でchmodすることなく読み込みたいと思っています。これを再帰的に行うオプションがある場合は素晴らしいでしょう(フォルダとchmod 666の下のすべてのファイルを参照してください)ディレクトリの下にあるすべてのファイルをlinuxで読むことができますか?

+1

@PedroRomanoどのようにあなたはこの1つはbashスクリプトを書くためではありません知っているのですか? –

+0

@ H2CO3:ここではどのような質問ができますか?(http://stackoverflow.com/faq#questions)。 _Bash_はタイトルやテキストのどこにも書かれていません。 'bash'タグはありません。しかし、それはちょうどコメントですよね? –

+1

@Rorchackh「すべてのファイル」を書き込んだときに、読み込み可能な**ファイルのみ**を作成してディレクトリを除外したいのですか、または「ディレクトリ内のすべてのエントリ」を意味しましたか?私は後の方が当てはまると思います。 –

答えて

25

man 3 chmodには、探している情報が含まれています。

chmod -R +r directory 

-Rオプションは、再帰的に動作させるためにchmodに指示します。ディレクトリとして

+2

歴史的な '-r'は* recursive *操作のためのものであり、' -R'は*危険な再帰的な*のものです。大文字の 'R'が' chmod'と 'chown'に使われているのであれば、' find'のようにもっと正確な操作をしたいからです。私の答えを見てください! –

7

は、リンクが含まれているおよび/またはマウントを結合することができ、findの使用は何をすべきかで最高の精度を確保することができ、マウントの下のパスを除外するには....

find directory \(-type f -o -type d \) -print0 | 
    xargs -0 chmod ugo+r 

を何をするかしないようにポイント:

find directory \(-type f -o -type d \) ! -name '.htaccess' -print0 | 
    xargs -0 chmod ugo+r 
関連する問題