Réponses:
Je suis à peu près sûr que le -R
drapeau fonctionne - il l'a toujours fait pour moi de toute façon. Ce qui ne fonctionnera pas, et ce qui m’a fait trébucher au début de mon utilisation de la ligne de commande, est d’utiliser *
un répertoire contenant des fichiers / répertoires cachés. Faire
$ chown -R /home/user/*
ne fera pas les fichiers cachés et les répertoires. Cependant si vous le suivez avec
$ chown -R /home/user/.[^.]*
alors vous ferez tous les fichiers cachés (mais pas .
ou ..
comme vous le /home/user/.*
feriez). Cela dit, je m'attendrais à
$ chown -R /home/user
pour obtenir tous les fichiers et répertoires cachés /home/user
- bien que cela modifie bien sûr également les permissions du répertoire lui-même, ce qui peut ne pas être ce que vous vouliez.
chown nginx:nginx -R /path/to/.[^.]*
et il a seulement changé de propriétaire en fichiers cachés .dot. pas tout.
*
et suivre .[.^]*
pour obtenir tous les fichiers.
Je crois que la commande suivante devrait fonctionner pour cette
chown -hR userid:usergroup /nameofdirectory/nameofsubdir/
"chown -R" fonctionne, mais une alternative serait d'utiliser find.
find /path/to/dir -exec chown USER {} \;
+
au lieu de ;
comme terminateur de -exec sera plus efficace car il utilisera le nombre minimum nécessaire de forks à chown au lieu d'un fork par fichier / répertoire
L' utilisation de la boucle avec ls -A
option, nous pouvons trouver tous les fichiers cachés et le répertoire exclure .
et ..
puis modifiez la propriété pour tous les fichiers cachés et répertoire.
for i in `ls -A | grep "^\."`;do chown -R user:group $i;done
Utilisez l' xargs
option avecls -A
ls -A | grep "^\." | xargs chown user:group
Pour plus de détails, cliquez ici et visitez mon site
En outre, si vous êtes comme moi, vous exécuterez probablement chown principalement à partir du répertoire actuel. Je suis habitué à cette course comme: chown rails.rails -R *
. Changer simplement l'astérisque en un point (abrégé pour le répertoire en cours) comme ceci: chown rails.rails -R .
fait apparaître tous les répertoires cachés.
chown
fonctionnera avec les fichiers cachés et les répertoires. Dans l'exemple suivant, nous allons changer la propriété des utilisateurs et des groupes pour tous les fichiers de ~/some/folder
. Tous les fichiers incluent tous les fichiers cachés (par exemple .bashrc
, .profile
etc.) et les dossiers au ~/some/folder
niveau et au-dessous. Notez en particulier que nous ne souhaitons pas changer de propriétaire ~/some
, nous exclurons donc le fichier ~/some/..
des modifications de propriétaire.
$ cd ~/some/folder
$ sudo chown -R usrname:grpname .
$
Vous pourriez faire quelque chose comme
for i in `ls -A`;do chown -R user:group $i;done
Le -A
( capital A) est important car il exclut "." et '..'
chown
sur le répertoire a pour effet secondaire que vous modifiez les autorisations sur le répertoire lui-même ainsi que tout son contenu, ce qui peut être ou ne pas être ce que vous voulez.