2011-10-27 9 views
2

私のサイトのすべてのフォルダでフォルダのアクセス権を変更しようとしていますが、ファイルは変更しません。linuxのファイルではなく、フォルダのアクセス権のみを変更する

私は ls -l | egrep '^d'を行うことによって、それらを一覧表示することができますが、これを行うにはどのような方法があり

chmod 751 | egrep '^d' chmodのは3つのparamsを期待していますが、私はそれをegrepの結果を与える方法についてはわからないんだと、私はエラーを取得。

私はchmod 751 -R *.*を使用して不正行為を試みましたが、「。」のあるフォルダがいくつかあります。名前ではうまくいかないでしょう。

答えて

11

私はこれが動作する必要がありますね:

find . -type d -exec chmod 751 {} \; 
+2

コマンドは再帰的であり、サブディレクトリでも実行されることに注意してください(OPの例は現在のディレクトリのみを扱います)。現在のディレクトリに制限するには、 '--maxdepth'オプションを使います。 –

0

あなたがあなたを変更したい項目をリストする方法を持っていれば、必ず$()(またはバッククォート)でそれをラップすることができ、そのビットが最初に実行され、配置持っています

chmod 751 $(ls -l | egrep '^d') 
+0

'egrep'は何のために働いていますか? –

+0

私は彼の質問からそれを取っていたが、誤って最初のビットを捨てました。 – Thor84no

+0

別の問題は、ファイル名がスペースで正しく処理されず、ファイルが多すぎると「引数リストが長すぎます」というエラーが発生することです。 –

関連する問題