13.10. Tubes et pageurs

Dans Linux, les tubes (ou 'pipes' en anglais) connectent la sortie standard d'une commande à l'entrée standard d'une autre commande.

Prenez, par exemple, la commande ls dont nous avons parlé précédemment. Un grand nombre d'options peuvent certes être utilisées avec la commande ls, mais que faire si le contenu d'un répertoire défile trop rapidement pour que vous ayez le temps de tout lire?

Affichez le contenu du répertoire /etc/ en utilisant la commande:

ls -al /etc

Comment consulter plus longuement la sortie avant qu'elle ne disparaisse de l'écran?

L'une des façons consiste à tuber la sortie vers un utilitaire appelé less, un utilitaire de pageur qui vous permet d'afficher les informations page par page (ou écran par écran).

Utilisez la barre verticale (|) pour tuber les commandes.

ls -al /etc | less

Vous pouvez maintenant afficher le contenu de /etc écran par écran. Pour passer à l'écran (ou page) suivant, appuyez sur la [Barre espace]; pour revenir en arrière, appuyez sur [B]; pour quitter, appuyez sur [Q]. Vous pouvez également utiliser les flèches pour naviguer avec la commande less.

Si vous souhaitez rechercher la sortie d'un fichier texte en utilisant less, appuyez sur [/] puis entrez le mot clé que vous recherchez dans le fichier. Par exemple:

/Linux

TuyauAstuce
 

Afin d'avoir plus de temps pour lire vos messages de démarrage, entrez dmesg | less à l'invite du shell. Vous pourrez ainsi lire le fichier écran par écran. Utilisez les flèches pour naviguer dans le fichier; pour rechercher des passages particuliers dans un fichier, appuyez sur [/] et le terme recherché.

Les tubes peuvent aussi être utilisés pour n'imprimer que certaines lignes d'un fichier. Tapez:

grep coffee sneakers.txt | lpr

Cette commande permet d'imprimer chaque ligne du fichier sneakers.txt contenant le mot "coffee" (pour en savoir plus sur grep, reportez-vous à la Section 13.11.3).

13.10.1. La commande more

La différence principale entre more et less réside dans le fait que less vous permet de vous déplacer vers l'avant et l'arrière à l'aide des flèches de navigation alors que more utilise la [Barre espace] en combinaison avec la touche [B] pour la navigation.

Pour afficher le contenu du répertoire /etc il suffit d'utiliser les commandes ls et more.

ls -al /etc | more

Figure 13-10. Tubage de la sortie de ls vers more

Si vous souhaitez rechercher des mots clés à l'intérieur d'un fichier texte en utilisant more, appuyez sur [/] puis tapez l'élément que vous recherchez dans le fichier. Par exemple:

/foo

Utilisez la [Barre espace] pour avancer dans les pages. Appuyez sur la touche [q] pour quitter.