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
terminal [Le 15/06/2019, 12:40]
romainlebg [Un logo à l'ouverture du terminal]
terminal [Le 24/03/2024, 19:32] (Version actuelle)
201.171.175.88 [Personnaliser son terminal]
Ligne 3: Ligne 3:
 ---- ----
  
-====== Le terminal GNU/Linux ====== 
  
-Un terminal est un programme qui émule une [[console]] dans une interface graphique, il permet de lancer des **[[commande_shell|commandes]]**. 
  
-{{ :​terminal.png?​direct&​400 |Un terminal lancé sous Ubuntu 15.10}} 
  
 ===== Pourquoi le terminal ? ===== ===== Pourquoi le terminal ? =====
  
-Il est parfois plus simple de **taper une commande** que d'​effectuer des manipulations demandant beaucoup de clics de souris dans une interface graphique. C'est aussi un moyen plus simple pour expliquer comment faire quelque chose à quelqu'​un (sur un forum par exemple), ​puisque ​il suffit d'​indiquer la commande et non la suite de clics à effectuer sur l'​interface graphique.+Il est parfois plus simple de **taper une commande** que d'​effectuer des manipulations demandant beaucoup de clics de souris dans une interface graphique. C'est aussi un moyen plus simple pour expliquer comment faire quelque chose à quelqu'​un (sur un forum par exemple), ​puisqu'​il suffit d'​indiquer la commande et non la suite de clics à effectuer sur l'​interface graphique.
  
 Cependant, même si le terminal peut être beaucoup plus efficace qu'une interface graphique sous les doigts d'un utilisateur avancé, il est moins abordable que les interfaces graphiques. Cependant, même si le terminal peut être beaucoup plus efficace qu'une interface graphique sous les doigts d'un utilisateur avancé, il est moins abordable que les interfaces graphiques.
Ligne 21: Ligne 18:
 Le terminal utilisé par défaut dépend de l'​environnement,​ le tableau suivant donne les différentes méthodes qui permettent d'​ouvrir le terminal : Le terminal utilisé par défaut dépend de l'​environnement,​ le tableau suivant donne les différentes méthodes qui permettent d'​ouvrir le terminal :
  
-^ Environnement ou variante ^ commande de l'​émulateur de \\ terminal par défaut ^ Accès graphique ^ Raccourci clavier ^ +^ Environnement ou variante ^ commande de l'​émulateur de terminal par défaut ^ Accès graphique ^ Raccourci clavier ^ 
-^ [[:Ubuntu Gnome]] | **gnome-terminal** | Rechercher **terminal**,​ ou bien \\ //​Activités -> Applications -> Utilitaires -> Terminal// | <​CTRL><​Alt><​T>​ |+^ [[:Ubuntu Gnome]] | **gnome-terminal** | Rechercher **terminal**,​ ou bien //​Activités -> Applications -> Utilitaires -> Terminal// | <​CTRL><​Alt><​T>​ |
 ^ [[:​Ubuntu|Ubuntu (Unity)]] | **gnome-terminal** | Rechercher **terminal** | <​CTRL><​Alt><​T>​ | ^ [[:​Ubuntu|Ubuntu (Unity)]] | **gnome-terminal** | Rechercher **terminal** | <​CTRL><​Alt><​T>​ |
-^ [[:​Kubuntu]] | **konsole** | //Menu → Applications → Système → Konsole//, ou bien \\ //Menu →// Rechercher "​Konsole"​ | Pas de raccourci par défaut | +^ [[:​Kubuntu]] | **konsole** | //Menu → Applications → Système → Konsole//, ou bien //Menu →// Rechercher "​Konsole"​ | Pas de raccourci par défaut | 
-^ Ubuntu [[:Mate]] | **mate-terminal** | //​Applications → Système → Terminal// | |+^ Ubuntu [[:Mate]] | **mate-terminal** | //​Applications → Système → Terminal// | <​CTRL><​Alt><​T> ​|
 ^ [[:​Xubuntu]] | **[[:​xfce4-terminal]]** | //​Applications → Accessoires → Émulateur de Terminal// | <​Super>​((touche généralement représentée par le logo Windows)) <T> ou bien <​CTRL><​Alt><​T>​ | ^ [[:​Xubuntu]] | **[[:​xfce4-terminal]]** | //​Applications → Accessoires → Émulateur de Terminal// | <​Super>​((touche généralement représentée par le logo Windows)) <T> ou bien <​CTRL><​Alt><​T>​ |
 ^ [[:​Lubuntu]] | **lxterminal** | //Menu -> Accessoires -> LXterminal//​ | <​CTRL><​Alt><​T>​ | ^ [[:​Lubuntu]] | **lxterminal** | //Menu -> Accessoires -> LXterminal//​ | <​CTRL><​Alt><​T>​ |
-^ Ubuntu [[:​Budgie|Budgie]] | **[[tilix]]** (anciennement terminix) | //Menu -> Système -> Tilix//, ou bien \\ //Menu ->// Rechercher ​"​terminal"​ | | +^ Ubuntu [[:​Budgie|Budgie]] | **[[tilix]]** (anciennement terminix) | //Menu -> Système -> Tilix//, ou bien //Menu ->// Rechercher "​terminal"​ | <​CTRL><​Alt><​T>​ |
-^ Bureau [[:​Cinnamon]] | **gnome-terminal** | //Menu → Administration → Terminal//, ou bien \\ //​Menu->//​ Recherche ​"​terminal"​ | <​CTRL><​Alt><​T>​ | +
-^ Bureau [[:​Enlightenment]] | **terminology** | | | +
-^ Bureau [[:​Pantheon]] | **terminal** | Rechercher **terminal**+
  
-Beaucoup de bureau ​permettent de **lancer directement des commandes** via une fenêtre qui s'​ouvre en faisant **<​ALT><​F2>​**. Vous pouvez donc lancer le terminal ainsi en y tapant son nom. L'​émulateur par défaut peut se lancer soit par sa commande propre (gnome-terminal,​ mate-terminal,​ ...), soit par la commande **x-terminal-emulator**,​ qui est un "​raccourci"​ vers la commande du terminal par défaut.+Beaucoup de bureaux ​permettent de **lancer directement des commandes** via une fenêtre qui s'​ouvre en faisant **<​ALT><​F2>​**. Vous pouvez donc lancer le terminal ainsi en y tapant son nom. L'​émulateur par défaut peut se lancer soit par sa commande propre (gnome-terminal,​ mate-terminal,​ ...), soit par la commande **x-terminal-emulator**,​ qui est un "​raccourci"​ vers la commande du terminal par défaut.
  
 ===== Passez votre commande ! ===== ===== Passez votre commande ! =====
Ligne 45: Ligne 39:
 :!: Attention, [[wpfr>​Sensibilité_à_la_casse|c'​est sensible à la casse majuscules/​minuscules des caractères]] ! </​note>​ :!: Attention, [[wpfr>​Sensibilité_à_la_casse|c'​est sensible à la casse majuscules/​minuscules des caractères]] ! </​note>​
  
 +<note help>​**Cas particulier de Pantheon**\\
 +Dans le cas de l'​environnement Pantheon (qu'on retrouve par défaut sous elementary OS), les combinaisons par défaut sont **Ctrl+C** pour copier et **Ctrl+V** pour coller dans le Terminal. </​note>​
 ===== Qu'​est-ce qu'une commande ? ===== ===== Qu'​est-ce qu'une commande ? =====
  
Ligne 107: Ligne 103:
 "Mais voilà, mon mot de passe ne se tape pas !" "Mais voilà, mon mot de passe ne se tape pas !"
  
-Tout à fait normal, en fait le mot de passe est bel et bien tapé, mais vous ne le voyez pas ! Il suffit de taper son mot de passe, faire "​entrée",​ et tout se déroulera comme prévu. Il s'agit d'une mesure de sécurité pour que les personnes regardant l'​écran ne puissent pas deviner le nombre de caractères que contient le mot de passe.+Tout à fait normal, en fait le mot de passe est bel et bien tapé, mais vous ne le voyez pas ! Il suffit de taperson ​mot de passe, faire "​entrée",​ et tout se déroulera comme prévu. Il s'agit d'une mesure de sécurité pour que les personnes regardant l'​écran ne puissent pas deviner le nombre de caractères que contient le mot de passe.
  
-<​note>​**[[:​sudo]]** est une commande de type "​admistrateur système"​.  ​\\ Elle permet à tout utilisateur — pourvu que lui-même ait configuré son système afin d'​obtenir les privilèges administrateur ou bien que son responsable réseau les lui ait accordé en modifiant son profil — de passer des commandes de bas niveau capables de modifier gravement la configuration même, donc influer sur le comportement de la machine ​\\ En accordant à un programme ou à une série de commandes des privilèges administrateur,​ ces commandes deviennent des commandes système capables, par exemple, de :  +<​note>​**[[:​sudo]]** est une commande de type "​admistrateur système"​. ​ Elle permet à tout utilisateur — pourvu que lui-même ait configuré son système afin d'​obtenir les privilèges administrateur ou bien que son responsable réseau les lui ait accordé en modifiant son profil — de passer des commandes de bas niveau capables de modifier gravement la configuration même, donc influer sur le comportement de la machineEn accordant à un programme ou à une série de commandes des privilèges administrateur,​ ces commandes deviennent des commandes système capables, par exemple, de :  
-  * installer un programme,  +  * installer un programme,​ 
-  * enlever un programme, ​+  * enlever un programme,
   * modifier un fichier texte de configuration,​ etc). \\   * modifier un fichier texte de configuration,​ etc). \\
 **[[:​sudo]]** __vous demandera__ donc __votre mot de passe administrateur__ pour s'​assurer d'​être bien en face d'une personne ayant l'​autorisation de pratiquer ce genre de tâches.</​note>​ **[[:​sudo]]** __vous demandera__ donc __votre mot de passe administrateur__ pour s'​assurer d'​être bien en face d'une personne ayant l'​autorisation de pratiquer ce genre de tâches.</​note>​
  
-<note warning>​Si vous êtes le seul responsable de votre machine — bien qu'​ayant paramétré d'​autres profils "​invité"​ — votre profil configuré à l'​installation de votre système vous a octroyé les droits administrateur. ​\\ Il vous suffit donc d'​entrer la commande préfixe SUDO (Super User DO) pour élever vos privilèges au rang d'​administrateur système. ​\\  +<note warning>​Si vous êtes le seul responsable de votre machine — bien qu'​ayant paramétré d'​autres profils "​invité"​ — votre profil configuré à l'​installation de votre système vous a octroyé les droits administrateur. Il vous suffit donc d'​entrer la commande préfixe SUDO (Super User DO) pour élever vos privilèges au rang d'​administrateur système. 
-\\ +
 Attention à ne pas utiliser **sudo** pour n'​importe quoi, les conséquences pourraient être désastreuses.</​note>​ Attention à ne pas utiliser **sudo** pour n'​importe quoi, les conséquences pourraient être désastreuses.</​note>​
  
Ligne 131: Ligne 127:
 __Pourquoi "​**O**"​ est en majuscule ?__ __Pourquoi "​**O**"​ est en majuscule ?__
  
-Simplement parce que c'est le choix par défaut, ce qui veut dire que si vous ne tapez rien, et que vous faites « Entrée », il comprendra **O**. ​+Simplement parce que c'est le choix par défaut, ce qui veut dire que si vous ne tapez rien, et que vous faites « Entrée », il comprendra **O**.
  
 Si ça avait été **[o/N]** à la place, si vous aviez fait entrer directement sans taper **o** la commande aurait stoppé, il a donc pris en compte la réponse par défaut, **N**. Si ça avait été **[o/N]** à la place, si vous aviez fait entrer directement sans taper **o** la commande aurait stoppé, il a donc pris en compte la réponse par défaut, **N**.
Ligne 174: Ligne 170:
 Si vous avez un message contenant le mot **warning**,​ il indique souvent des informations qui ne servent qu'aux développeurs,​ ou montre des petits détails, qu'il n'est pas vraiment indispensable de corriger ! Si vous avez un message contenant le mot **warning**,​ il indique souvent des informations qui ne servent qu'aux développeurs,​ ou montre des petits détails, qu'il n'est pas vraiment indispensable de corriger !
  
-En cas de doute, tapez la commande suivante, qui retourne le code de sortie de la commande précédente : +En cas de doute, tapez la commande suivante, qui retourne le code de sortie de la commande précédente :
 <code bash> <code bash>
 echo $? echo $?
 </​code>​ </​code>​
  
-Si le code est '​0',​ alors tout s'est bien passé (condition que la commande appelée précédemment soit bien conçue et suive la convention classique). À noter que si vous répétez à nouveau cette commande, le code affiché sera bien celui de la commande précédente,​ à savoir la première commande "​echo"​ que vous avez tapée. ​+Si le code est '​0',​ alors tout s'est bien passé (à condition que la commande appelée précédemment soit bien conçue et suive la convention classique). À noter que si vous répétez à nouveau cette commande, le code affiché sera bien celui de la commande précédente,​ à savoir la première commande "​echo"​ que vous avez tapée.
  
-<note help>​**Explication :** conventionnellement,​ un programme qui retourne une erreur va renvoyer un code d'​erreur non nul, et **echo $?** retournera donc 1, 2 ou n'​importe quel nombre non nul (généralement positif). ​\\ Si vous retapez à nouveau **echo $?**, l'​information retournée sera 0, car en effet l'echo retournant précédemment une erreur s'est lui même parfaitement bien déroulé !</​note>​+<note help>​**Explication :** conventionnellement,​ un programme qui retourne une erreur va renvoyer un code d'​erreur non nul, et **echo $?** retournera donc 1, 2 ou n'​importe quel nombre non nul (généralement positif). Si vous retapez à nouveau **echo $?**, l'​information retournée sera 0, en effet l'echo retournant précédemment une erreur s'est lui même parfaitement bien déroulé !</​note> ​
  
 ===== Comment savoir à quoi sert une commande ? ===== ===== Comment savoir à quoi sert une commande ? =====
  
-Il suffit de taper +Il suffit de taper
 <​code>​man commande</​code>​ <​code>​man commande</​code>​
 Par exemple: Par exemple:
Ligne 322: Ligne 318:
 <​code>​!492</​code>​ <​code>​!492</​code>​
  
-Vous pouvez également rechercher une commande précédemment tapée. Commencer par taper <​ctrl>​+r. Tapez ensuite les premières lettres de la commande recherchée,​ et la recherche se met à jour au fur et à mesure. ​+Vous pouvez également rechercher une commande précédemment tapée. Commencer par taper <​ctrl>​+r. Tapez ensuite les premières lettres de la commande recherchée,​ et la recherche se met à jour au fur et à mesure.
 <​code>​ <​code>​
 (reverse-i-search)`apt':​ sudo apt-get install kmymoney2 ​ (reverse-i-search)`apt':​ sudo apt-get install kmymoney2 ​
Ligne 334: Ligne 330:
 supprime la ligne //sudo mount /​data/​Véronique///​ dans la liste ci-dessus. supprime la ligne //sudo mount /​data/​Véronique///​ dans la liste ci-dessus.
  
-En ajoutant ​+En ajoutant
 <​code>​HISTCONTROL=ignorespace</​code>​ dans le .bashrc ​ <​code>​HISTCONTROL=ignorespace</​code>​ dans le .bashrc ​
 ou ou
 <​code>​setopt HIST_IGNORE_SPACE</​code>​ dans le .zshrc ​ <​code>​setopt HIST_IGNORE_SPACE</​code>​ dans le .zshrc ​
  
-toute commande débutant avec un espace en début de ligne n'​apparaîtra pas dans l'​historique. ​+toute commande débutant avec un espace en début de ligne n'​apparaîtra pas dans l'​historique.
  
 +===== Taille de l'​historique =====
 +Pour modifier la taille de l'​historique des commandes et aller au delà des 500 lignes par défaut, il faut modifier la variable d'​environnement //​HISTSIZE//​
 +<​code>​export HISTSIZE=1000</​code>​ avec 1000 ou le nombre désiré.
 +
 +Pour que cette modification soit prise en compte de manière définitive (pour un utilisateur),​ il faut ajouter la ligne suivante au fichier .bashrc de l'​utilisateur (/​home/​utilisateur/​.bashrc)
 +<​code>​echo '​export HISTSIZE=1000'​ >> ~/.bashrc </​code>​
 =====Pour compléter les commandes à partir de l'​historique ===== =====Pour compléter les commandes à partir de l'​historique =====
  
Ligne 349: Ligne 351:
 Alors voici comment procéder : Alors voici comment procéder :
  
-Dans votre fichier **~/​.inputrc**,​ ajoutez à la fin : +Dans votre fichier **~/​.inputrc**,​ ajoutez à la fin :
 <file bash> <file bash>
 "​\e[A":​ history-search-backward "​\e[A":​ history-search-backward
Ligne 360: Ligne 362:
 </​file>​ </​file>​
 Relancez votre terminal. Et essayez ! Relancez votre terminal. Et essayez !
-Pratique, non ? +Pratique, non ?
  
 Vous pouvez également modifier graphiquement l'​historique. Par exemple si vous avez copié un texte très long par erreur dans votre terminal. Pour cela modifier le fichier **.bash_history** et supprimez les lignes que vous souhaitez. Vous pouvez également modifier graphiquement l'​historique. Par exemple si vous avez copié un texte très long par erreur dans votre terminal. Pour cela modifier le fichier **.bash_history** et supprimez les lignes que vous souhaitez.
Ligne 366: Ligne 368:
 ===== En savoir plus sur la console ===== ===== En savoir plus sur la console =====
  
-La console est ce qu'​afficherait Ubuntu ​si il n'y avait aucun environnement. C'est cette console que le terminal va émuler.+La console est ce qu'​afficherait Ubuntu ​s'il n'y avait aucun environnement. C'est cette console que le terminal va émuler.
  
 Pour en savoir plus sur la console, voir cette page : [[console]]. Pour en savoir plus sur la console, voir cette page : [[console]].
  
 ===== Personnaliser son terminal ===== ===== Personnaliser son terminal =====
 +T
 ==== Configurer les raccourcis clavier ==== ==== Configurer les raccourcis clavier ====
  
Ligne 463: Ligne 465:
 </​code>​ </​code>​
  
-Testez les différents logos en entrant ceci : +Testez les différents logos en entrant ceci :
 <​code>​ linuxlogo -L 9</​code>​ <​code>​ linuxlogo -L 9</​code>​
 (équivaut aussi à **''​linuxlogo -L classic-simp''​**,​ celui de la capture écran ci-dessus) (équivaut aussi à **''​linuxlogo -L classic-simp''​**,​ celui de la capture écran ci-dessus)
Ligne 501: Ligne 503:
 Il faut créer la règle qui paramètre xfce4-terminal:​ Il faut créer la règle qui paramètre xfce4-terminal:​
 <file bash> <file bash>
-(if (is (window_class) "​Xfce4-terminal"​)  +(if (is (window_class) "​Xfce4-terminal"​) 
-(begin ​+(begin
 (below) (below)
 (skip_tasklist) (skip_tasklist)
Ligne 518: Ligne 520:
 **-a** permet d'​appliquer les règles aux fenêtres déjà ouvertes; **-a** permet d'​appliquer les règles aux fenêtres déjà ouvertes;
 <​file>​xfce4-terminal --geometry=LARGEURxHAUTEUR+X+Y</​file>​ <​file>​xfce4-terminal --geometry=LARGEURxHAUTEUR+X+Y</​file>​
-où LARGEUR et HAUTEUR sont exprimées en caractère de terminal, X et Y représentent les coordonnées du point supérieur gauche du terminal. ​\\ Pour donner une idée chez moi la commande est:+où LARGEUR et HAUTEUR sont exprimées en caractère de terminal, X et Y représentent les coordonnées du point supérieur gauche du terminal. Pour donner une idée chez moi la commande est:
 <​file>​xfce4-terminal --geometry=62x40+650+30</​file>​ <​file>​xfce4-terminal --geometry=62x40+650+30</​file>​
  
Ligne 532: Ligne 534:
  
   * [[https://​launchpad.net/​clicompanion|CLI Companion]] est un terminal qui vous permet de stocker et de commander votre «dictionnaire de commande.((N'​oubliez pas la commande man pour connaitre les autres commandes.)) FIXME plus développé?​   * [[https://​launchpad.net/​clicompanion|CLI Companion]] est un terminal qui vous permet de stocker et de commander votre «dictionnaire de commande.((N'​oubliez pas la commande man pour connaitre les autres commandes.)) FIXME plus développé?​
-  * [[http://​finalterm.org/​|Final Term]] un terminal moderne disposant d'une complétion des commandes très efficace. FIXME développement arrêté +  * [[https://​finalterm.org/​|Final Term]] un terminal moderne disposant d'une complétion des commandes très efficace. FIXME développement arrêté 
-  * [[http://​www.tuxradar.com/​content/​linux-tips-every-geek-should-know|Astuce que tous geek Linux devraient connaitre]](en). ​+  * [[http://​www.tuxradar.com/​content/​linux-tips-every-geek-should-know|Astuce que tous geek Linux devraient connaitre]](en).
   * [[http://​www.tuxradar.com/​content/​more-linux-tips-every-geek-should-know|Un peu plus d'​astuce que tous les geek Linux devraient connaitre]](en)   * [[http://​www.tuxradar.com/​content/​more-linux-tips-every-geek-should-know|Un peu plus d'​astuce que tous les geek Linux devraient connaitre]](en)
-  * [[http://​www.howtogeek.com/​howto/​linux/​stupid-geek-tricks-watch-movies-in-your-linux-terminal-window/​|Astuce Geek Inutile: Regarder un film en ASCII dans son terminal]](en)+  * [[https://​www.howtogeek.com/​howto/​linux/​stupid-geek-tricks-watch-movies-in-your-linux-terminal-window/​|Astuce Geek Inutile: Regarder un film en ASCII dans son terminal]](en)
   * [[http://​www.pixelbeat.org/​cmdline.html|Memo de commandes Linux]](en)   * [[http://​www.pixelbeat.org/​cmdline.html|Memo de commandes Linux]](en)
   * [[http://​ressources.tutoriels-video.fr/​Ubuntu/​Ubuntu-pour-les-debutants/​tuto-concole/​| Formation Vidéo de base pour les commandes]]   * [[http://​ressources.tutoriels-video.fr/​Ubuntu/​Ubuntu-pour-les-debutants/​tuto-concole/​| Formation Vidéo de base pour les commandes]]
Ligne 541: Ligne 543:
 ---- ----
 //​Contributeurs:​ [[utilisateurs:​Fabien26]],​ [[utilisateurs:​1h0ma5]],​ [[utilisateurs:​eagle08]].//​ //​Contributeurs:​ [[utilisateurs:​Fabien26]],​ [[utilisateurs:​1h0ma5]],​ [[utilisateurs:​eagle08]].//​
- 
- 
  • terminal.1560595204.txt.gz
  • Dernière modification: Le 15/06/2019, 12:40
  • par romainlebg