Le mode texte

Demander un devis
Je souhaite télécharger le programme ou imprimer le programme
  • Imprimer

Introduction

 

Qu'est ce qu'un shell ?

 

Le shell est à Linux ce que les commandes MS-DOS sont à Windows. C'est un environnement qui lit les commandes tapées par un utilisateur en vue de manipuler des fichiers, administrer le système etc...

 

Si de nos jours les environnements graphiques sous Linux sont très complets et permettent de faire l'essentiel des tâches de maintenance, le mode texte est encore largement utilisé. En effet, si vous êtes amené à consulter des forums pour avoir de l'aide, il y a de fortes chances qu'on vous indique une procédure basée sur des lignes de commandes.

 

Ceci est notamment dû aux raisons suivantes :

  • les interfaces graphiques KDE, gnome.... diffèrent beaucoup. Il peut même y avoir des variations mineures en fonction des distributions,
  • les lignes de commandes permettent de tout faire, et ce en s'affranchissant de l'interface graphique utilisée,
  • les lignes de commandes permettent d'aller souvent beaucoup plus vite.

Le but de ce tutoriel est d'apporter les bases et les concepts indispensables pour travailler avec ces lignes de commandes.

 

Les différents shells

 

En fait, il existe de nombreux shells sous Linux, chacun ayant ses avantages et ses inconvénients. Tous ont un nom qui finit par "...sh ":

  • bash : le shell utilisé en général sous Linux ou MacOS
  • dash : le shell utilisé en interne par le système, un peu moins poussé que bash, mais plus performant
  • ksh
  • zsh
  • tcsh
  • sh : sous Linux, contrairement à Solaris, sh n'est pas un shell spécifique. C'est en réalité un lien vers un shell bash ou dash.
  • ...

Sauf mention contraire, les considérations abordées dans les tutoriels fournis sur ce site s'appliquent à n'importe quel type de shell. Si vous débutez complètement gardez simplement à l'esprit que :

  • vous utilisez probablement un shell de type bash,
  • certaines commandes sont spécifiques à votre shell.

Console

Les tty

 

Si le chargement s'est bien passé et que vous n'avez pas installé de mode graphique (ou si celui-ci ne fonctionne pas), vous devriez arriver à une invite vous proposant de saisir votre login (par exemple root). C'est ce qu'on appelle le mode texte ou la console.

 

Une console Linux

 

En général, 6 consoles (tty1 à tty6) sont configurées. Elles correspondent en quelque sorte à 6 "écrans" en mode texte. Par mode texte on entend que ces consoles ne peuvent pas dessiner une application fenêtrée. On passe entre les différentes consoles en appuyant sur ctrl alt f1 à ctrl alt f6.

 

Si vous avez installé un mode graphique, celui-ci est par défaut accessible en appuyant sur ctrl alt f7. Si vous êtes plus à l'aide en mode graphique vous pouvez travailler dans un terminal (présenté dans la suite du tutoriel). Tout ce qui est abordé dans la suite du tutoriel s'applique aussi bien aux consoles en mode texte qu'au terminaux graphiques.

 

Identification

 

Ici par exemple notre machine s'appelle velvet. À la suite de "velvet login" nous avons saisi le login "mando", que nous avions configuré à cette étape de l'installation. On dit dans ce cas qu'on s'est loggué en mando. Toutes les commandes exécutées dans cette session sont exécutées avec les droits de cet utilisateur. En général un utilisateur ne peut que manipuler ses documents. Si vous désirez configurer votre système Debian, vous devrez vous logguer en root.

 

Identification pour ouvrir un shell

 

 

 

Notez que quand on tape son mot de passe rien ne s'affiche, ce qui est complètement normal. On tape son mot de passe en aveugle. Si vous ne parvenez pas à vous identifier vérifiez les points suivants :

  • vous ne vous êtes pas trompé sur les minuscules/majuscules (casse),
  • vous avez penser à activer le verrou numérique si vous utilisez le pavé numérique,
  • vous tapez bien dans la map de clavier que vous croyez (azerty ou qwerty).

Vous pouvez vérifier ces points au moment de saisir votre login.

 

L'invite de commande (le prompt)

 

Une fois le mot de passe saisi appuyez sur entrée. Si celui-ci est correct vous devriez voir une invite de commande composée comme suit :

  • le login avec lequel vous vous êtes identifié (ici mando)
  • le caractère @
  • le nom de la machine (ici velvet)
  • le caractère :
  • le répertoire dans lequel vous vous trouvez (ici ~, alias ~mando, alias /home/mando)
  • le caractère # si vous êtes loggué en root, le caractère $ sinon

Vous pouvez à la suite de cette invite taper une commande Linux. Appuyez sur entrée pour lancer cette commande. Souvenez vous que linux est sensible à la casse (minuscule / majuscule). Les commandes Linux s'écrivent presque toujours en minuscules.

 

Vous pouvez personnaliser le prompt si vous le souhaitez. En particulier, il est assez pratique d'avoir un prompt coloré pour voir où le résultat d'une commande commence et s'arrête. Si cela vous intéresse, vous pouvez consulter ce tutoriel.

 

Taper une commande

 

Il suffit de saisir la commande et d'appuyer sur entrée. Par exemple, la commande ls permet de lister les fichiers contenus dans un ou plusieurs répertoire. Pour afficher les fichiers situés à la racine, on peut par exemple taper ls /. Pour lister les fichier dans /home, on tapera ls /home et ainsi de suite.

 

ls

Copier coller une commande

 

Cette notion ne s'applique tout le temps sous Linux, peu importe que vous travailliez en mode texte ou en mode graphique et peu importe l'application. Pour avoir une souris en mode texte vous devrez au préalable installer le paquet gpm via votre gestionnaire de paquets.

  • Pour copier une section de texte, il suffit de la sélectionner à la souris en maintenant le clic gauche enfoncé du début de la section de texte à copier, puis en faisant glisser la souris jusqu'à la fin de la seciton de texte. Le texte sélectionné est mis en surbrillance.
  • Pour coller cette sélection, commencez par positionner le curseur à l'endroit où vous désirez coller votre sélection.
    • Si vous utilisez une souris munie d'une molette : appuyez sur la molette.
    • Si vous avez une souris avec 3 boutons : cliquez sur le bouton du milieu.
    • Si vous utilisez un pavé tactile d'ordinateur portable : cliquez avec les boutons gauche et droit simultanément.
    • Si vous êtes sous êtes connecté sous windows avec putty : cliquez avec le bouton droit.

Si vous êtes en mode graphique, notez que ce copier coller et celui qui consiste à utiliser les menus "Édition > Copier (ctrl c)" et "Édition > Coller" sont indépendants.

 

Changer de profil

 

Pour changer de profil, vous pouvez quitter votre session et vous logguer en root. Vous pouvez également "empiler" un shell avec le nouveau profil par dessus votre shell actuel. Par exemple pour devenir l'utilisateur toto (en supposant que celui-ci existe) :

 

su - toto

 

Si vous souhaitez devenir root, tapez au choix :

 

su - root
su -

 

Exemple :

 

su

 

Notez que root n'a jamais besoin de saisir un mot de passe pour changer d'identité contrairement à un utilisateur ordinaire.

Rédémarrer la machine

 

Pour redémarrer la machine, vous devez vous lancer en root cette commande :

 

reboot

 

Vous pouvez également (en étant loggué en root ou pas) appuyer sur ctrl alt suppr.

 

Arrêter la machine

 

Lancez simplement en root la commande suivante :

 

halt

Quitter sa session

 

Pour quitter votre session lancez simplement la commande :

 

logout

 

Vous pouvez également appuyer sur ctrl d.


L'historique

 

Comment l'utiliser ?

 

La plupart des shells maintiennent un historique des commandes que vous avez tapé.

  • Pour remonter dans l'historique (afin d'appeler une commande que vous avez déjà taper par le passé), appuyez simplement sur la flèche du haut.
  • Pour descendre dans l'historique, appuyez sur la flèche du bas.

 

Si vous utilisez bash

 

Vous pouvez afficher le contenu de votre historique avec la commande :

 

history

 

En réalité votre historique est stocké dans le fichier ~/.bash_completion.

 

Vous pouvez également utiliser l'opérateur !. Si par exemple vous tapez successivement les commandes :

 

lsusb

ls /
lspci

cd /home

!ls

 

... alors !ls appelle la dernière commande de l'historique commençant par "ls" (ici lspci).

L'autocompletion

Qu'est ce que l'autocomplétion ?

 

Le mode texte étant massivement utilisé sous Linux (en particulier sur des machines faisant office de serveur et sur lesquelles on n'installe rarement une interface graphique), celui-ci se doit d'être particulièrement pratique.

 

Étant donné que la saisie d'une commande peut être fastidieuse, en particulier si celle-ci met en jeu des noms de fichiers particulièrement long, un système d'autocomplétion a été mis en place.

 

Ceci consiste à taper le début d'une commande ou d'un nom de fichier et de le compléter automatiquement. L'autocomplétion permet de gagner beaucoup de temps pour saisir une commande et d'éviter les fautes de frappe.

 

Comment l'utiliser ?

 

On l'invoque avec la touche tabulation, située à gauche de votre clavier au dessus du cadenas et symbolisée par une double flèche.

  • S'il n'y a qu'une complétion possible, alors ce que vous saisissiez est complété.
  • S'il y a une ambiguïté, alors ce que vous saisissiez est complété autant que possible. Vous pouvez appuyer sur tabulation à nouveau pour voir entre quelles possibilité l'autocomplétion hésite.
  • S'il n'y a aucune complétion possible, alors vous avez probablement fait une erreur quelque part.

 

Premiers essais

 

Commencez par taper à la suite de votre invite de commande la chaîne de caractère "ls" et appuyez sur tabulation. plusieurs fois Vous allez voir plusieurs commandes Linux commençant par ls (ls, lsmod, lspci, lsusb...). Si vous rajoutez un "u" (afin de former "lsu"), alors l'ambiguïté est levé et en appuyant sur tabulation, vous obtiendrez la commande "lsusb" (qui liste les périphérique USB).

 

L'autocomplétion est surtout rentable quand vous devez préciser à une commande un chemin vers un fichier. Cela permet de vous assurer au moment de le saisir que vous n'avez pas fait de faute de frappe.

 

Autocomplétion contextuelle

 

Certaines commandes attendent en paramètre autre chose qu'un chemin. Typiquement la commande "modprobe" attend en paramètre un nom de module, la commande "aptitude install" attend en paramètre un ou plusieurs paquets etc...

 

En l'état actuel l'autocomplétion ne fonctionnera pas pour ces commandes. Vous devez au préalable installer le paquet bash-completion et le configurer. Pour cela, vous pouvez consulter cet article.

 

Les terminaux

 

Lorsque vous aurez installé un mode graphique, vous pourrez lancer des terminaux. C'est l'équivalent d'une console en mode graphique. Les terminaux sont plus pratiques (systèmes d'onglets, on peut ouvrir plusieurs terminaux les uns à côté des autres...) et plus jolis (transparence...) que les consoles.

 

Il existe différents terminaux :

  • Si vous utilisez Gnome, vous utiliserez probablement un gnome-terminal
  • Si vous utilisez KDE, vous utiliserez probablement une console
  • Sinon vous utiliserez probablement un xterm ou eterm. Ce sont des terminaux un peu moins pratiques car ils ne proposent pas de système d'onglets.

 

Voici par exemple à quoi ressemble une konsole :

 

konsole

 

Pour continuer

 

À présent, il est temps d'aborder quelques notions qui vont serviront régulièrement sous Linux.

Les pages de man

Comment est configurée une application sous Linux

Comment modifier des fichiers de configuration avec nano

 

Une fois ces acquis validés, vous serez en mesure de personnaliser le mode texte avec ces tutoriels :

Personnaliser l'invite de commande

Activer l'autocomplétion contextuelle

.
X
 
 
 
 
 

You havecharacters left.