Vous êtes sur la page 1sur 8

Institut Supérieur des Etudes Technologiques de Jendouba

Département Technologies de l’Informatique


2ème année Licence Appliquée
Atelier Système 2 (Linux)
Amir Souissi © 2017
TP N° 2
Les bases fondamentales du Shell
Objectifs

• Découvrir quelques commandes fondamentales et s’initier à l’utilisation de la console Linux,


• Obtenir de l’aide sur les commandes et savoir interpréter le résultat de l’aide,
• Editer un fichier texte en utilisant les éditeurs intégrés vi et nano et l’éditeur graphique gedit,
• Maitriser l’utilisation des commandes propres au super-utilisateur (root),
• Comprendre le principe d’installation des logiciels et savoir installer un logiciel par différentes méthodes.

1) Découverte de Commandes Fondamentales et Initiation à la Console


 Les noms données aux commandes correspondent à des fichiers exécutables sous le répertoire /bin. Ils sont
souvent fabriqués à l’aide d’une abréviation ou d’initiales pour mieux les mémoriser, tel que : pwd (print
working directory), ls (lister le contenu d’un répertoire), cal (afficher le calendrier), …

 Les paramètres d’une commande sont collés et les arguments sont séparés par des espaces.
 Rappeler la syntaxe générale d’une commande Linux.
 Essayer les commandes suivantes :
mkdir <répertoire> pour créer un ou plusieurs nouveaux répertoires
cd <répertoire> permet de changer de répertoire et de se déplacer dans l’arborescence
cd .. permet de remonter au répertoire parent (c.-à-d. d’un niveau vers la racine de l’arborescence)
cd ../.. permet de remonter au répertoire père du répertoire père
ls [-options] [arguments] liste un répertoire. Si on ne spécifie pas d’argument, alors c’est le répertoire de
travail en cours qui est listé.
Options de ls :
-l affichage en format long (avec permissions)
-t affichage avec tri dans l’ordre de consultation
-a les fichiers cachés sont imprimés
-C provoque un affichage en colonne
-F chaque sous répertoire sera suivi d’un /, chaque exécutable d’une *
-d <répertoire> affiche les caractéristiques du répertoire
file <fichier> détermine le type d’un fichier (exécutable, répertoire, ASCII, …)
who affiche les informations sur les utilisateurs connectés
whoami affiche les informations sur l’utilisateur du poste (équivalente à logname)
tty donne le nom de la console utilisée
wc [-options]<fichier> compte le nombre de lignes, de mots ou de caractères du ou des fichiers passés en
arguments.
Options de wc : -l nombre de lignes
-w nombre de mots
-c nombre de caractères
head –n <fichier> affiche les n premières lignes du ou des fichiers.
tail –n <fichier> affiche les n dernières lignes du ou des fichiers.
nautilus <répertoire> est le gestionnaire de fichier par défaut d’Ubuntu. Il permet d’afficher le contenu
d’un répertoire sous forme d’une fenêtre graphique.
Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 1
 La séparation des répertoires en Linux est faite avec le slash (/), à l’inverse de Windows qui utilise le back-
slash (\).
 Quelle est la différence entre :
cd .
cd ..
cd ~
 Que fait la commande : nautilus .
 On peut rappeler une ligne de commande (son historique) à l’aide des touches de déplacement du curseur ↑
(up) et ↓ (down).
 Les touches Ctrl+U permet d’effacer la ligne d’une commande.
 La touche TAB permet de compléter une commande : le Shell tente de déterminer le nom complet de la
commande à partir des premiers caractères significatifs entrés.
 On peut enchainer plusieurs commandes sur une même ligne à condition de les délimiter par un « ; ».
 On peut interrompre l’exécution d’une commande en cours d’exécution par Ctrl+C.
 Il existe différents types de Shell sous linux : bash (bourne again shell), csh (Cshell), Ksh (Korn Shell), sh
(shell bourne de base), tcsh (CShell amélioré), zsh (ZShell), etc.
 Le Shell par défaut peut être connu en utilisant la commande : echo $SHELL, où SHELL est une variable
d’environnement.
 Les caractères utilisés dans une ligne de commandes peuvent être variés :
Caractères alphanumériques : lettres abc…zABC…Z et chiffres 012…9
Caractères de ponctuation qui sont : . ? , ; : ! « »
Caractères spéciaux : ( ) [ ] # % + - * / (slash) \ (back-slash) = ~ (tilde) & $ _ (underscore) | (pipe).
Remarque : Les caractères accentués ne sont pas utilisés en langue anglaise et de ce fait ne sont pas utilisés dans
les commandes. Des fichiers de configurations spéciaux permettent néanmoins de les utiliser.
Attention : Tous les caractères ne sont pas utilisables pour créer des noms de fichiers, de répertoires ou
d’utilisateurs.
 Il est possible de remplacer le nom d’une commande associée à des options et des paramètres, par une chaine
de caractères plus courte. On utilise pour cela la commande alias.
Intérêt : simplifier le passage des commandes
Inconvénient : spécifique à chaque utilisateur, il ne faut pas en abuser ! Il est préférable d’utiliser le rappel des
commandes (historique).
Exemple : alias L=‘ls -al /home/monrepertoire’
Il n’y a pas d’espaces avant et après le =.
On utilise les simples côtes (‘ ’) car la commande à remplacer contient des espaces (exemple : cls=clear)

2) Obtenir de l’aide sur une commande


 Il existe une commande qui permet d’obtenir une aide en ligne sur une commande particulière. C’est une sorte
de manuel d’utilisation d’une commande donnée. C’est la commande man. (Exemple : man ls)

Name : nom et rôle de la commande

Synopsis : syntaxe de la commande

Description : une description détaillée avec le


rôle de chaque paramètre

Avec la commande man, on perd la main sur l’invite de


commande. Pour y revenir, il faut taper q pour quitter.

Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 2


 D’autres moyens permettent d’obtenir de l’aide sur les commandes. On peut par exemple afficher l’aide sur une
commande en utilisant l’option --help à la suite du nom de la commande.

Exemple : ls --help

Avec l’option --help, on ne perd pas la main sur l’invite de commande.

 Si l’utilisation de man n’est pas suffisante pour comprendre le rôle d’une commande particulière, on peut alors
utiliser la commande info qui fournit une aide détaillée sur la commande. Pour quitter la page info on tape q
pour quitter.

Exemple : info ls

 Pour chercher le nom et la description d’une commande dans les pages du manuel, on utilise la commande
apropos.

Exemple : apropos mv

 Il existe un man sur la commande man (man man)


 Utiliser l’aide pour trouver ce que font les commandes suivantes :
more
chmod
sort
find
ln
ps
3) Edition de texte
 Il existe différents éditeurs de texte qui peuvent être soit totalement intégrés dans le terminal, soit nécessitant
un affichage graphique. Dans les deux cas, ils permettent d’écrire et d’enregistrer du texte dans des fichiers de
données.
 Pour invoquer l’éditeur intégré, il suffit de taper son nom.
 Pour ouvrir un nouveau fichier ou bien un fichier existant, il faut invoquer son nom suivi du nom de fichier.
 L’enregistrement du fichier se fait au répertoire actif (le répertoire de travail en cours).

Editeur intégré vi

 L’éditeur vi (ancienne version vim) est intégré au terminal de la distribution Ubuntu.

Exemple : vi test
Le fichier test sera ouvert dans vi. Si test n’existe pas alors il sera créé.
 Il existe deux modes d’utilisation de l’éditeur vi :
 Le mode commande pour taper des commandes (enregistrer, fermer, …)
 Le mode saisie (ou insertion)
Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 3
 Taper la touche échap pour passer du mode saisie au mode commande
 Taper la touche i (inser) pour passer du mode commande au mode saisie.
 Pour quitter l’éditeur sans sauvegarde des modifications, on utilise :q
 Pour quitter l’éditeur et revenir à l’invite de commande, mais avec sauvegarde cette fois, on utilise :wq
Editeur intégré nano

 Il existe un autre éditeur intégré qui s’appelle nano.

 Les raccourcis clavier de l’éditeur nano sont toujours disponibles en bas de la fenêtre du terminal.
 Chaque commande est précédé par le signe ^ qui veut dire implicitement la touche Ctrl.
Exemple : ^X veut dire Ctrl+X qui permet de quitter l’éditeur et revenir à l’invite de commande.
 L’enregistrement des modifications avec nano se fait après avoir invoqué la commande Ctrl+X. Il suffit alors
de saisir la réponse O (oui) pour sauvegarder ou bien N (non) pour quitter sans sauvegarde.

Editeur graphique gedit

 L’éditeur gedit est un programme installé avec Ubuntu qui joue le rôle d’un utilitaire. Il est semblable au
programme bloc note de Windows.
 On peut l’invoquer à partir du Dash en tapant « gedit » ou « Editeur de texte ».
 On peut aussi l’invoquer à partir du Shell en tapant gedit ou gedit suivi du nom du fichier à ouvrir.

4) Les commandes du root


 Il y a un utilisateur particulier dans Linux qui s’appelle root : C’est en fait le super-utilisateur ou
l’administrateur du système.
 Au démarrage du système, on n’a pas besoin de se connecter en tant que root, car par défaut, sous
Ubuntu, l'accès direct au compte système (root) est désactivé.
 Pour réaliser des actions d’administration (installer un logiciel, ajouter un nouvel utilisateur, lire ou écrire des
fichiers à des endroits protégés du disque, …), le système demande alors à l’utilisateur de s’authentifier en tant
que root.

Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 4


 Pour réaliser une commande en tant que root on précède cette commande par le mot clé sudo (super user do).
On nous demande alors de saisir le mot de passe pour réaliser l’action. Ce mot de passe est le même utilisé lors
de l’installation du système.
 Lorsqu’on saisit le mot de passe, ce dernier est invisible, pour des raisons de sécurité.

Exemple :

Lorsqu’on sort du contexte du dossier personnel, il n’est plus permis d’apporter des modifications sur
l’emplacement si on ne possède pas les droits du root. Essayons de créer un nouveau dossier directement sous la
racine. On aura la suite d’actions suivante :

amir@ubuntu:~$ cd /
amir@ubuntu:~$ mkdir test1
message d’erreur : permission non accordée
amir@ubuntu:~$ sudo mkdir test1
[sudo] password of amir:
amir@ubuntu:~$ ls

Remarque : sudo –k efface le cache des mots de passes

 sudo permet de devenir un root pendant un temps limité sans changer de mon compte utilisateur :
Vrai ou faux ?

 Il y a une commande qui permet de devenir super-utilisateur (c.à.d. root@ubuntu au lieu de amir@ubuntu),
c’est la commande su (super user). Mais, le problème avec su c’est que le root n’a pas de mot de passe car son
compte est désactivé par défaut dans le système Ubuntu. (Il peut être activé mais c’est déconseillé pour les
débutants)
 Taper la commande su et expliquer ce qui se passe.

 Pour ne pas avoir à taper le mot de passe à chaque fois, il faut devenir root définitivement. Pour cela, on utilise
la commande sudo su.
 Expliquer ce que veut dire littéralement la commande : sudo su

 Lorsqu’on devient root définitivement, le prompt change à : root@ubuntu:~# (le # remplace le $)


 La commande exit permet de sortir du compte root et revenir au compte utilisateur qui l’a invoqué.
 Quels sont les deux solutions possibles pour réaliser des actions administratives sous Ubuntu ?

 D’après vous, pourquoi est-il déconseillé d’utiliser la commande sudo su ?

5) Installation de logiciels
 Sous Linux, les librairies sont presque toutes libres et ouvertes. Alors, on n’a pas besoin de redévelopper des
fonctionnalités qui sont déjà existantes. Un logiciel est ainsi composé d’un ensemble de paquets. Ces paquets
peuvent dépendre de l’existence d’autres paquets (d’autres logiciels) pour que le programme soit fonctionnel.

Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 5


 Un paquet : c’est un bout de logiciel précompilé et prêt à être installé. Il s’agit d’une archive (fichier
compressé).
 Un dépôt : c’est l’endroit où sont stockés les paquets. Concrètement, ce sont des serveurs contenant les sources
de logiciels (les fichiers d’installation).
 La dépendance : c’est lorsqu’un logiciel n’est fonctionnel que si d’autres paquets (d’autres logiciels) sont aussi
installés.
 L’outil qui permet d’installer et de désinstaller les logiciels sous Linux s’appelle gestionnaire de paquets. Il
peut aussi gérer les dépendances des paquets.
 Le principe d’installation des logiciels sous Windows est différent de celui de Linux :

OS Linux
OS Windows

/etc/apt/sources.list Outil d’installation


gérer (Gestionnaire de paquets)
Télécharger puis
exécuter

Télécharger puis
Logiciel
installer
(.exe)

Dépôts des
logiciels

 Le rôle du gestionnaire de paquet est de gérer la liste des dépôts, l’installation la mise à jour et la suppression
de logiciels ainsi que leurs dépendances.
 La source d’un paquet à installer peut être :
 Les dépôts officiels de la distribution (Ubuntu) et quelques dépôts parallèles (communauté, …)
 Une adresse PPA (Personal Package Archives) qu’on peut ajouter comme dépôt qui contient souvent peu
de paquets géré par le groupe qui développe un logiciel particulier.
 Un fichier compressé d’extension .deb (Debian ou .rpm pour les distributions de type RedHat) qui
constitue le paquet lui-même téléchargeable directement sur machine (si PPA n’est pas disponible).

dépend
dépend
dépend

paquet
.DEB
Dépôts
PPA

Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 6


 Il existe des gestionnaires de paquets graphiques et d’autres en ligne de commande utilisant le Shell.

Gestionnaire de paquets

Graphique : Non Graphique :


- apt-get
- Logithèque
- aptitude
- Gnome Paquets - dselect
- Synaptic - ……
- …….

Installation des paquets avec la Logithèque

 La logithèque Ubuntu installe le logiciel avec les paquets des dépendances de manière transparente.
 Si vous lancez Applications → Logithèque Ubuntu le rechargement de la liste des paquets se fait
automatiquement au lancement du logiciel.

Exercice A:
1. Installer le logiciel de partitionnement GParted à partir de la logithèque, procéder comme suit :
 Chercher si le logiciel est déjà installé.
 Chercher le logiciel par son nom puis par catégorie, ensuite lire sa description, vérifier sa taille, sa
licence et sa note d’évaluation.
 Installer GParted.
2. Quels sont les deux prérequis à l’installation d’un logiciel sous linux ?
3. Vérifier la liste des dépôts utilisés par la logithèque ?
4. Quelle est la procédure pour ajouter une source de paquets (nouveau dépôt officiel ou un PPA) ?
5. Utiliser le gestionnaire de mise à jour et déduire son rôle ? Modifier la vérification automatique des mises à
jour à ‘jamais’.

Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 7


Installation des paquets en ligne de commande

 APT (Advanced Packaging Tool) est un système complet de gestion de paquets. De nombreux outils (en ligne
de commande ou graphique) permettent d’utiliser APT pour gérer les paquets, tels que : apt-get, apt-cache,
apt-file, …
 apt-get est un outil logiciel à utiliser en ligne de commande. Il permet d'effectuer l'installation et la
désinstallation de paquets en provenance de dépôts APT.
 Les adresses des dépôts sont définies dans le fichier de configuration /etc/apt/sources.list

Attention : L’utilisation des commandes apt-get nécessite les droits du root. Donc, préfixer les commandes par
sudo.

apt-get update : met à jour la liste des fichiers disponibles dans les dépôts APT présents dans le fichier de
configuration /etc/apt/sources.list
apt-get upgrade : mettre à jour tous les paquets déjà installés sur le système vers les dernières versions.
apt-get install <paquet(s)> : installe un ou plusieurs paquets
apt-cache search <mot1 mot2 …> : recherche un paquet dans les dépôts. Ne nécessite pas sudo !
apt-get remove <paquet(s)> : désinstalle les paquets indiqués

Plusieurs autres commandes sont nécessaires pour la gestion des paquets en ligne de commande. Elles sont
disponibles dans la documentation ubuntu (https://doc.ubuntu-fr.org/apt-get).

Exercice B :

1. Chercher dans les dépôts les paquets qui contiennent le mot codeblocks. (codeblocks est un EDI du langage C)
2. Utiliser apt-get pour installer codeblocks. Existe-t-il des dépendances pour ce paquet ? si oui, lesquels ?
3. Après l’installation lancer codeblocks en ligne de commande et à partir du Dash.

Installation d’un paquet avec dpkg

 Pour installer directement des paquets ayant l’extension .deb, on utilise la commande dpkg :

sudo dpkg –i fichier_paquet.deb

 si le paquet possède des dépendances, alors il faut les installer un à un.


 Vérifier que le répertoire actif dans la ligne de commande est celui où se trouvent les .deb à installer
 Taper : sudo dpkg –i *.deb pour les installer d’un seul coup.
 Astuce : pour installer aussi ceux qui se trouvent dans les sous répertoires taper :
sudo dpkg -i 'find . -type f -name '*.deb''

 Après installation, est-ce le fichier .deb est nécessaire au fonctionnement du logiciel ?

Amir Souissi © 2017 TP N° 2 _ Atelier Système 2 (Linux) 8

Vous aimerez peut-être aussi