logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:shell:chevrons [29/03/2014 07:06]
Hypathie [Sortie]
doc:programmation:shell:chevrons [23/03/2015 17:58]
milou [Sortie]
Ligne 1: Ligne 1:
 ====== Chevron > ====== ====== Chevron > ======
  
-(//testé// squeeze - **smolski** 16/10/2012) Le retour sur le forum est ici : 
-  * [[http://​debian-facile.org/​viewtopic.php?​id=6046 | Lien vers le forum concernant ce tuto]] N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! 
   * Objet : commandes de redirection   * Objet : commandes de redirection
   * Niveau requis : {{tag>​débutant}}   * Niveau requis : {{tag>​débutant}}
   * Commentaires : // Par redirection,​ on entend la possibilité de rediriger l'​affichage de l'​écran vers un fichier ou tout autre périphérique...//​   * Commentaires : // Par redirection,​ on entend la possibilité de rediriger l'​affichage de l'​écran vers un fichier ou tout autre périphérique...//​
-  * Débutant, à savoir : +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) 
-[[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)+  * Suivi : 
 +    * Création par [[user>​smolski]] le 16/​08/​2011 
 +    * Testé sur squeeze par **[[user>​smolski]]** le 16/​10/​2012 
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=53393 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
 Il existe une commande toute simple pour créer un fichier vide ou bien pour vider un fichier existant de son contenu. Il existe une commande toute simple pour créer un fichier vide ou bien pour vider un fichier existant de son contenu.
 +
 +
  
 ===== On peut se placer ===== ===== On peut se placer =====
  
-tout d'​abord dans le dossier désiré (pour se faire voir [[:​doc:​programmation:​shell:​cd|la commande cd]]), puis on tape la commande suivante : +tout d'​abord dans le dossier désiré (pour ce faire voir [[:​doc:​programmation:​shell:​cd|la commande cd]]), puis on tape la commande suivante : 
-   ​> nomdufichier+<code user>> nomdufichier</​code>​
  
 ===== Ou, de façon plus générale ===== ===== Ou, de façon plus générale =====
 on tape : on tape :
-   /​chemin/​du/​repertoire > nomdufichier+<code user> 
 +/​chemin/​du/​repertoire/​nomdufichier 
 +</code> 
 +C'​est-à-dire que l'on crée le "​nomdufichier"​ depuis son répertoire personnel, sans s'​être déplacé au niveau du répertoire dans lequel on veut placer "nomdufichier".
  
 ==== Si le fichier existe :==== ==== Si le fichier existe :====
Ligne 30: Ligne 37:
 Pour créer un fichier, les commandes ''>''​ et [[:​doc:​systeme:​touch | commande touch]] sont équivalentes. Pour créer un fichier, les commandes ''>''​ et [[:​doc:​systeme:​touch | commande touch]] sont équivalentes.
  
-La touch sert avant tout __à mettre ​ à jour la date et l'​heure__ d’accès pour la dernière modification d'un ou plusieurs ​fichier ​selon la date actuelle.+La touch sert avant tout __à mettre ​ à jour la date et l'​heure__ d’accès pour la dernière modification d'un ou plusieurs ​fichiers ​selon la date actuelle.
  
 Dans le cas d'un seul fichier, s'il n'​existe pas, il sera alors créé. Dans le cas d'un seul fichier, s'il n'​existe pas, il sera alors créé.
Ligne 37: Ligne 44:
  
 Avec la commande ''​touch''​ tu feras : Avec la commande ''​touch''​ tu feras :
-   rm fichier | touch /fichier+<code user>rm fichier | touch /fichier</​code>​
  
 Avec la commande ''>'',​ tu feras simplement : Avec la commande ''>'',​ tu feras simplement :
-   > /fichier+<code user>> /fichier</​code>​
  
 Ce sont bien sûr des détails, mais cela nous donne une façon différente de procéder. Ce sont bien sûr des détails, mais cela nous donne une façon différente de procéder.
Ligne 51: Ligne 58:
  
 Prenons un fichier d'​environs 100Mo. Prenons un fichier d'​environs 100Mo.
-<​code ​bash>+<​code ​user>
 dd if=/​dev/​zero of=fichier bs=1 count=1 seek=100M dd if=/​dev/​zero of=fichier bs=1 count=1 seek=100M
 1+0 enregistrements lus 1+0 enregistrements lus
 1+0 enregistrements écrits 1+0 enregistrements écrits
-1 octet (1 B) copié, 4,4267e-05 s, 22,6 kB/s +1 octet (1 B) copié, 4,4267e-05 s, 22,6 kB/s</​code>​ 
-ls -lhi+<code user>ls -lhi
 total 4,0K total 4,0K
 1163 -rw-r--r-- 1 user user 101M oct.  16 20:34 fichier</​code>​ 1163 -rw-r--r-- 1 user user 101M oct.  16 20:34 fichier</​code>​
  
 Vider le fichier se fait aussi simplement que ça : Vider le fichier se fait aussi simplement que ça :
-<​code ​bash+<​code ​user
-> fichier</​code>​+> fichier</​code>​
  
-<​code ​bash+<​code ​user
-ls -lhi+ls -lhi
 total 0 total 0
 1163 -rw-r--r-- 1 fgivors fgivors 0 oct.  16 20:33 fichier</​code>​ 1163 -rw-r--r-- 1 fgivors fgivors 0 oct.  16 20:33 fichier</​code>​
Ligne 92: Ligne 99:
  
 Créer(([[:​doc:​editeurs:​vim:​vim]])) les éléments nécessaires pour réaliser les exemples de ce tuto : Créer(([[:​doc:​editeurs:​vim:​vim]])) les éléments nécessaires pour réaliser les exemples de ce tuto :
-<​code ​bash>+<​code ​user>
 mkdir dossier1 dossier2</​code>​ mkdir dossier1 dossier2</​code>​
  
-<​code ​bash>+<​code ​user>
 vim dossier1/​test1.txt</​code>​ vim dossier1/​test1.txt</​code>​
  
Ligne 102: Ligne 109:
 fichier de test1</​code>​ fichier de test1</​code>​
  
-<​code ​bash>+<​code ​user>
 vim dossier2/​test2.txt</​code>​ vim dossier2/​test2.txt</​code>​
  
Ligne 115: Ligne 122:
  
 Un exemple avec la commande [[:​doc:​systeme:​wc]] (word count) qui permet de compter le nombre de lignes, de mots et de caractères d'un fichier. Un exemple avec la commande [[:​doc:​systeme:​wc]] (word count) qui permet de compter le nombre de lignes, de mots et de caractères d'un fichier.
-<​code ​bash>+<​code ​user>
 wc dossier1/​test1.txt ​ wc dossier1/​test1.txt ​
  ​1 ​ 3 17 dossier1/​test1.txt</​code>​  ​1 ​ 3 17 dossier1/​test1.txt</​code>​
  
 +Ces trois nombres signifie :
 +  - "​1"​ : est le nombre de lignes.
 +  - "​3"​ : est le nombre de mots.
 +  - "​17"​ : est le nombre d'​octets.
 +<note tip>
 +options intéressantes :
 +  * -l : compte le nombre le lignes uniquement ;
 +  * -w : compte le nombre de mots uniquement ;
 +  * -c : compte le nombre d'​octets uniquement ;
 +  * -m : compte le nombre de caractères uniquement.
 +</​note>​
 +
 +
 +**Utilisation avec " < " :**
 +<code user>
 +< ~/​dossier1/​test1.txt wc    # retour :  1  3 17
 +                            ​
 +</​code>​
 +
 +ou
 +
 +<code user>
 +wc < ~/​dossier1/​test1.txt ​  # retour :  1  3 17
 +</​code>​
 +
 +Pour la commande cat voir : [[doc:​systeme:​cat]]
 ===== Sortie ===== ===== Sortie =====
  
Ligne 124: Ligne 157:
  
 Première commande dans le terminal : Première commande dans le terminal :
-<​code ​bash>+<​code ​user>
 ls -l dossier1 ls -l dossier1
 total 4 total 4
Ligne 131: Ligne 164:
 On se sert du caractère « > » pour rediriger la sortie standard (celle qui va normalement sur écran). On se sert du caractère « > » pour rediriger la sortie standard (celle qui va normalement sur écran).
 On indique ensuite le nom du fichier où seront placés les résultats de sortie. On indique ensuite le nom du fichier où seront placés les résultats de sortie.
-<​code ​bash>+<​code ​user>
 ls -l dossier1 > resultat.txt</​code>​ ls -l dossier1 > resultat.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt ​ cat resultat.txt ​
 total 4 total 4
Ligne 144: Ligne 177:
  
 Seconde commande : Seconde commande :
-<​code ​bash>+<​code ​user>
 ls -l dossier2 > resultat.txt</​code>​ ls -l dossier2 > resultat.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt ​ cat resultat.txt ​
 total 4 total 4
Ligne 155: Ligne 188:
  
 Continuons avec une troisième commande : Continuons avec une troisième commande :
-<​code ​bash>+<​code ​user>
 ls -l dossier3 > resultat.txt</​code>​ ls -l dossier3 > resultat.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt</​code>​ cat resultat.txt</​code>​
  
Ligne 169: Ligne 202:
  
 Le résultat est ajouté à la fin du fichier. Exemple : Le résultat est ajouté à la fin du fichier. Exemple :
-<​code ​bash>+<​code ​user>
 ls -l dossier1 > resultat.txt</​code>​ ls -l dossier1 > resultat.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 ls -l dossier2 >> resultat.txt</​code>​ ls -l dossier2 >> resultat.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt ​ cat resultat.txt ​
 total 4 total 4
Ligne 186: Ligne 219:
 ==== Les canaux standards ==== ==== Les canaux standards ====
  
-On peut considérer un canal comme un fichier, qui possède ​sont propre descripteur par défaut, et dans lequel on peut ou lire ou écrire.+On peut considérer un canal comme un fichier, qui possède ​son propre descripteur par défaut, et dans lequel on peut ou lire ou écrire.
   - Le canal d' entrée standard se nomme « stdin » et porte le descripteur 0.   - Le canal d' entrée standard se nomme « stdin » et porte le descripteur 0.
   - Le canal de sortie standard se nomme « stdout » et porte le descripteur 1.   - Le canal de sortie standard se nomme « stdout » et porte le descripteur 1.
Ligne 192: Ligne 225:
  
 On peut ainsi rediriger les canaux de sortie 1 et 2 vers un autre fichier. On peut ainsi rediriger les canaux de sortie 1 et 2 vers un autre fichier.
-<​code ​bash>+<​code ​user>
 rmdir dossier3 rmdir dossier3
 rmdir: échec de suppression de « dossier3 »: Aucun fichier ou dossier de ce type</​code>​ rmdir: échec de suppression de « dossier3 »: Aucun fichier ou dossier de ce type</​code>​
  
-<​code ​bash>+<​code ​user>
 rmdir dossier3 2>​error.log</​code>​ rmdir dossier3 2>​error.log</​code>​
  
-<​code ​bash>+<​code ​user>
 cat error.log ​ cat error.log ​
 rmdir: échec de suppression de « dossier3 »: Aucun fichier ou dossier de ce type</​code>​ rmdir: échec de suppression de « dossier3 »: Aucun fichier ou dossier de ce type</​code>​
Ligne 211: Ligne 244:
  
 Faisons une seconde redirection avec une erreur en utilisant le dossier3 inexistant à la fin d'une commande, par exemple : Faisons une seconde redirection avec une erreur en utilisant le dossier3 inexistant à la fin d'une commande, par exemple :
-<​code ​bash+<​code ​user
-ls -l dossier3 > resultat.txt 2>​error.log</​code>​+ls -l dossier3 > resultat.txt 2> error.log</​code>​
  
 Il y a deux redirections ici : Il y a deux redirections ici :
Ligne 218: Ligne 251:
   - 2> error.log : redirige les erreurs éventuelles dans le fichier error.log. C'est la sortie d'​erreurs.   - 2> error.log : redirige les erreurs éventuelles dans le fichier error.log. C'est la sortie d'​erreurs.
  
-Résultat dans le fichier **résultat.txt** : +Résultat dans le fichier **resultat.txt** : 
-<​code ​bash>+<​code ​user>
 cat resultat.txt</​code>​ cat resultat.txt</​code>​
  
 Il est devenu vierge. \\ Il est devenu vierge. \\
 Et dans le fichier de redirection error.log : Et dans le fichier de redirection error.log :
-<​code ​bash>+<​code ​user>
 cat error.log ​ cat error.log ​
 ls: impossible d'​accéder à dossier3: Aucun fichier ou dossier de ce type</​code>​ ls: impossible d'​accéder à dossier3: Aucun fichier ou dossier de ce type</​code>​
  
-L'​erreur s'est bien redirigé ​pour s'​écrire dans le fichier **error.log**.+L'​erreur s'est bien redirigée ​pour s'​écrire dans le fichier **error.log**.
  
 ==== Sorties doubles sauvegardées ==== ==== Sorties doubles sauvegardées ====
Ligne 239: Ligne 272:
  
 Réécrivons et vérifions le fichier resultat.txt : Réécrivons et vérifions le fichier resultat.txt :
-<​code ​bash>+<​code ​user>
 ls -l dossier1 > resultat.txt</​code>​ ls -l dossier1 > resultat.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt ​ cat resultat.txt ​
 total 4 total 4
Ligne 248: Ligne 281:
  
 Utilisons maintenant la double direction en sortie des 2 fichiers : Utilisons maintenant la double direction en sortie des 2 fichiers :
-<​code ​bash>+<​code ​user>
 ls -l dossier3 >> resultat.txt 2>> error.log</​code>​ ls -l dossier3 >> resultat.txt 2>> error.log</​code>​
  
 Vérifions chacun des fichiers : Vérifions chacun des fichiers :
  
-<​code ​bash>+<​code ​user>
 cat tuto_resultat.txt ​ cat tuto_resultat.txt ​
 total 4 total 4
 -rw-r--r-- 1 user user 17 oct.  16 18:53 test1.txt</​code>​ -rw-r--r-- 1 user user 17 oct.  16 18:53 test1.txt</​code>​
  
-<​code ​bash>+<​code ​user>
 cat error.log ​ cat error.log ​
 ls: impossible d'​accéder à dossier3: Aucun fichier ou dossier de ce type</​code>​ ls: impossible d'​accéder à dossier3: Aucun fichier ou dossier de ce type</​code>​
Ligne 270: Ligne 303:
  
 Cela a pour effet de rediriger toute la sortie d'​erreurs dans la sortie standard((Traduction pour l'​ordinateur : « envoie les erreurs au même endroit que le reste »)). Cela a pour effet de rediriger toute la sortie d'​erreurs dans la sortie standard((Traduction pour l'​ordinateur : « envoie les erreurs au même endroit que le reste »)).
-<​code ​bash>+<​code ​user>
 ls -l dossier4 > resultat.txt 2>&​1</​code>​ ls -l dossier4 > resultat.txt 2>&​1</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt ​ cat resultat.txt ​
 ls: impossible d'​accéder à dossier4: Aucun fichier ou dossier de ce type</​code>​ ls: impossible d'​accéder à dossier4: Aucun fichier ou dossier de ce type</​code>​
Ligne 282: Ligne 315:
  
 Pour préserver le répertoire de ses précédentes écritures il suffit de doubler la sortie ainsi : Pour préserver le répertoire de ses précédentes écritures il suffit de doubler la sortie ainsi :
-<​code ​bash>+<​code ​user>
 ls -l dossier5 >> resultat.txt 2>&​1</​code>​ ls -l dossier5 >> resultat.txt 2>&​1</​code>​
  
-<​code ​bash>+<​code ​user>
 cat resultat.txt ​ cat resultat.txt ​
 ls: impossible d'​accéder à dossier4: Aucun fichier ou dossier de ce type ls: impossible d'​accéder à dossier4: Aucun fichier ou dossier de ce type
doc/programmation/shell/chevrons.txt · Dernière modification: 01/05/2021 12:58 par jpt

Pied de page des forums

Propulsé par FluxBB