web-dev-qa-db-fra.com

J'ai utilisé la commande find sans spécifier de répertoire

J'ai utilisé cette commande sans spécifier de répertoire:

Sudo find -type d -exec chmod 755 {} \

Qu'est-ce qui aurait pu arriver? J'étais dans le dossier/var/www/html. A-t-il modifié des autorisations en dehors du répertoire/var/www/html?

1
Cayenne

Vous avez manqué un ; ou un {} + et peut ignorer le chemin (pour exécuter trouver à partir du répertoire courant)

Sudo find -type d -exec chmod 755 {} \;

Dans ce cas, votre recherche commence dans le répertoire courant avec des sous-répertoires. Mais vous pouvez évidemment définir le répertoire.

Répertoire actuel:

Sudo find . -type d -exec chmod 755 {} \;

Chemin absolu:

Sudo find /var/www/html -type d -exec chmod 755 {} \;

Explication:

Sudo - exécuter en tant que superutilisateur

find -type d - recherche dans les répertoires uniquement (si vous avez besoin de fichiers, utilisez uniquement find -type f. Si vous n'avez pas d'importance les fichiers ou les répertoires, supprimez simplement - tapez d [f] de la commande).

-exec chmod 755 {} \; - exécuter la commande chmod 755 pour chaque objet fondé dans la commande qui init -exec param (dans ce cas trouve commande).

-exec chmod 755 {} + - exécuter la commande chmod 755 pour un tableau complet des résultats fondés à la fois ..

1
mature

Ubuntu utilise GNU find, qui suppose le répertoire de travail actuel si vous n'en spécifiez pas. Plus précisément, il suppose . et tous les éléments trouvés par la commande auront ./ préfixe de leur chemin lorsqu'il est passé à -exec commande. Il ne traverserait donc que /var/www/html; si votre répertoire de travail actuel était vraiment dans /var/www/html rien en dehors de cela ne serait affecté. D'autres implémentations de find peuvent nécessiter un argument de répertoire comme BSD find par exemple.

Cependant, comme mature's answer mentionné, votre syntaxe est incomplète, donc cette commande ne s'exécutera pas. Le \ à la fin indiquerait au shell que la commande est incomplète et afficherait PS2 Invite qui est >

3