Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:find [17/07/2014 19:09] smolski |
doc:systeme:find [24/03/2017 15:13] debianux [Une seconde version plus scolaire du TP01] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : find | * Objet : find | ||
- | * Niveau requis : {{tag>avisé}} | + | * Niveau requis : {{tag>débutant avisé}} |
* Commentaires : //Recherche de fichiers. // | * Commentaires : //Recherche de fichiers. // | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : |
- | * Création par [[user>smolski]] <date> | + | * Création par [[user>martin_mtl]] le 09/12/2012 |
* Testé par [[user>smolski]] 26-08-2013 | * Testé par [[user>smolski]] 26-08-2013 | ||
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=7310 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=7310 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | **Nota :** | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 140: | Ligne 138: | ||
Une option très pratique est ''-perm'' qui permet de sélectionner des fichiers en fonctions de leurs droits. \\ | Une option très pratique est ''-perm'' qui permet de sélectionner des fichiers en fonctions de leurs droits. \\ | ||
- | //Les droits peuvent être donné en forme octale ou littérale.// | + | //Les droits peuvent être donné en forme octale, par exemple 0755 ou littérale, u=rwx,g=rw,o=rw.// |
Voici par exemple comment obtenir la liste de tout les fichiers dans le repertoire ''/bin'' qui ont le ''bit setuid valant 1'' : | Voici par exemple comment obtenir la liste de tout les fichiers dans le repertoire ''/bin'' qui ont le ''bit setuid valant 1'' : | ||
Ligne 155: | Ligne 153: | ||
Cette option est intéressante pour la sécurité. Les fichiers listés dans la commande précédente sont tous exécuté avec les droits ''root''. | Cette option est intéressante pour la sécurité. Les fichiers listés dans la commande précédente sont tous exécuté avec les droits ''root''. | ||
+ | |||
+ | <note tip> | ||
+ | **Trois notations avec ''perm'', sans préfixe, précédé du signe – ou précédé du signe /**\\ | ||
+ | |||
+ | * __sans préfixe__ : | ||
+ | le mode du fichier doit être exactement celui passé à l’option -perm.\\ Par exemple, si on cherche les fichiers ayant le mode u=rwx (0700), tous les fichiers que l’on trouvera auront exactement le mode u=rwx (0700). | ||
+ | |||
+ | * __avec le signe –__ : | ||
+ | le mode du fichier doit être au moins égal à celui passé à l’option -perm\\ -u=r (-0400) -> u=r ou u=rw ou u=rx ou u=rwx ou u=r,g=x ... | ||
+ | |||
+ | * __avec le signe /__ : | ||
+ | un des modes (user, group ou other) doit être au moins égal à ceux passés à l’option -perm\\ /u=w,g=w,o=w -> u=w ou g=w ou o=w ou u=w,g=w,o=w ou u=rw,g=rwx ... | ||
+ | </note> | ||
===== Recherche par motif ===== | ===== Recherche par motif ===== | ||
Ligne 253: | Ligne 264: | ||
Exemple : | Exemple : | ||
<code user> | <code user> | ||
- | cd | + | cd</code> |
- | mkdir -p ~/tmp/df_tp01/ | + | <code user>mkdir -p ~/tmp/df_tp01/</code> |
- | cd ~/tmp/df_tp01/ | + | <code user>cd ~/tmp/df_tp01/ |
</code> | </code> | ||
Ligne 261: | Ligne 272: | ||
suite ainsi : | suite ainsi : | ||
<code user> | <code user> | ||
- | for i in $(seq 5); do mkdir toctoc$i; done | + | for i in $(seq 5); do mkdir toctoc$i; done</code> |
- | mkdir -p toctoc1/paf toctoc2/paf toctoc3/pif/paf toctoc4/paf/paf | + | <code user>mkdir -p toctoc1/paf toctoc2/paf toctoc3/pif/paf toctoc4/paf/paf</code> |
- | touch toctoc5/paf | + | <code user>touch toctoc5/paf</code> |
- | for i in $(seq 4); do for j in toctoc*; do mkdir -p $j/tchac$RANDOM; done; done | + | <code user>for i in $(seq 4); do for j in toctoc*; do mkdir -p $j/tchac$RANDOM; done; done |
</code> | </code> | ||
Ligne 368: | Ligne 379: | ||
Placez-vous dans un nouveau dossier créé pour l'occasion. Exemple : | Placez-vous dans un nouveau dossier créé pour l'occasion. Exemple : | ||
<code user> | <code user> | ||
- | cd | + | cd</code> |
- | mkdir -p tmp/df_tp01/ | + | <code user>mkdir -p tmp/df_tp01/</code> |
- | cd tmp/df_tp01/ | + | <code user>cd tmp/df_tp01/ |
</code> | </code> | ||
- | On va maintenant créer les fichiers et dossiers qui nous servirons pour la | + | On va maintenant créer les fichiers et dossiers qui nous serviront pour la |
suite. | suite. | ||
Voici pour la première partie : | Voici pour la première partie : | ||
<code user> | <code user> | ||
- | touch phaute_dorthografe | + | touch phaute_dorthografe</code> |
- | touch notes_temporaires | + | <code user>touch notes_temporaires</code> |
- | ~/tmp/df_tp01$ touch quisuisje | + | <code user>~/tmp/df_tp01$ touch quisuisje |
</code> | </code> | ||
Et pour la seconde : | Et pour la seconde : | ||
<code user> | <code user> | ||
- | ~/tmp/df_tp01$ for i in $(seq 5); do mkdir toctoc$i; done | + | ~/tmp/df_tp01$ for i in $(seq 5); do mkdir toctoc$i; done</code> |
- | ~/tmp/df_tp01$ mkdir -p toctoc1/paf toctoc2/paf toctoc3/pif/paf toctoc4/paf/paf | + | <code user>~/tmp/df_tp01$ mkdir -p toctoc1/paf toctoc2/paf toctoc3/pif/paf toctoc4/paf/paf</code> |
- | ~/tmp/df_tp01$ touch toctoc5/paf | + | <code user>~/tmp/df_tp01$ touch toctoc5/paf</code> |
- | ~/tmp/df_tp01$ for i in $(seq 4); do for j in toctoc*; do mkdir -p $j/tchac$RANDOM; done; done | + | <code user>~/tmp/df_tp01$ for i in $(seq 4); do for j in toctoc*; do mkdir -p $j/tchac$RANDOM; done; done |
</code> | </code> | ||
Ligne 548: | Ligne 559: | ||
Comparons avec ''-execdir'' | Comparons avec ''-execdir'' | ||
- | <code bash> | + | <code user> |
find . -depth -type d -name paf -execdir pwd \;</code> | find . -depth -type d -name paf -execdir pwd \;</code> | ||
<file bash résultat de la commande précédente> | <file bash résultat de la commande précédente> |