Etape 3 : Interpréteur de lignes de commandes (Shell)

Les tous premiers systèmes d’exploitation étaient dépourvus d’interface graphique, toutes les interactions entre le « système d’exploitation et l’ utilisateur » se faisaient par l’intermédiaire de « lignes de commandes » (suites de caractères saisies par l’utilisateur) :
https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse3.explicit.bing.net%2Fth%3Fid%3DOIP.MzV9bWg0mOUMvPXWFtUH_AHaE8%26pid%3DApi&f=1

 

Les interfaces graphiques se sont généralisées au cours des années 80 : lancer un logiciel ne se fait plus en tapant une commande mais en cliquant sur une icône avec une souris :

80s bits: AMSTRAD PC 1512 MM (Monochrome Monitor)

Aujourd’hui, même si les interfaces graphiques modernes permettent d’effectuer la plupart des opérations, il est important de connaître quelques-unes de ces lignes de commandes. Pour saisir des lignes de commandes, nous allons utiliser une console ou terminal.

Ouvrez un terminal et vous devez obtenir quelque chose qui ressemble à cela :

Beginner Geek: How to Start Using the Linux Terminal

avec :

  • howtogeek qui est le nom d’utilisateur
  • ubuntu qui est le nom attribué à l’ordinateur

 

Dans cette étape n°3, nous allons effectuer des manipulations sur des fichiers ou des dossier sans utiliser l’interface graphique mais en n’utilisant que des lignes de commande tapées dans un terminal. A quoi ça sert? ce n’est dans un premier temps pas très utile pour vous de manipuler des fichiers en ligne de commande mais l’objectif est de vous familiariser avec cette nouvelle façon d’interagir avec votre ordinateur : une bonne maîtrise des commandes vous permet de faire exactement ce que vous souhaitez, soit en terme d’installation de logiciels, création de scripts pour effectuer une tâche, gérer un réseau, dépanner localement ou à distance, et bien d’autres choses encore!

 

Sachez dans un premier temps que dans les systèmes de type « UNIX » (par exemple GNU/Linux ou macOS), nous avons un système de fichier en arborescence :

Dans cette illustration, chaque rectangle est un répertoire. Pour l’instant, il est bon de savoir que :

  • La racine de l’arbre est /
  • Le répertoire personnel est /home : c’est ce répertoire qui contient toutes vos données (l’utilisateur s’appelle Linux1)  et vos paramètres personnalisés du système d’exploitation (dans des répertoires « cachés » mais bien présents dans /home)
  • Nous n’allons pas nous préoccuper des autres répertoires.

 

  1. Ouvrez un terminal
  2. Entrer la commande ls . Cette commande permet de lister des fichiers et dossiers présents dans le répertoire courant. Au fait, dans quel répertoire êtes vous à l’ouverture d’un terminal?
  3. Pour changer de répertoire on utilise la commande cd comme change directory. Pour aller dans le répertoire « Documents » on fera :
    user@computer$ cd Documents 
  4. Pour revenir au répertoire parent (remonter d’un répertoire)  :
    user@computer$ cd ..
  5. Pour créer un répertoire on a la commande mkdir ou make directory :
     user@computer$ mkdir nom_repertoire
      Créez un répertoire Etape3dans le répertoire Documents puis créez un répertoire Rep dans le répertoireEtape3
  6. Pour revenir dans votre répertoire personnel :
     user@computer$ cd
  7. Pour aller dans le répertoire Etape3en une seule commande : 
     user@computer$ cd Documents/Etape3
  8. Au fait où suis-je dans tous ces répertoires?
     user@computer$ pwd
  9. Pour passer du dossier Etape3au dossier Etape2on peut revenir au dossier parent avec cd .. puis ouvrir le dossier avec cd Etape2 mais on peut aussi le faire en une seule commande :
     user@computer$ cd ../Etape2
  10. Dans ce répertoire Etape2, on peut créer un fichier avec la commande touch :
     user@computer$ touch fichier1
  11. Créez un fichier nommé fichier2 dans le répertoire Etape3
  12. Vous pouvez accéder/modifier le contenu d’un fichier avec la commande nano :
     user@computer$ nano nom_du_fichier
    Ouvrez le fichier1 du répertoire Etape2 et saisissez un poème que vous connaissez par coeur (ou le texte d’une chanson) puis enregistrer le fichier.
  13. Il est possible, sans l’ouvrir, de visualiser le contenu d’un fichier avec la commande cat :
     user@computer$ cat nom_du_fichier
    Visualisez le contenu du fichier1 sans l’ouvrir.
  14. Pour copier un fichier on utilise la commande cp :
     user@computer$ cp nom_du_fichier_à_copier copie_du_fichier
    Copiez votre poeme dans un fichier nommé poeme.txt
  15. Il est également possible de déplacer un fichier avec la commande mv comme « move »:
     user@computer$ mv nom_du_fichier_à_déplacer destination
    Essayez de déplacer votre poème dans /Documents
  16. Cette commande mv permet également de renommer un fichier. Placez vous dans le répertoire où se situe le fichier à renommer puis :
     user@computer$ mv nom_de_départ nom_final
    Essayez de renommer le fichier poeme.txt en poesie.txt
  17. Une commande importante est la commande symbolisée par | : elle permet à une commande de prendre comme argument la sortie d’une autre commande. Par exemple, pour afficher dans l’ordre alphabétique les premières lettres de chacune des phrases de votre poème on saisira :
     user@computer$ cat poeme.txt | sort
    Ainsi, la commande « sort » qui permet de ranger par ordre alphabétique prend comme argument le texte du poeme.txt. Saisissez cette commande, visualisez le résultat puis essayez avec sort -r
  18. Bon, c’est bien beau mais il faudrait faire un peu de ménage. Pour supprimer un fichier on a la commande rm comme remove :
     user@computer$ rm nom_du_fichier
    Supprimez le fichier2
  19. Pour supprimer un dossier, on a la commande rmdir comme remove directory, mais vous avez dû vous en douter 🙂 :
     user@computer$ rmdir nom_du_repertoire
    Supprimez le répertoire Rep

Et si vous avez fini, un petit jeu !