chmod
コマンドプロンプトでlinux
を使用して、すべてのファイルを644に、すべてのフォルダを755に変更する方法を教えてください。 (ターミナル)
1つの方法はfindを使うことです。
find /desired_location -type d -print0 | xargs -0 chmod 0755
find /desired_location -type f -print0 | xargs -0 chmod 0644
最も簡単な方法は次のとおりです。
chmod -R u+rwX,go+rX,go-w /path/to/dir
これは基本的には
ch
angeファイルmod
es -R
に再帰的に与えることで:
u
ser:r
ead、w
riteおよびeX
ecuteの許可g
roupおよびo
therユーザー:r
eadおよびeX
ecute権限。ただし-w
rite権限は付与されません。X
はディレクトリを実行可能にしますが、既に検索可能/実行可能でない限りファイルにはしません。
+X
- ディレクトリまたはファイルを誰でも検索可能または実行可能にする場合は、誰でも検索可能または実行可能にします。
詳細についてはman chmod
を確認してください。
参照してください: ファイルを除くすべてのディレクトリを(再帰的に)chmodするには? SUで==
私が思い付くことができる最も短いものは、次のとおりです。
chmod -R a=r,u+w,a+X /foo
これはGNU/Linux上で動作し、私は一般的にPosixを信じています(私の読書から: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html ).
これが何をするものです:
重要なことに、ステップ1の許可はすべての実行ビットをクリアするため、ステップ3はディレクトリの実行ビットのみを追加します(ファイルは決して追加しません)。さらに、ディレクトリが再帰される前に、3つのステップすべてが発生します(したがって、これは.
chmod -R a=r /foo
chmod -R u+w /foo
chmod -R a+X /foo
a = rはディレクトリからxを削除するので、chmodはそれらを再帰することはできません。)
これは私のために働いた:
find /A -type d -exec chmod 0755 {} \;
find /A -type f -exec chmod 0644 {} \;
私にとって覚えやすいのは2つの操作です。
chmod -R 644 dirName
chmod -R +X dirName
+ Xはディレクトリにのみ影響します。
次のようにして、両方を単一パスで実行します。
find -type f ... -o -type d ...
のように、タイプf ORタイプdを見つけ、最初のファイルを...そして次のディレクトリをdirにします。具体的には:
find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +
黙って動作させたい場合は--changes
を省略してください。
に https://help.directadmin.com/item.php?id=589 彼らは書いている:
Public_htmlデータをディレクトリ用に755、ファイル用に644にリセットする簡単な方法が必要な場合は、次のようなものを使用できます。
cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
私はテストしました...それは動作します!