Débuter avec la ligne de commande sur Ubuntu

Je vous propose ici un cours permettant de vous lancer et surtout de comprendre ce que vous faites lorsque vous entrez des commandes sur la ligne de commande shell. offrent à leurs utilisateurs des centaines de commandes qui font de la console un outil pratique et extrêmement puissant.

1.Accéder à la ligne de commande

Pour accéder à la ligne de commande, il est faut utiliser une fenêtre terminal ou bien une console virtuelle. Pour ouvrir une fenêtre terminal sur Ubuntu le plus simple est d’utiliser le raccourci clavier [CTRL]+[ALT]+[T]. Normalement vous devez avoir une fenêtre ressemblant à cette copie d’écran.

2.Le Prompt Shell

L’invite de commande (ou prompt) du Shell a en général la forme suivante mais peut être modifié :
nom_utilisateur@machine ~ $

  • nom_utilisateur est l’identifiant de l’utilisateur connecté
  • machine représente le nom de la machine sur laquelle nom_utilisateur est connecté
  • ~ indique que vous êtes dans le répertoire utilisateur /home/nom_utilisateur
  • $ signifie que vous êtes connecté en tant qu’utilisateur et non en tant que super-utilisateur (root).

Après connexion, l’utilisateur est connecté dans son environnement. Cela signifie que le shell met à sa disposition des variables d’environnement, c’est-à-dire un conteneur mémoire dans lequel des données sont stockées.
Pour connaître l’ensemble des variables d’une session utilisateur utilisez la commande

set

Par convention, le nom des variables d’environnement sont en majuscules. Les variables d’environnement à connaître sont les suivantes :

  • HOME défini le chemin du répertoire utilisateur ou appelez Home Directory
  • USER est le login de l’utilisateur courant
  • PWD contient le répertoire courant
  • SHELL contient le nom du shell de connexion
  • PATH contient la liste des répertoires où se trouvent les commandes que l’utilisateur peut exécuter
  • HOSTNAME contient le nom de la machine
  • PS1 contient les paramètres d’affichage de l’invite de commande (le prompt)

3.Un peu de théorie sur les commandes

Les systèmes d’exploitation de type LINUX offrent à leurs utilisateurs des centaines de commandes qui font de la console un outil pratique et extrêmement puissant.

3.1.Commandes shell ou programme

Certaines d’entre elles sont fournies directement par le shell, alors que d’autres sont des exécutables (commandes externes) fourni avec la distribution linux.

Pour savoir si une commande est une commande fournie par le shell ou une commande externe il suffit de taper :

type nom_de_la commande

par exemple la commande pwd tape retourne :
pwd is a shell builtin
et pour ls :
ls is hashed (/bin/ls)

3.2.Le code retour

Le code de retour d’une commande est aussi un mécanisme fourni par le shell (quel qu’il soit) qui signale à l’utilisateur si l’exécution de cette commande s’est bien déroulée ou bien s’il y a eu un problème quelconque. Le code de retour est un entier positif ou nul, toujours compris entre 0 et 255. Par convention, un code de retour égal à 0 sans erreur signifie que la commande s’est exécutée correctement. Un code différent de 0 signifie soit une erreur d’exécution, soit une erreur syntaxique. Une variable système spéciale $? contient toujours la valeur de retour de la précédente commande.

ls vi

ls: vi: No such file or directory

Pour afficher le code retour :

echo $?

1

3.3.Les paramètres de commandes

Une commande shell peut être complétée (pas forcément) par des options et des arguments appelés généralement paramètres de la commande. Voici un exemple :

cp fichier_source fichier_destination

Ici, la commande prend 2 arguments le fichier source et le fichier cible.

3.4.Aide sur une commande

Lorsque vous ne connaissez pas la syntaxe d’une commande (la signification des paramètres), vous pouvez ajouter le paramètre –help ou -h, comme ceci :

ls --help

ou

ls -h

Un autre moyen est d’utiliser la commande man ( il faut que ce package soit installé )

man commande

La documentation de la commande via man est plus détaillée.

4.Les commandes usuelles

Nous aborderons ici les commandes les plus usuelles pour débuter sur la ligne de commande shell

4.1.Se déplacer sur le disque dur et lister le contenu des répertoires

Nota : Contrairement à Windows les répertoires sous Linux utilisent le caractère slash « / » pour séparer les noms des dossiers. De même le nom des fichiers et des répertoires sont sensibles à la casse (minuscule – majuscule). Ainsi le répertoire Shell ne sera pas le même que celui portant le nom shell.

4.1.1. Où suis-je ?

Lors du lancement du terminal vous devez vous retrouvez dans votre répertoire utilisateur. Pour connaître l’emplacement où vous vous trouvez dans l’arborescence linux vous pouvez utilisez la commande pwd:

pwd

mon répertoire utilisateur est :

/home/bob

Lorsque vous listez le contenu d’un répertoire avec les fichiers cachés (ls avec l’argument -al) vous verrez apparaître les deux lignes suivantes :

4.1.2.lister le contenu d’un répertoire avec la commande ls

La commande ls liste les fichiers et les sous-répertoires.

ls

Pour obtenir plus d’information, utilisez l’option -l (pour version longue) :

ls -l

Pour afficher aussi les fichiers « cachés » (en fait ceux qui commencent par un point) utilisez l’option -a (pour all) :

ls -a

On peut bien sûr utiliser ensemble les deux options :

ls -al

Si vous regardez les deux premières vous avez :
drwxr-xr-x  12 bob bob 4096 Mar 15 10:12 .
drwxr-xr-x  30 root    root      4096 Oct 25 11:18 ..

Le répertoire . est le répertoire ou vous trouvez actuellement, alors que .. désigne le répertoire se trouvant au dessus.
Le reste des lignes contiennent les fichiers et les répertoires du dossier courant avec beaucoup d’informations
drwxr-xr-x 4 bob bob 1024 2004-04-04 09:40 ToDo
-rw-r--r-- 1 bob bob 767392 2004-04-04 14:28 essai.sh
^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
|| | | | | | | | | | |
|| | | | | Propriétaire Groupe Taille Date Heure Nom
|| | | | Nombre de fichiers ou dossiers que le dossier listé contient
|| | | Permissions pour tous
|| | Permissions pour les membres du groupe staff
||Permissions pour le propriétaire r = lecture (read), w = écriture (write), x = exécute (execute),
| – = pas de droits
Type de fichier * : – = Fichier régulier, d = Dossier, l = Lien symbolique ou autre…

4.1.3.Se déplacer dans les répertoires avec la commande cd

La commande cd permet de se déplacer dans l’arborescence linux. Cette commande accepte peut utiliser les syntaxe suivante:

Chemin absolu (depuis la racine du disque)

cd /home/bob/Téléchargements

Chemin relatif (depuis l’endroit ou vous vous trouvez). Pour descendre vers la racine on utilise la syntaxe suivante :

cd ..

on se retrouve dans le répertoire /home/bob

cd Documents

on se retrouve dans le répertoire /home/bob/documents. De plus on peut enchaîner les répertoires. Par exemple pour retourner dans le répertoire Téléchargements il suffit de taper :

cd ../Téléchargements

Une autre syntaxe permet de revenir au répertoire précédent. Utile lorsque vous vous déplacer dans les répertoires en mode absolu.

cd -