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 28/10/2020, 18:57]
RAM16 II [Pourquoi le 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 ? =====
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// | <​CTRL><​Alt><​T>​ | ^ 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> ​|
  
-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 106: 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 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 :  
-  * 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 130: 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 173: 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, 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 321: 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 333: 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 ===== ===== Taille de l'​historique =====
Ligne 344: Ligne 341:
 <​code>​export HISTSIZE=1000</​code>​ avec 1000 ou le nombre désiré. <​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) ​+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>​ <​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 354: 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 365: 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 371: 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 468: 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 506: 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 523: 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 537: 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 546: Ligne 543:
 ---- ----
 //​Contributeurs:​ [[utilisateurs:​Fabien26]],​ [[utilisateurs:​1h0ma5]],​ [[utilisateurs:​eagle08]].//​ //​Contributeurs:​ [[utilisateurs:​Fabien26]],​ [[utilisateurs:​1h0ma5]],​ [[utilisateurs:​eagle08]].//​
- 
- 
  • terminal.1603907860.txt.gz
  • Dernière modification: Le 28/10/2020, 18:57
  • par RAM16 II