chmod sélectif

Le
SoULiANe
Je voudrais faire un chmod récursif sur un repertoire donné, avec le
mode 766 pour les fichiers non-repertoires et 777 pour les
repertoires Y'a t'il un moyen simple de faire ça ?

Un truc qui fasse ça quoi :

chmod -R 766 .
chmod -Rd 777 .

avec l'option 'd' que j'ai inventé et qui signifie "seulement sur les
repertoires"
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sebastien Kirche
Le #1518145
On 7 May 2004, SoULiANe wrote:

Bonjour aussi :),

Je voudrais faire un chmod récursif sur un repertoire donné, avec le
mode 766 pour les fichiers non-repertoires et 777 pour les
repertoires... Y'a t'il un moyen simple de faire ça ?

Un truc qui fasse ça quoi :

chmod -R 766 .
chmod -Rd 777 .

avec l'option 'd' que j'ai inventé et qui signifie "seulement sur les
repertoires"...


«man find» devrait être ton ami, peut-être avec «man xargs» ?

Quelque chose du genre (ton testé)
find . -type f | xargs chmod 766 pour les fichiers
et
find . -type d | xargs chmod 777 pour les dossiers

devrait faire l'affaire...

Sébastien Kirche

Sebastien Lardiere
Le #1518120
Je voudrais faire un chmod récursif sur un repertoire donné, avec le
mode 766 pour les fichiers non-repertoires et 777 pour les
repertoires... Y'a t'il un moyen simple de faire ça ?

Un truc qui fasse ça quoi :

chmod -R 766 .
chmod -Rd 777 .

chmod -R a+X .


extrait de la page de man :

X exécution, uniquement si le fichier est un répertoire, ou
s'il a déjà une autorisation d'exécution pour une des catégories
d'utilisateur (s'il s'agit donc bien d'un fichier exécutable)

--
Sébastien

SoULiANe
Le #1518111
chmod -R a+X .


Merci beaucoup !

Decidemment, y'a vraiment tout dans ces man pages... pourtant je l'avais
lu mais trop vite on dirait.

william
Le #1518107
On Fri, 07 May 2004 16:57:57 +0200, Sebastien Kirche wrote:


Quelque chose du genre (ton testé)
find . -type f | xargs chmod 766 pour les fichiers et
find . -type d | xargs chmod 777 pour les dossiers


euh ben :

find . -type d -exec chmod 766 {} ; # pour les fichiers
find . -type d -exec chmod 777 {} ; # pour les dossier

--
William.

David LE BOURGEOIS
Le #1066563
On 7 May 2004, SoULiANe wrote:

Bonjour aussi :),



Bonjour.


Je voudrais faire un chmod récursif sur un repertoire donné, avec le
mode 766 pour les fichiers non-repertoires et 777 pour les
repertoires... Y'a t'il un moyen simple de faire ça ?

Un truc qui fasse ça quoi :

chmod -R 766 .
chmod -Rd 777 .

avec l'option 'd' que j'ai inventé et qui signifie "seulement sur les
repertoires"...



«man find» devrait être ton ami, peut-être avec «man xargs» ?

Quelque chose du genre (ton testé)
find . -type f | xargs chmod 766 pour les fichiers
et
find . -type d | xargs chmod 777 pour les dossiers

devrait faire l'affaire...


Et si l'on possède un GNU find, on peut en profiter :

find . -type f -print0 | xargs -0 chmod 766
find . -type d -print0 | xargs -0 chmod 755

--
David LE BOURGEOIS


David LE BOURGEOIS
Le #1066560
On Fri, 07 May 2004 16:57:57 +0200, Sebastien Kirche wrote:



Quelque chose du genre (ton testé)
find . -type f | xargs chmod 766 pour les fichiers et
find . -type d | xargs chmod 777 pour les dossiers



euh ben :

find . -type d -exec chmod 766 {} ; # pour les fichiers
find . -type d -exec chmod 777 {} ; # pour les dossier



Dans ce cas, l'option -exec va créer un processus pour chaque fichier
trouvé. Alors qu'avec xargs, un seul chmod est effectué.

C'est négligeable lorsque le répertoire ne contient que quelques
fichiers, mais sinon, ça peut charger une machine inutilement.

--
David LE BOURGEOIS


william
Le #1066378
On Sun, 09 May 2004 14:25:34 +0200, David LE BOURGEOIS wrote:

Dans ce cas, l'option -exec va créer un processus pour chaque fichier
trouvé. Alors qu'avec xargs, un seul chmod est effectué.


même si c'est forké le processus fils ne s'étain pas de lui même après
l'éxécutioon de la commande ?

C'est négligeable lorsque le répertoire ne contient que quelques
fichiers, mais sinon, ça peut charger une machine inutilement.



--
William.

David LE BOURGEOIS
Le #1066924
On Sun, 09 May 2004 14:25:34 +0200, David LE BOURGEOIS wrote:


Dans ce cas, l'option -exec va créer un processus pour chaque fichier
trouvé. Alors qu'avec xargs, un seul chmod est effectué.



même si c'est forké le processus fils ne s'étain pas de lui même après
l'éxécutioon de la commande ?


Oui bien sûr, et heureusement.

Mais je voulais juste attirer l'attention sur le fait qu'un fork coûte
cher à la machine.
Et que, dans ce cas précis, faire autant de forks que de fichiers est
inutile, surtout quand on peu s'y prendre autrement.



C'est négligeable lorsque le répertoire ne contient que quelques
fichiers, mais sinon, ça peut charger une machine inutilement.







--
David LE BOURGEOIS


Publicité
Poster une réponse
Anonyme