Red Hat Linux 7.1: Guide de démarrage officiel Red Hat Linux | ||
---|---|---|
Précédent | Chapitre 10. Eléments de base de l'invite du shell | Suivant |
Red Hat Linux est doté d'un utilitaire qui peut vous aider à manipuler des listes courtes, les regrouper et, en même temps, vous montrer un peu la puissance de votre système.
Cet utilitaire est appelé cat, une forme abrégée de "concaténer", qui signifie regrouper des fichiers en chaîne.
La commande cat permet également d'afficher le contenu d'un fichier entier à l'écran (par exemple, entrez cat filename.txt). L'utilisation de cat peut être pratique si le fichier est passablement court, mais si un fichier est plutôt long, il se mettra à défiler devant vous à l'écran car cat affiche le fichier en entier.
De plus, cat peut faire une démonstration rapide de deux termes très importants : entrée standard et sortie standard.
L'entrée et la sortie standard dirigent l'entrée et la sortie vers l'utilisateur. Si un programme lit à partir de l'entrée standard, il lira par défaut à partir du clavier. Si un programme écrit vers une sortie standard, il écrira par défaut vers l'écran.
Lancez cat pour voir exactement sa signification. A l'invite du shell, entrez :
cat |
Le curseur se met sur une ligne vierge. Sur cette ligne, entrez
stop by sneaker store |
et appuyez sur la touche Entrée. Votre écran ressemblera à ceci :
[newuser@localhost newuser]$ cat stop by sneaker store stop by sneaker store |
Pour quitter cat, déplacez le curseur sur une ligne vierge en appuyant sur la touche Entrée. Ensuite, appuyez sur les touches Ctrl-D.
Vous venez d'assister à la démonstration de la commande cat des termes entrée et sortie standard ; vous avez entré des mots (entrée standard) et ils ont été affichés à l'écran (sortie standard).
La redirection signifie que l'on apporte un modification de sorte que le shell change ce qu'il considère être l'entrée standard ou la destination de la sortie standard.
Précédemment, nous avons utilisé cat pour faire une démonstration de l'idée à la base de l'entrée et de la sortie standard. Maintenant, nous allons l'utiliser pour voir de quelle façon la sortie standard peut être redirigée.
Pour rediriger la sortie standard, nous utilisons le symbole >. Lorsque l'on place > après la commande cat (ou après tout utilitaire ou toute application qui écrit vers la sortie standard) on envoie la sortie au nom du fichier suivant le symbole.
Essayons. Dans une invite du shell, entrez :
[newuser@localhost newuser]$ cat > sneakers.txt buy some sneakers then go to the coffee shop then buy some coffee |
Maintenant, appuyez sur la touche Entrée pour vous placer sur une ligne vierge et utilisez les touches Ctrl-D pour quitter cat.
Voyez-vous la différence (voir la Figure 10-8) ? D'une part, il n'y a pas de doublon car la sortie standard de cat a été redirigée vers un tout nouveau fichier que vous avez appelé sneakers.txt.
Vous pouvez trouver ce fichier dans le répertoire où vous étiez lorsque vous avez lancé cat (entrez ls si vous voulez le voir dans la liste).
Vous pouvez même utiliser cat pour lire le fichier, en entrant
cat sneakers.txt |
à l'invite.
N'écrasez pas les fichiers | |
---|---|
Faites attention lorsque vous redirigez la sortie vers un fichier car vous pourriez facilement écraser un autre fichier ! Assurez-vous que le nom du fichier que vous créez n'est pas identique au nom d'un fichier déjà existant, à moins de vouloir le remplacer. |
Utilisons la redirection de sortie pour un autre fichier que nous appellerons home.txt. Entrez ce qui suit :
[newuser@localhost newuser]$ cat > home.txt bring the coffee home take off shoes put on sneakers make some coffee relax! |
Placez-vous sur une ligne vierge et utilisez, une fois de plus, les touches Ctrl-D pour quitter cat.
Jetons un coup d'oeil au fichier, en entrant
cat home.txt |
à l'invite.
Utilisez cat encore une fois pour associer home.txt avec sneakers.txt et rediriger la sortie des deux fichiers vers un tout nouveau fichier appelé saturday (vous trouverez un exemple dans la Figure 10-9). Entrez ce qui suit :
[newuser@localhost newuser]$ cat sneakers.txt home.txt > saturday |
Il est maintenant temps de vérifier votre travail. Entrez
[newuser@localhost newuser]$ cat saturday |
et vous devriez obtenir ce qui suit à l'écran :
[newuser @localhost newuser]$ cat saturday buy some sneakers then go to the coffee shop then buy some coffee bring the coffee home take off shoes put on sneakers make some coffee relax! [newuser @localhost newuser]$ |
Vous pouvez constater que cat a ajouté home.txt à l'endroit où se termine sneakers.txt.
Combinaison de fichiers au moyen de cat | |
---|---|
La création et la combinaison de petits fichiers à l'aide de cat peut être une alternative pratique à l'utilisation d'un éditeur de texte comme Pico. |
Il vous est possible d'utiliser la redirection de la sortie pour ajouter de nouvelles informations à la fin d'un fichier existant. De façon semblable à l'utilisation du symbole >, vous indiquez au shell d'envoyer les informations à un endroit autre que la sortie standard.
Toutefois, lorsque vous utilisez >>, vous ajoutez des informations plutôt que d'en remplacer.
La meilleure façon de comprendre est d'en faire l'essai, alors prenez les deux fichiers qui ont déjà été créés (sneakers.txt et home.txt) et regroupez-les au moyen du symbole de concaténation de sortie. Vous devez ajouter les informations de home.txt aux informations existantes dans sneakers.txt, alors entrez :
cat home.txt >> sneakers.txt |
Vérifiez le fichier en entrant cette commande :
cat sneakers.txt |
Le voici et le contenu de home.txt apparaît à la fin.
La commande que vous avez entrée a indiqué au système de "concaténer la sortie du fichier home.txt au fichier sneakers.txt".
La concaténation de la sortie permet de vous épargner une étape ou deux (et une bonne dose d'encombrement du disque) en utilisant des fichiers déjà existants, plutôt qu'en créant un nouveau fichier.
Comparez les résultats des fichiers sneakers.txt et saturday, et vous verrez qu'ils sont identiques. Entrez :
cat sneakers.txt; cat saturday |
Le contenu des deux fichiers affiche d'abord sneakers.txt et ensuite saturday (tel que montré dans la Figure 10-10).
Attention de ne pas remplacer le fichier lorsque vous procédez à sa concaténation | |
---|---|
Rappelez-vous que lorsque vous concaténez une sortie, vous devez inclure deux symboles supérieur à (>>), sinon vous obtenez le remplacement du fichier auquel vous désirez ajouter des informations. |
Non seulement vous est-il possible de rediriger la sortie, mais aussi d'exécuter le même type de redirection avec l'entrée standard.
Lorsque vous utilisez le symbole de redirection de l'entrée standard <, vous indiquez au shell que vous désirez qu'un fichier soit lu comme entrée d'une commande.
Utilisez un fichier que vous avez déjà créé pour illustrer ce concept. Vous n'avez qu'à entrer cette commande :
cat < sneakers.txt |
Comme vous avez utilisé le symbole inférieur à (<) pour séparer la commande cat du fichier, la sortie de sneakers.txt a été lue par cat.
Précédent | Sommaire | Suivant |
Remise en ordre et réinitialisation de la fenêtre | Niveau supérieur | Conduits |