Académique Documents
Professionnel Documents
Culture Documents
D'EXPLOITATION
GNU/LINUX
Licence MIAGE L1-S1
I. Présentation générale
I.1 Les Généralités
I.2 Caractéristiques des systèmes LINUX
I.3 Architecture LINUX
II. Périphériques de stockage et système de fichier
Le projet GNU
GNU = GNU is Not Unix (« GNU N'est pas Unix »)
(un acronyme récursif!)
● Projet de réaliser un système à la Unix entièrement libre.
● Lancé en 1984 par Richard Stallman, un chercheur du MIT, à
une époque où les sources d'Unix n'étaient plus libres d'accès.
● Composants initiaux: compilateur C (gcc), make (GNU make),
Emacs, bibliothèque C (glibc), outils de base (ls, cp ...)
● Cependant, en 1991, le projet GNU n'avait toujours pas de
noyau et tournait sur des Unix propriétaires.
I. PRESENTATION GENERALE
Linux
● Noyau libre semblable à un noyau Unix, conçu par Linus Torvalds
en 1991
● Le système complet se repose sur les outils GNU:
bibliothèque C, gcc, binutils, fileutils, make, emacs...
● Le système complet est donc appelé “GNU / Linux”
● Très tôt partagé comme Logiciel Libre (Licence GPL), ce qui
attira des contributeurs et des utilisateurs de plus en plus
nombreux.
● Depuis 1991, connaît une croissance supérieure à tout autre
système d'exploitation (pas seulement Unix).
I. PRESENTATION GENERALE
Distributions commerciales
Red Hat: http://www.redhat.com/
La plus populaire. Fiable, sûre, conviviale et facile à installer,
prise en charge par tous les fournisseurs de logiciel et de matériel.
Suse (Novell): http://www.suse.com/
L'alternative principale. Face à installer, conviviale et stable.
Obtiens le support des fournisseurs de logiciel et de matériel..
Mandriva (anciennement Mandrake): http://mandrivalinux.com/
Conviviale, facile à installer, plus innovante, mais moins stable.
Cible principalement les utilisateurs individuels. Peu pris en charge
par les fournisseurs de logiciel et de matériel.
I. PRESENTATION GENERALE
Distributions communautaires
Fedora Core: http://fedora.redhat.com/
Stable, sûre, conviviale, facile à installer. Sortie fréquente de nouvelles
versions complètes.
Ubuntu Linux: http://ubuntu-linux.org/
La distribution communautaire qui progresse le plus.
Basé sur Debian mais avec une version stable tout les 6 mois.
Conviviale pour les utilisateurs. Bonne pour les débutants.
Debian: http://debian.org/
Très stable et sûre, mais plus difficile à configurer et à installer.
Conviviale pour les développeurs mais pas encore pour les utilisateurs.
Version stables pas assez fréquentes (tous les 2 ou 3 ans). La meilleure
pour les serveurs, mais pas pour les débutants.
Mandriva Community: http://mandrivalinux.com/
Facile à installer, sûre, conviviale, sortie fréquente de versions complètes,
mais moins stable (pas assez de tests et de prise en compte des retours des
utilisateurs et testeurs).
I. PRESENTATION GENERALE
● Ubuntu: http://ubuntu-linux.org/
Distribue un CD live avec chaque version (tous les 6
mois).
I. PRESENTATION GENERALE
Famille BSD
● FreeBSD: http://www.freebsd.org/
Système BSD puissant, multi-plateforme, sûr et populaire.
● OpenBSD: http://openbsd.org/
Système BSD puissant, multi-plateforme, sûr et populaire.
Construit pour une fiabilité et une sécurité extrêmes. Populaire pour serveurs sur Internet.
● NetBSD: http://netbsd.org/
Distribution BSD dont le but est d'être extrêmement portable.
Disponible sur ARM et autres
I. PRESENTATION GENERALE
Système X-Window
Interface Utilisateur
Carte graphique (Xfree 4.X)
shell
Système
kernel
Système
BIOS
Machine
Machine
Périphériques Physiques
Applications en ligne de
commande
ls, mkdir, wget, ssh, gcc, busybox...
Espace
Librairies partagées utilisateur
libjpeg, libstdc++, libxml...
Librairie C
GNU C library, uClibc...
noyau système
Linux, Hurd...
Espace
noyau
Matériel et périphérique
Matériel
Année Universitaire 2016-2017 21
I. PRESENTATION GENERALE
III.1 Le SHELL
◮ Shell : interface entre l’utilisateur et le système d’exploitation
(“coquille” : parce qu’elle masque sous leur surface les détails du système
d’exploitation sous-jacent .)
◮ Application (fichier exécutable) chargée d’interpréter les
commandes des utilisateurs et de les transmettre au système
◮ Différents types de shell, les principaux ́étant :
• sh (Bourne shell) • bash (Bourne again shell)
• csh (C shell) • Tcsh (Tenex C shell)
• ksh Korn shell • zsh Zero shell
Année Universitaire 2016-2017 42
III. L'INTERPRETEUR DE COMMANDE
III.2 Utilisation du SHELL
Le shell :
➔ fenêtre présentant un prompt encore appelé invite de
commande.
➔ paramétrable et par défaut en bash
➔ se compose comme suit : login@machine$
suffixe $ → utilisateur normal,
suffixe # → super-utilisateur – administrateur (root)
➔ les commandes sont saisies à la suite du prompt
Syntaxe : prompt# [commande] [option(s)] [arguments]
Exple : #ls -l /home
Année Universitaire 2016-2017 43
III. L'INTERPRETEUR DE
COMMANDE
➔ Pour stopper la commande en cours : Ctrl-C
➔ Pour mettre en attente la commande en cours : Ctrl-Z
➔ Pour terminer l’entrée standard (les éventuelles paramètres
donnés par l’utilisateur via le clavier) : Ctrl-D
. → répertoire courant
.. → répertoire parent
Exemples :
$ pwd → /home/yannick/toto
$ cd .. → /home/yannick/
$ cd projet → /home/yannick/projet
$ cd /usr/local → /usr/local
Année Universitaire 2016-2017 50
IV. LES COMMANDES DE BASE
● ls -a («all»: tous) ● ls -S (“size”: taille)
Affiche tous les fichiers (y Affiche les fichiers les gros en
compris les fichiers .*) premier
● ls -l (long) ● ls -r («reverse»: inversé)
Affichage en format long Affiche en ordre inverse
(type, date, taille, ● ls -ltr (les options
propriétaire, permissions) peuvent être combinées)
● ls -t (temps) Format long, les fichiers les
Affiche les fichiers les plus plus récents à la fin
récents en premier
Année Universitaire 2016-2017 51
Exemples
Exemples
head bogues_windows.txt
tail -f vulnérabilités_outlook.txt
Année Universitaire 2016-2017 54
IV. LES COMMANDES DE BASE
◮ La commande GREP
grep <motif> <fichiers>
Parcourt les fichiers donnés et affiche les lignes qui correspondent au motif spécifié.
● grep erreur *.log
Affiche toutes les lignes contenant erreur dans les fichiers *.log
● grep -i erreur *.log
Idem, mais indifférent aux majuscules / minuscules
● grep -ri erreur .
Idem, mais récursivement dans . et ses sous-répertoires
● grep -v info *.log
Affiche toutes les lignes des fichiers, sauf celles qui contiennent info
◮ La commande SORT
● sort <fichier> (trier)
Trie les lignes du fichier selon l’ordre des caractères et les affiche.
● sort -r <fichier> (“reverse”: inverse)
Idem, mais en ordre inverse
● sort -ru <fichier>
u: unique. Idem, mais ne sort qu’une seule fois les lignes identiques.
◮ Editer un fichier
● emacs [fichier]
● vim [fichier] ou vi [fichier]
● gedit [fichier] : ouvre le fichier dans l'éditeur de
texte
● nano [fichier]
◮ Copier un fichier
● cp [option] [chemin vers fichier source] [chemin vers fichier
destination]
● → copie un fichier source en le renommant si le chemin du fichier
destination contient un nom de fichier
● Exemples :
● $ cp toto /tmp/ → copie le fichier local toto dans /tmp (toujours
nommé toto)
● $ cp toto /tmp/tata → copie le fichier local toto dans /tmp en le
nommant tata
◮ Déplacer un fichier
● mv [option] [chemin vers fichier source] [chemin vers fichier
destination]
→ déplace un fichier source en le renommant si le chemin du
fichier destination contient un nom de fichier
● Exemples :
● $ mv toto /tmp/tata → déplace le fichier local toto dans /tmp en le
nommant tata
● $ mv -i toto /tmp → déplace le fichier toto dans /tmp en prévenant
l’utilisateur s’il existe déjà un fichier /tmp/toto
◮ Supprimer un fichier
● rm [option] [chemin vers fichier]→ supprime un fichier
Exemples :
● $ rm toto → supprime le fichier toto
● $ rm -i toto → supprime le fichier toto en demandant confirmation à
l’utilisateur
● $ rm -f toto* → supprime les fichiers dont le nom commence par
toto, sans demander confirmation à l’utilisateur
● $ rm -r projet → efface récursivement le contenu du répertoire projet
◮ Retrouver un fichier
● find [options]→ effectue une recherche à partir des
informations données en option
● Exemples :
● $ find . -name toto → cherche, dans le répertoire courant
et ses sous-répertoires, un fichier nommé toto
● $ find /tmp/ -type d → cherche tous les sous-répertoires du
répertoire /tmp
● $ find /tmp -type d -exec ls ’{}’ \; → affiche le
● contenu des sous-répertoires du r ́epertoire /tmp
Année Universitaire 2016-2017 63
IV. LES COMMANDES DE BASE
◮ Retrouver un fichier exécutable
● which commande → effectue une recherche dans la liste des
exécutables de la commande donnée
Exemples : $ which echo → /bin/echo
Droits du propriétaire
Date de dernier changement
Droits des autres
● Exemple d'application
Créer les utilisateurs etdtsl1, etdtsl2, etdsl3
Créer les groupes licence1, licence2,licence3
NB : utiliser adduser pour créer les 2 utilisateurs dont
les MDP seront les mêmes noms et useradd pour etdsl3
Modifier etdsl3 pour leur affecter un MDP
Syntaxe
-R : récursif sur tous les fichiers et sous-répertoires contenus si nom est un
répertoire
mode : c'est la combinaison des droits numériques (voir Remarques)
Autrement écrit
+r droit en lecture accordé
-r droit en lecture retiré
+w droit en écriture accordé
-w droit en écriture retiré
+x droit d’ex écution accordé
-x droit en exécution retiré
Année Universitaire 2016-2017 76
IV. LES COMMANDES DE BASE
● Remarque
Propriétaire (u) Groupe (g) Autre (o)
r w x r w x r w x
4 4 4
2 2 2
1 1 1
Options courantes :
● -R récursif sur tous les fichiers et sous-répertoires contenus
si nom est un répertoire
● -h traitement sur les liens symboliques
● Nom exprime le nom d'un fichier ou d'un répertoire utilisateur, représente
soit le nom de l'utilisateur, soit son UID (User IDentification)
● Groupe représente soit le nom du groupe, soit son GID (Group
Identification)
NB : Seul le propriétaire des fichiers traités ou root ont le droit d'utiliser
les deux commandes Année Universitaire 2016-2017 83
IV. LES COMMANDES DE BASE
Exemple :
● $ sudo chown -R paul.L1 projet/ →
définit l’utilisateur paul et le groupe L1
au répertoire projet et à tous ses
fichiers
◮ Compresser/décompresser un fichier ?
● gzip fichier → compresse un fichier au format .gz
(algorithme deflate)
● gunzip fichier → décompresse un fichier au format .gz
Exemples :
● $ gzip toto.txt → toto.txt.gz
● $ gunzip toto.txt.gz → toto.txt
Commandes réseaux
● ping correspondant
Permet de vérifier une connexion réseau entre deux
correspondants
Telnet correspondant
permet d'ouvrir une session sur une machine distante
● Ifconfig interface → affichage les informations sur les interfaces
réseaux
● Ip link→ affichage les informations sur les interfaces réseaux
● Ifconfig interface up → active l'interface réseau
● Ifconfig interface down → désactive l'interface réseau
Année Universitaire 2016-2017 89
IV. LES COMMANDES DE BASE
• Exécution sous conditions de réussite : cmd1 && cmd2 && ... && cmdN
si cmd1 s'est bien déroulée, alors cmd2 sera exécutée; et ainsi de suite
$ ls fic1 && echo Le fichier est bien présent sur le disque dur