再帰フラグを持つchownのように見えますが、隠しディレクトリまたはファイルでは機能しません。そのための簡単な回避策はありますか?
-R
フラグが機能することは間違いありません。機能しないのは、コマンドラインの使用の早い段階で私が失敗したのは、隠しファイル/ディレクトリがあるディレクトリで*
を使用しているためです。そうやって
$ chown -R /home/user/*
隠しファイルと隠しディレクトリは行いません。しかし、あなたがそれに続くなら
$ chown -R /home/user/.[^.]*
次に、すべての隠しファイルを実行します(ただし、.
とは異なり、..
または/home/user/.*
は実行できません)。それをすべて言っても、私は期待します
$ chown -R /home/user
/home/user
内のすべての隠しファイルとディレクトリを取得するには-もちろん、ディレクトリ自体の権限も変更されますが、これは意図したものではない可能性があります。
私は次のコマンドがこれのために働くべきだと信じています
chown -hR userid:usergroup /nameofdirectory/nameofsubdir/
「chown -R」は機能しますが、代わりにfindを使用することもできます。
find /path/to/dir -exec chown USER {} \;
dotglob
属性を一時的に変更して展開できます。ファイルを元に戻します。
shopt -s dotglob; chown -R user:group FOLDER; shopt -u dotglob
dotglob
の詳細については、こちらをご覧ください ここ
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
は隠しファイルおよび隠しディレクトリで動作します。次の例では、_~/some/folder
_内のallファイルのユーザーとグループの所有権を変更します。 すべてファイルには、すべての非表示ファイル(例:_.bashrc
_、_.profile
_など)およびフォルダが含まれます_~/some/folder
_レベル以下。特に、_~/some
_の所有権を変更したくないため、ファイル_~/some/..
_を所有権の変更から除外します。
_$ cd ~/some/folder
$ Sudo chown -R usrname:grpname .
$
_
また、あなたが私のようであれば、おそらく現在のディレクトリからchownを実行しているでしょう。私は次のように実行することに慣れていました:chown Rails.rails -R *
。次のように、アスタリスクをドット(現在のディレクトリの略)に変更するだけです:chown Rails.rails -R .
はすべての隠しディレクトリを取り込みます。
現在のユーザーの現在のディレクトリとサブディレクトリにあるすべてのファイルを変更する。
find . -exec chown $(whoami) {} \;
または、権限が制限されているためにユーザーが一部のファイルをchownできない場合。
Sudo find . -exec chown $(logname) {} \;