Lancer une commande Unix: find

XEmacs propose deux entrées dans le menu Outils afin de pouvoir lancer une commande du shell. La première, Ligne de commande..., vous demande, sur la ligne de dialogue, d'entrer une commande Unix. Vous pouvez par exemple connaître le nombre de lignes, de mots et de caractères d'un fichier en entrant la commande
wc  /TestRep/textA.txt $ \hookleftarrow$.
Vous obtiendrez alors:
6 80 527 textA.txt
sur cette même ligne de dialogue, vous indiquant que textA.txt comporte 6 lignes, 80 mots et 527 caractères.

Maintenant si vous désirez disposer d'un shell complet, vous devez utiliser l'entrée Shell du menu Outils. XEmacs ouvre un nouveau Buffer et lance un shell dans celui-ci. Non seulement toutes les commandes Unix peuvent être interprétées dans ce Buffer, mais également des scripts shell. Le résultat de chaque requête s'affichera dans ce Buffer.

Trois nouvelles entrées apparaissent dans la barre de menu de la fenêtre contenant cet émulateur de terminal. En particulier vous pouvez retrouver la liste de vos commandes en sélectionnant l'entrée History du menu Complete. Lorsque vous choisissez un élément de la liste, celui-ci est recopié sur la ligne courante de votre shell. Vous pouvez alors l'éditer avant de faire $ \hookleftarrow$.

La commande Unix, Find permet de retrouver facilement un ensemble de fichiers répondant à certains critères quelque soit leur emplacement. Il ne s'agit pas dans ce qui suit de décrire cette commande pour elle même, mais uniquement d'illustrer l'utilisation de l'émulateur de terminal.

Par exemple, si vous désirez retrouver l'emplacement de tous les fichiers comportant la chaîne ``text'' dans leur nom à partir de votre répertoire courant, entrez: find  / -name ``text*'' $ \hookleftarrow$
vous obtenez une liste de fichiers avec leur chemin complet. Si votre recherche commence dans un répertoire autre que votre répertoire personnel, Find ne pourra fournir des réponses que pour ceux pour lesquels vous disposez du droit de lecture. Ainsi, si vous écrivez: find ``/usr/doc/'' -name ``text*'' $ \hookleftarrow$
vous obtiendrez la liste de tous les fichiers que vous avez le droit de consulter, commençant par ``text'' et ceci à partir du répertoire /usr/doc.
Voici quelques arguments qui peuvent être précisés pour la recherche des fichiers:

-amin <n>
dernier accès au(x) fichier(s) il y a <n> minutes.
-atime <n>
dernier accès au(x) fichier(s) il y a <n> 24 heures.
-mmin <n>
dernières modifications des fichiers il y a <n> minutes.
-mtime <n>
dernières modifications des fichiers il y <n> 24 heures.
-name
motif (shell) de recherche pour les noms de fichiers.
-iname
idem mais sans différencier les majuscules et les minuscules.

La valeur numérique <n> peut être préfixée par le signe ``-'' pour indiquer un intervalle de temps inférieur à <n>, ou par `le signe ``+'' pour indiquer une période supérieure à <n>. Vous trouverez dans le tableau 2.8 quelques exemples :


Tableau 2.8: Exemples de recherche avec Find
find ``/home/step/'' -amin ``-35'' recherche les fichiers consultés
  depuis les 35 dernières minutes.
find ``/home/step/'' -amin ``35'' recherche les fichiers consultés
  il y a 35mn.
find ``/home/step/'' -amin ``+35'' recherche les fichiers consultés
  il y plus de 35mn.
find ``/home/step/'' -amin ``60'' -atime ``-1'' recherche les fichiers consultés
  depuis 24heures jusqu'à
  une heure avant l'heure actuelle.


L'option -amin peut évidemment être remplacée par une autre décrite précédemment.

Ceci ne représente qu'une toute petite partie des possibilités de la commande Find. Pour en savoir plus reportez vous à la documentation donnée par la commande man en sélectionnant Manuels Unix à partir de l'entrée Documentations du menu Aide et en entrant find sur la ligne de dialogue, en n'oubliant pas d'appuyer sur la touche $ \hookleftarrow$ pour valider votre choix.

GnuLinux user doblan@club-internet.fr
2001-06-07