Next: Recherche dans les fichiers.
Up: Les commandes de base.
Previous: Fichiers compressés.
Table des matières
5.14 Recherche de fichiers.
Vous pouvez faire usage de la commande find
pour rechercher des fichiers. Passez dans le répertoire racine (root
ou encore /) et tapez find. Cette commande
sonde tous les fichiers en descendant récursivement dans tous les
sous-répertoires [la commande va dans les répertoires,
les sous-répertoires et leurs sous-répertoires de rang inférieur tout
en répétant find].
En d'autres mots, find, exécuté à partir
du répertoire racine, affiche tous les fichiers du système. Comme
la commande travaillera durant un long moment, vous pourrez l'interrompre
en appuyant sur les touches
-
.
Maintenant, revenez dans votre répertoire home et exécutez find
à nouveau. Vous verrez tous les fichiers de votre répertoire personnel.
Vous pouvez spécifier différentes options à find:
- find -type d
- affiche seulement les répertoires mais pas leurs
fichiers,
- find -type f
- affiche seulement les fichiers et non les répertoires
qui les contiennent même si la commande descendra dans chacun d'eux,
- find -name <fichier>
- trouve exclusivement les fichiers qui ont
pour nom <fichier>. Par exemple, testez
find -name '*.c' qui détectera tous
les fichiers ayant l'extension .c (utiliser
l'expression find -name *.c sans les
caractères ' ' ne fonctionnera pas). find -name Mary_Jones.lettre
détectera le fichier portant le nom Mary_Jones.lettre,
- find -taille [[+|-]] <taille>
- trouve les fichiers qui
ont une taille supérieure à (pour +) ou inférieure à (pour -) <taille>
kilooctets ou à la taille spécifiée s'il n'y a pas de signe,
- find <répertoire> [<répertoire> ...]
- commence la recherche
dans chaque répertoire indiqué,
Il existe trop d'options pour ce petit tour d'horizon. Aussi, est-il
utile de se reporter à find(1) pour davantage
de détails (c'est-à-dire que vous devriez exécuter la commande man
1 find). Regardez aussi l'option -exec
qui force find à exécuter une commande
pour chaque fichier trouvé, par exemple:
find /usr -type f -exec ls '-al' '{}'
``;''
|
La commande find présente l'inconvénient
de lire de manière active les répertoires pour y trouver les fichiers.
Ce processus est lent, notamment lorsque vous commencez depuis le
répertoire racine. locate <fichier> est
une commande alternative. Celle-ci recherche les fichiers dans une
base de données établie au préalable. Donc, la recherche est rapide.
En contre-partie, il est nécessaire d'utiliser updatedb
afin de mettre à jour la base de données des fichiers utilisés par
locate. Sur certains systèmes, upadatedb
est exécuté automatiquement tous les jours à 4H00.
Testez ces commandes (updatedb prendra
quelques minutes):
updatedb
locate rpm
locate deb
locate passwd
locate HOWTO
locate README
|
Next: Recherche dans les fichiers.
Up: Les commandes de base.
Previous: Fichiers compressés.
Table des matières
1-01-2006