Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

chmod sélectif

8 réponses
Avatar
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"...

8 réponses

Avatar
Sebastien Kirche
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

Avatar
Sebastien Lardiere
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

Avatar
SoULiANe
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.

Avatar
william
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.

Avatar
David LE BOURGEOIS
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


Avatar
David LE BOURGEOIS
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


Avatar
william
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.

Avatar
David LE BOURGEOIS
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