回答:
私は-R
フラグが機能することをかなり確信しています-とにかく常にそれが私のために持っています。動作しないもの、およびコマンドラインの使用の早い段階で私をつまずかせたのは、*
隠しファイル/ディレクトリのあるディレクトリで使用していることです。だから
$ chown -R /home/user/*
非表示のファイルとディレクトリは実行しません。ただし、次の場合
$ chown -R /home/user/.[^.]*
次に、すべての隠しファイルを実行します(ただし、そうではない.
か..
、/home/user/.*
そうします)。すべてを言ったが、私は期待するだろう
$ chown -R /home/user
すべての隠しファイルとディレクトリを内部に取得します/home/user
-もちろん、ディレクトリ自体のアクセス許可も変更されますが、これは意図したものではない可能性があります。
chown nginx:nginx -R /path/to/.[^.]*
、所有権が.dot隠しファイルにしか変更されませんでした。すべてではない。
*
し.[.^]*
たように、すべてのファイルを取得するには、両方を実行し、それに従う必要があります。
私は次のコマンドがこれに役立つはずだと思います
chown -hR userid:usergroup /nameofdirectory/nameofsubdir/
forループls -A
オプションを使用する.
と..
、すべての隠しファイルとディレクトリを除外し、すべての隠しファイルとディレクトリの所有権を変更できます。
for i in `ls -A | grep "^\."`;do chown -R user:group $i;done
xargs
オプションを使用ls -A
ls -A | grep "^\." | xargs chown user:group
詳細については、ここをクリックしてサイトにアクセスしてください
chown
ディレクトリにすることで、またはあなたが望むものであってもなくてもよい、ディレクトリ自体のパーミッションだけでなく、そのすべての内容を変更することを副作用があります。