Introduction à la l’interface en ligne de commande

Programmation séquentielle en C, 2022-2023

Orestis Malaspinas (A401)

Informatique et Systèmes de Communication, HEPIA

2022-09-27

Introduction

Généralités

  • Command line interface (CLI) en anglais.
  • Interface textuelle vers l’ordinateur.
  • Peut s’appeler le shell, le terminal, la console, …
  • Semble obscure, mais est très pratique (automatisation de tâches, copier-coller, …).
  • Vous devrez l’utiliser tout au long de vos études.
  • Existe sous Linux, MacOS, et même Windows (les commandes peuvent varier!).
  • Ici on ne parlera que de Linux.

A quoi ça sert?

Équivalent textuel d’un GUI

Toutes les informations obtenues avec une interface graphique, peuvent être obtenues à l’aide de la ligne de commande (liste loin d’être exhaustive):

  • Changement d’un répertoire: cd
  • Affichage du contenu d’un répertoire: ls
  • Déplacement de fichier: mv
  • Copie de fichier: cp
  • Création de répertoire: mkdir
  • Recherche de fichier: find
  • Recherche de texte dans un fichier: grep
  • Etc, etc, etc, etc, etc

Mais aussi

  • Télécharger des documents, compiler, éditer des fichiers, …

Ouvrir un terminal

Dépendant de votre distribution de Linux l’ouverture d’un terminal peut varier.

Ce qui marche presque tout le temps:

  1. Appuyer sur le bouton Super (Windows) du clavier.
  2. Commencer à taper “terminal”.

Raccourcis clavier:

  • Ctrl+Alt+T
  • Super+T
  • Vous pouvez customiser les raccourcis.

Une fois le terminal ouvert

Vous pouvez taper des commandes puis Entrée.

$ pwd
/home/orestis

Exemple: pwd affiche le répertoire courant (print working directory).

Attention: les commandes sont sensibles à la casse!

Exemple: cd change de répertoire (change directory).

$ pwd
/home/orestis
$ cd ..
$ pwd
/home
$ cd orestis
$ pwd
/home/orestis
$ cd ../..
$ pwd
/

Remarque: chemins relatifs ou absolus

Un chemin est relatif à moins que le chemin commence par / ou ~.

$ pwd
/home/orestis
$ cd Downloads
$ pwd
/home/orestis/Downloads
$ cd /tmp
$ pwd
/tmp
$ cd ~/Downloads
$ pwd
/home/orestis/Downloads

Ouvrir un éditeur de texte et éditer un ficher

  • Installer un éditeur de texte: codium, vim, nvim, …

  • Ouvrir l’éditeur de texte (ici codium):

    $ codium
  • Écrire Hello World! dans le fichier et sauver sous cours.dat.

  • Ou alors utiliser nano, vi, nvim, …

    $ nano cours.dat
  • Écrire Hello World! puis Ctrl+X et Y.

Quelques commandes utiles (1/3)

mkdir, création de répertoire

$ mkdir tmp
$ cd tmp
$ pwd
/home/orestis/tmp

ls, affiche le contenu d’un répertoire

$ ls
Desktop  Documents  git  Music     Public     tmp
Docker   Downloads  go   Pictures  Templates  Videos
$ ls -ltr
... # des répertoires
drwxr-xr-x  3 orestis orestis 4096 31 aoû 09:54 Documents
drwxr-xr-x 11 orestis orestis 4096  7 sep 15:59 Downloads
drwxr-xr-x  2 orestis orestis 4096  9 sep 11:14 Pictures
drwxr-xr-x  2 orestis orestis 4096  9 sep 12:41 tmp
-rw-r--r--  1 orestis orestis    6  9 sep 12:52 cours.dat

Quelques commandes utiles (2/3)

cp, copie de fichiers/répertoires

$ cp cours.dat tmp/ # cp cours.dat -> tmp
$ ls tmp # affiche le rép tmp
cours.dat
$ cp -r tmp tmp2 # option -r => recursive
$ ls
cours.dat  Docker     Downloads  go     Pictures  Templates  tmp2
Desktop    Documents  git        Music  Public    tmp        Videos

mv, déplacement de fichiers/répertoires

$ ls tmp
$ mv cours.dat tmp # déplace cours.dat -> tmp
$ ls tmp
cours.dat

Quelques commandes utiles (3/3)

rm, effacer des fichiers/répertoires

$ ls tmp
cours.dat
$ rm tmp/cours.dat
$ ls tmp
$ rm -r tmp tmp2
$ ls
Desktop  Documents  git  Music     Public     Videos
Docker   Downloads  go   Pictures  Templates

La touche tab

Probablement la touche la plus utile du clavier:

  • permet la complétion d’une commande.
  • permet la complétion d’un nom de fichier.
  • permet d’afficher les complétions possibles.

Fait gagner un temps considérable.

Éditeurs de texte

Il existe différents éditeurs de texte qui pourraient être utiles:

  • vscode ou codium (la version sans l’espionnage MS)
  • vim
  • geany
  • gedit

Ne vous reposez pas trop sur l’éditeur pour tout faire à votre place.