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 | ||
linux:find [24-06-2013 15:59] edmc73 |
linux:find [25-01-2014 14:34] edmc73 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Find ====== | ====== Find ====== | ||
+ | |||
+ | ===== Commande utile ===== | ||
+ | |||
+ | Permet d' | ||
+ | find -mtime -1 -type f -exec ls -sh {} \; | sort -hr | ||
===== Utilisation de la commande find ===== | ===== Utilisation de la commande find ===== | ||
Ligne 6: | Ligne 11: | ||
La commande find permet de chercher des fichiers, et eventuellement d' | La commande find permet de chercher des fichiers, et eventuellement d' | ||
- | find . -print | + | find . | less |
- | affiche la liste de tous les fichiers du répertoire courant | + | affiche la liste de tous les fichiers du répertoire courant. On peut rediriger les messages d' |
- | find . -print | + | find . 2> /dev/null | less |
ou les inclures (on rassemble alors en un seul canal la sortie standard et le sortie d' | ou les inclures (on rassemble alors en un seul canal la sortie standard et le sortie d' | ||
- | find . -print | + | find . 2>&1 liste | less |
Les options de la commande find sont nombreuses. | Les options de la commande find sont nombreuses. | ||
Ligne 18: | Ligne 23: | ||
^ Option ^ Signification | ^ Option ^ Signification | ||
| -name | Recherche par nom de fichier. | | -name | Recherche par nom de fichier. | ||
+ | | -iname | Recherche par nom insensible à la casse | | ||
| -type | Recherche par type de fichier. | | -type | Recherche par type de fichier. | ||
| -user | Recherche par propriétaire. | | -user | Recherche par propriétaire. | ||
Ligne 31: | Ligne 37: | ||
Pour les options -size, -atime, -mtime, -ctime et -links, il faut spécifier une valeur, précédée par le signe '' | Pour les options -size, -atime, -mtime, -ctime et -links, il faut spécifier une valeur, précédée par le signe '' | ||
- | find . -mtime -3 -print | + | find . -mtime -3 |
affiche les fichiers dont les dernières modifications remontent à moins de 3 jours (donc tous les fichiers modifiés entre aujourd' | affiche les fichiers dont les dernières modifications remontent à moins de 3 jours (donc tous les fichiers modifiés entre aujourd' | ||
Ligne 37: | Ligne 43: | ||
Pour afficher tous les fichiers se terminant par '' | Pour afficher tous les fichiers se terminant par '' | ||
- | find . -name " | + | find . -name "*.c" |
+ | |||
+ | Vous pouvez utiliser les caractères joker '' | ||
+ | find . -name " | ||
+ | N' | ||
+ | | ||
Pour afficher tous les répertoires dont le nom se termine par '' | Pour afficher tous les répertoires dont le nom se termine par '' | ||
- | find . -type d -name " | + | find . -type d -name " |
- | Pour afficher tous les fichiers, on aurait utilisé le code f. \\ | + | |
- | Pour afficher tous les fichiers ayant une taille de 10 blocs9.1 | + | Pour afficher tous les fichiers, on aurait utilisé le '' |
- | find . -size 10 -print | + | Pour afficher tous les fichiers ayant une taille de 10 blocs : |
+ | find . -size 10 | ||
+ | | ||
ce qui est équivalent à demander la liste des fichiers ayant une taille de 5120 caractères : | ce qui est équivalent à demander la liste des fichiers ayant une taille de 5120 caractères : | ||
- | + | | |
- | | + | |
- | On aurait pu aussi demander la liste des fichiers ayant une taille supérieure (+200k) ou inférieure (-200k) à 200 Ko. \\ | + | On aurait pu aussi demander la liste des fichiers ayant une taille supérieure (+200k) ou inférieure (-200k) à 200 Ko. |
+ | find . -size +200k | ||
+ | | ||
Pour afficher tous les fichiers ayant une certaine permission exprimée en octale (voir section 1.9.6 page [*]) : | Pour afficher tous les fichiers ayant une certaine permission exprimée en octale (voir section 1.9.6 page [*]) : | ||
- | find . -perm 755 -print | + | find . -perm 755 |
+ | | ||
ou ayant au minimum les droits d' | ou ayant au minimum les droits d' | ||
- | + | | |
- | | + | |
Pour éxecuter la commande ls -l pour chaque fichier trouvé : | Pour éxecuter la commande ls -l pour chaque fichier trouvé : | ||
find . -type f -exec ls -l {} \; | find . -type f -exec ls -l {} \; | ||
+ | | ||
et pour demander confirmation avant chaque action : | et pour demander confirmation avant chaque action : | ||
- | |||
find . -type f -ok -exec rm {} \; | find . -type f -ok -exec rm {} \; | ||
+ | | ||
Toute autre commande peut être éxecutée avec l' | Toute autre commande peut être éxecutée avec l' | ||
- | Pour associer plusieurs critères avec -a pour et, -o pour ou, ! pour négation. Par exemple : | + | Pour associer plusieurs critères avec '' |
- | find . ! -user root -print | + | find . ! -user root |
+ | | ||
affiche tous les fichiers n' | affiche tous les fichiers n' | ||
- | + | | |
- | | + | |
affiche tous les fichiers se terminant par '' | affiche tous les fichiers se terminant par '' | ||
+ |