Відповіді:
Я майже впевнений, що -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/
"chown -R" працює, але альтернативою буде пошук.
find /path/to/dir -exec chown USER {} \;
+замість ;термінатора до -exec буде більш ефективним, оскільки воно використовуватиме мінімально необхідну кількість вилок для подачі замість однієї виделки на файл / каталог
Використання для циклу з 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 rails.rails -R *. Просто змінивши зірочку на крапку (скорочується для поточного каталогу), як це: містить chown rails.rails -R .усі приховані каталоги.
chownпрацюватиме з прихованими файлами та каталогами. У наступному прикладі ми змінимо власність користувачів та груп для всіх файлів у ~/some/folder. Усі файли містять усі приховані файли (наприклад .bashrc, .profileтощо) та папки на ~/some/folderрівні та нижче. Зокрема, зауважте, що ми не бажаємо змінювати право власності на ~/some, і тому будемо виключати файл ~/some/..із змін власності.
$ cd ~/some/folder
$ sudo chown -R usrname:grpname .
$
Ви могли зробити щось подібне
for i in `ls -A`;do chown -R user:group $i;done
-A( Капітал А) важливо , так як це виключає ". і ".."
chownкаталозі побічного ефекту полягає в тому, що ви змінюєте дозволи на сам каталог, а також на весь його вміст, який може бути, а може і не бути тим, що ви хочете.