Chapitre 16. Les utilitaires en ligne de commande

Table des matières
16.1. grep : General Regular Expression Parser (analyseur syntaxique général d'expressions rationnelles)
16.2. find : rechercher des fichiers selon certains critères
16.3. crontab : exécuter des commandes périodiques
16.4. at : programmer une commande une seule fois
16.5. tar : Tape ARchiver (archiveur sur bandes)
16.6. bzip2 et gzip : compression de données
16.7. Et puis, il y en a encore tant et tant !...

Ce chapitre présentera un petit nombre d'outils en ligne de commande qui peuvent s'avérer utiles au quotidien. Bien sûr, passez ce chapitre si vous pensez n'utiliser qu'un environnement graphique. Un rapide coup d'œil peut vous faire changer d'avis :-)

Ce chapitre se contente de lister les utilitaires des plus utilisés aux plus obscurs. Chaque commande sera illustrée par un exemple, mais comme exercice, vous pourrez lui trouver des usages encore plus intéressants.

16.1. grep : General Regular Expression Parser (analyseur syntaxique général d'expressions rationnelles)

D'accord, le nom n'est pas très pratique, pas plus que son acronyme, mais son utilisation est très simple : il cherche un motif donné en argument dans un ou plusieurs fichiers. Sa syntaxe est :

grep [options] <motif> [un ou plusieurs fichier(s)]

Si on a précisé plusieurs noms de fichiers, ceux-ci apparaîtront en début des lignes et rempliront les critères du motif, à moins qu'on n'ait utilisé l'option -h. L'option -l, quant à elle, a pour effet de n'afficher que le nom des fichiers dont au moins une ligne remplit les conditions du motif. Il est parfois utile, lorsque la liste des arguments est longue, de parcourir les fichiers à l'intérieur d'une boucle du shell et d'utiliser l'astuce suivante : grep <motif> <nom_de_fichier> /dev/null. Le motif est une expression rationnelle, bien que la plupart du temps il ne consiste qu'en un simple mot. Les options les plus couramment utilisées sont les suivantes :

  1. -i : Rechercher en ignorant la casse (ou capitalisation).

  2. -v : Inverser la recherche : trouver les lignes ne correspondant pas au motif.

  3. -n : Afficher le numéro de ligne pour chaque ligne trouvée.

  4. -w : Dit à grep que le motif doit correspondre à un mot entier. Attention, les caractères considérés comme pouvant faire partie d'un mot dépendent du réglage de la langue.

Voici un exemple d'utilisation :

$ cat mon_papa
Hello dad
Hi daddy
So long dad
 
  # Chercher la chaîne "hi", peu importe la casse
$ grep -i hi victim
Hi daddy
 
  # Chercher "dad" comme un mot entier, et afficher
  #   le numéro de ligne en face de chaque ligne
  #   correspondante
$ grep -nw dad victim
1:Hello dad
3:So long dad
 
  # Chercher toutes les lignes ne commençant pas
  #   par un "H"
$ grep -v "^H" victim
So long dad
$           

Si vous voulez utiliser grep dans un tube, vous n'avez pas à spécifier de nom de fichier, car par défaut, il prend son entrée depuis l'entrée standard. De même, par défaut, il affiche les résultats sur la sortie standard, donc vous pouvez sans crainte mettre la sortie de grep dans un autre tube. Par exemple :

$ cat /usr/doc/HOWTO/Parallel-Processing-HOWTO | \
  grep -n thread | less

Tux sur Étoile de MandrakeSoft Linux est une marque déposée de Linus Torvalds. Toutes les autres marques et copyrights sont la propriété de leurs auteurs respectifs.
Sauf mention contraire, tout le contenu de ces pages et toutes les images sont Copyright MandrakeSoft S.A. et MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/