Відповіді:
Я майже впевнений, що -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
каталозі побічного ефекту полягає в тому, що ви змінюєте дозволи на сам каталог, а також на весь його вміст, який може бути, а може і не бути тим, що ви хочете.