Vous êtes sur la page 1sur 99

SYSTEME

D'EXPLOITATION
GNU/LINUX
Licence MIAGE L1-S1

Enseignante : Mme NASSA/TRAWINA

Année Universitaire 2016-2017 1


PLAN

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

III. L'Interpreteur de commandes (SHELL)

IV. Les commandes de base

V. Amorçage et Arrêt du Système

VI. Notion de processus


Année Universitaire 2016-2017 2
I. PRESENTATION GENERALE

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

Les Logiciels Libres


Les logiciels libres garantissent les 4 libertés suivantes aux
utilisateurs:
● La liberté d'exécuter le programme, qu'elle que soit le but
● La liberté d'étudier son fonctionnement, et de l'adapter à
ses besoins.
● La liberté de redistribuer des copies pour aider autrui.
● La liberté d'améliorer le programme, et de partager ses
améliorations avec autrui.
Voir http://www.gnu.org/philosophy/free-sw.html
I. PRESENTATION GENERALE

Les logiciels libres sous licence BSD


● Bien sur, elle garantit les 4 libertés aux utilisateurs
● Cependant, elle permet de rendre propriétaire le programme
pour soi
● Exemple de licences: BSD, Apache
I. PRESENTATION GENERALE

La licence GNU General Public License (GPL)


La contribution majeure du projet GNU!
● Les licences Copyleft utilisent la loi sur le copyright pour permettre
aux auteurs d'exiger que toute modification d'un logiciel libre reste un
logiciel libre. Voir http://www.gnu.org/copyleft/copyleft.html
● La licence GNU GPL exige que toutes modifications et travaux
dérivés soient aussi publiés sous licence GPL:
– Ne s'appliquent qu'aux logiciels publiés
– Tous les programmes incluant le code GPL (que ce soit par lien
statique ou dynamique) sont considérés comme une extension de
ce code.
FAQ GPL: http://www.gnu.org/licenses/gpl-faq.html
I. PRESENTATION GENERALE

GNU Lesser General Public License


http://www.gnu.org/copyleft/lesser.html
http://www.gnu.org/copyleft/lesser.html
● Licence Copyleft similaire à GNU GPL:
Les modifications doivent être échangés selon les mêmes
conditions
● Cependant, permet l'utilisation au sein de programmes
propriétaires.
● Utiliser par plusieurs librairies de logiciels libres.
Exemples:
glibc, GTK, Wine, SDL
I. PRESENTATION GENERALE

Logiciel libre et open source


Le mouvement des logiciels libres
● Approche fondée sur des principes
● Basé sur la liberté individuelle et l'utilité sociale de la coopération.
● Voir http://www.gnu.org/philosophy/free-software-for-freedom.html
Le mouvement open source
● Approche pragmatique
● Invoque principalement les avantages de partager les sources et fait ses
choix selon la supériorité technique.
Bien que les motivations de départ sont différentes, les deux mouvements
travaillent très bien ensemble!
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 GNU / Linux


● Se chargent de publier un ensemble cohérent de versions compatibles du
noyau, de la bibliothèque C, des compilateurs, des outils... Cela représente un
travail très conséquent!
● Les outils sont disponibles sous forme de paquetages qui peuvent facilement
être installés, supprimés ou mis à jour. Les dépendances entre outils sont
gérées automatiquement.
● Distributions commerciales: incluent de l'assistance technique. Le code source
est libre, mais les binaires ne sont pas libres d'accès.
● Distributions communautaires: sources et binaires sont librement disponibles.
Fourni sans assistance technique obligatoire.
● Ne confondez pas la version de distribution avec celle du noyau!
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

Distributions live (1)


● Linux s'amorce à partir d'un périphérique de stockage (cd-rom, dvd-
rom ou usb) et démarre tout à partir de ce périphérique.
● Idéal pour essayer GNU / Linux et les applications des logiciels
libres sans avoir à installer quoi que ce soit sur le disque dur!
● Le système est prêt et démarre en 2-3 minutes.
Plus rapide qu'installer et configurer GNU / Linux!
● Aussi efficace pour récupérer des données lorsque le système
d'origine
ne démarre plus.
● Utilise un système de compression pour mettre en mémoire 3 à 4
fois la capacité de stockage !
Liste des distributions live : http://frozentech.com/content/livecd.php
I. PRESENTATION GENERALE

Distributions live (2)


● Knoppix: http://knoppix.net/
La plus populaire. Disponible en CD et DVD.
Idéale pour l'auto configuration de votre matériel!

● Ubuntu: http://ubuntu-linux.org/
Distribue un CD live avec chaque version (tous les 6
mois).
I. PRESENTATION GENERALE

Autres systèmes Unix libres (1)


GNU / Hurd: http://www.gnu.org/software/hurd/hurd.html
● Outils GNU avec le Hurd, le micro-noyau de GNU
● De plus en plus mûr, mais pas encore assez pour être utilisé par tous. Jusqu'à présent
(2005), surtout utilisé par ses développeurs eux-mêmes.

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

Autres systèmes Unix libres (2)


Famille Système V
● OpenSolaris: http://opensolaris.org/
Le noyau open source de Sun Solaris.
A débuté en juin (2005). Pas encore de version stable.
Autres
● eCos: http://ecos.sourceware.org/
Système embarqué à temps réel très léger
fourni par Red Hat / Cygnus.
API compatible avec POSIX.
I. PRESENTATION GENERALE

I.2 Caractéristiques des systèmes LINUX


Au départ, Unix à été créé pour les ordinateurs multi-utilisateurs
● Multi-utilisateur et sécurisé: ● Multi-tâches
Par défaut, les utilisateurs ● Supporte plusieurs
ordinaires ne peuvent pas processeurs
toucher aux fichiers d'autres ● Extrêmement flexible
utilisateurs. ● Prise en charge du réseau
En particulier, ils ne peuvent ni ● Portable
modifier les paramètres du ● Scalable
système, ni supprimer des
programmes, etc.
● root: utilisateur administrateur
avec tous les privilèges

Année Universitaire 2016-2017 17


I. PRESENTATION GENERALE

I.2 Caractéristiques des systèmes LINUX (suite)


● Graphisme: ● Opera 5
● The Gimp (retouche
d’image) ● Instant Messaging: ICQ, AIM,
● Corel PhotoPaint (retouche
d’image) etc…
● Sketch (Dessin vectoriel)
Internet: ● Serveurs :
● Firefox : navigateur par défaut HTTP, FTP, mail, news, DNS,
depuis la version Ubuntu 9.10 etc…
● Netscape Communicator
● Konqueror

Année Universitaire 2016-2017 18


I. PRESENTATION GENERALE

I.3 Architecture des systèmes LINUX


 Architecture Globale: 3 couches
– Couche « physique »: périphériques + BIOS
– Couche « système »: kernel et processus
– Couche « interface »: shell + X-Window
 Communications entre couches très
réglementées par le kernel

Année Universitaire 2016-2017 19


I. PRESENTATION GENERALE

I.3 Architecture des systèmes LINUX (suite)

Système X-Window
Interface Utilisateur
Carte graphique (Xfree 4.X)

shell

Système
kernel
Système

BIOS
Machine
Machine
Périphériques Physiques

Année Universitaire 2016-2017 20


I. PRESENTATION GENERALE
I.3 Architecture des systèmes LINUX (suite)
applications graphiques des 
utilisateurs
Navigateur web, office, multimedia...

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

I.3 Architecture des systèmes LINUX (suite)


Le Shell: interpréteur de commande
➢ Lit et exécute les commandes de l’utilisateur
Carte graphique (Xfree 4.X)

➢ Propose un contrôle des processus


➢ Gère les redirections en entrée et en sortie
➢ Propose un véritable langage de programmation
➢ Plusieurs types de shell disponibles:
➢ Le plus utilisé: bash
➢ Autres: csh, ksh, etc…

Année Universitaire 2016-2017 22


Carte graphique (Xfree 4.X)

Année Universitaire 2016-2017 23


I. PRESENTATION GENERALE

I.3 Architecture des systèmes LINUX (suite)


Le Système X:
Interface graphique standard des systèmes UNIX
Carte graphique (Xfree 4.X)

Repose sur un « serveur X »


Utilise un gestionnaire de fenêtres: plusieurs sont
disponibles (KDE2, WindowMaker, Enlightenment, etc…)
Sous Linux: XFree86 (version 4.1.0 actuellement)
Possibilité de déporter l’affichage à travers un réseau

Année Universitaire 2016-2017 24


I. PRESENTATION GENERALE
Carte graphique (Xfree 4.X)

Année Universitaire 2016-2017 25


II. PERIPHERIQUES DE STOKAGE ET
SYSTEME DE FICHIER
II.1 Périphériques de stockage
Les Partitions
–A l’installation, un disque dur n’est ni partitionné ni
formaté
–Partitionner: définir des espaces réservés sur le disque
–Formater: préparer la partition à recevoir des
informations
–Une partition est définie par:
Son type
Son emplacement de début de partition
Sa taille (ou son emplacement de fin de partition
Année Universitaire 2016-2017 26
II. PERIPHERIQUES DE STOKAGE ET
SYSTEME DE FICHIER
II.1 Périphériques de stockage (suite)
- Un partitionnement est réversible (non
physique)
– Les informations de partionnement sont
stockées par le BIOS dans le MBR (Master
Boot Record)
– Notion d’activation:
Une seule partition peut être activée sur
un ordinateur
Indique où il doit aller chercher le noyau
du système d’exploitation pour le
démarrage Année Universitaire 2016-2017 27
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.1 Périphériques de stockage (suite)
3 types de partitions:
 Partition Principale:
–Au maximum 4
–Pas de minimum
–Accepte tout type de système de fichiers
Partition Étendue:
–Ne peut contenir que des partitions logiques
–Ne peut pas recevoir de système de fichiers
–Ne peut exister que s’il existe une partition
principale
Partition Logique:
–Contenue dans une partition étendue
–Pas de limitation en nombre
–Accepte tout type de système de fichiers
Année Universitaire 2016-2017 28
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.1 Périphériques de stockage (suite)

Année Universitaire 2016-2017 29


II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.1 Périphériques de stockage (suite)

 /dev est le répertoire des périphériques


 Sous UNIX, TOUT est fichier
 Pointeur de la forme: « /dev/PPLN » avec:
– PP: type de bus
« hd »pour les disques dur IDE
« sc » pour les disques SCSI (Lecteur CD-ROM ou DVD-ROM)
« fd » pour les lecteurs de disquettes
– L: lettre du périphérique concerné
N: numéro de partition concernée
1 à 4: partition principale ou étendue
>4: partitions logiques
Année Universitaire 2016-2017 30
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
 Exemples:

– /dev/hda: périphérique maître du bus primaire IDE


– /dev/hdd: périphérique esclave du bus secondaire
IDE
– /dev/hda1: partition primaire du périphérique
maître du bus primaire IDE
– /dev/hda7: 3ème partition logique du périphérique
maître du bus primaire IDE

Année Universitaire 2016-2017 31


II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Le Système de Fichier
 Système de fichiers: manière dont un système stocke ses données
sur un disque

 LINUX utilise deux types de Système de Fichiers

● Swap : sert de mémoire virtuelle (à peu près la même


taille que la RAM)
● Ext3fs (Ext4, Ext3, Ext2, ReiserFS,...) sert à stocker les
données (fichiers, repertoires)

Année Universitaire 2016-2017 32


II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Système de fichiers (suite)
Pour Linux «Ext3» est le plus répandu:
Répertoires séparés par des « / »
Sensible à la casse (« aaa » <> « Aaa »)
Les fichiers cachés commencent par « . »
Les espaces et les noms longs sont acceptés
Défragmentation quasi-inutile

Année Universitaire 2016-2017 33


II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Système de fichiers (suite)
Système de fichier correspond à une arborescence que l’on
parcourt de la racine (root) vers les feuilles
/ Racine du système, contient les répertoires principaux
bin Commandes essentielles communes à tous les utilisateurs
/boot Fichiers de démarrage du système, contient le noyau
/dev Points d’entrée des périphériques
/etc Fichiers de configuration
/home Contient les répertoires personnels des différents utilisateurs
/root Répertoire personnel de l’administrateur
/usr Hiérarchie secondaire, applications, bibliothèques partagées
/var Fichiers trace du système (Logs)
/proc Système de fichier virtuel, informations en temps réel
Année Universitaire 2016-2017 34
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Système de fichiers (Arborescence)

Année Universitaire 2016-2017 35


II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Système de fichiers (montage)
 LeMontage de Systèmes de Fichiers
– Monter un système de fichiers  l’associer à un répertoire sur le
système
– Par exemple, le système de fichiers racine est monté sur « / »
– Un système de fichiers n’est pas accessible tant qu’il n’est pas
monté
– Commande « mount »:

mount –t <système de fichiers> <périphérique> <répertoire>


Ex: « mount –t vfat /dev/hda1 /windows »
– Démonter un répertoire:
 umount <répertoire> 
Année Universitaire 2016-2017 36
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER

Le Montage de Systèmes de Fichiers


–Les points de montage sont décrits dans
« /etc/fstab »
–Notations pour les systèmes de fichiers:
« ext3 »: Ext3fs
« vfat »: FAT32
« msdos »: FAT16
« ntfs »: NTFS (lecture seulement)
« iso9660 »: CD-ROM/DVD-ROM

Ex: mount –t iso9660 /dev/hdc /cdrom


Année Universitaire 2016-2017 37
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER

Le Montage de Systèmes de Fichiers


–Les points de montage sont décrits dans
« /etc/fstab »
–Notations pour les systèmes de fichiers:
« ext3 »: Ext3fs
« vfat »: FAT32
« msdos »: FAT16
« ntfs »: NTFS (lecture seulement)
« iso9660 »: CD-ROM/DVD-ROM

Ex: mount –t iso9660 /dev/hdc /cdrom

Année Universitaire 2016-2017 38


II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Système de fichiers (Les types de fichiers)
Dans le système UNIX il existe 3 types de fichiers:
➔ Les fichiers ordinaires peuvent être :
● des programmes exécutables (compilateurs, éditeurs, tableurs, …)
● des fichiers texte
● des fichiers de données
➔ Les fichiers spéciaux :
Ce sont des fichiers associés à un dispositif d'entrée/sortie (E/S) physique.
Ils sont traités par le système comme des fichiers ordinaires mais la lecture
et l'écriture sur ces fichiers activent les mécanismes physiques associés
(drivers).
Année Universitaire 2016-2017 39
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
II.2 Système de fichiers (Les types de fichiers)
Les fichiers spéciaux :
Il existe 2 types de fichiers spéciaux:
● mode caractére : E/S réalisées caractère par caractère
● (terminaux, imprimantes, lignes de communication, ...)
● mode bloc : E/S réalisées par blocs de caractères (disques, bandes).
➔ Les répertoires :
Les répertoires ne sont juste que des fichiers listant plusieurs fichiers
Les répertoires sont aussi appelés catalogues ou directories.
Année Universitaire 2016-2017 40
II. PERIPHERIQUES DE STOKAGE
ET SYSTEME DE FICHIER
➔ Liens symboliques :
Fichiers faisant référence au nom d'un autre fichier

Année Universitaire 2016-2017 41


III. L'INTERPRETEUR DE COMMANDE

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

Année Universitaire 2016-2017 44


III. L'INTERPRETEUR DE COMMANDE
III.3 Les entrées sorties standards
Lors de l’exécution d’une commande, un processus est créé.
Celui-ci va alors ouvrir trois flux :
stdin ou l’entrée standard, par déaut le clavier, identifiée
par l’entier 0 (descripteur)
stdout ou la sortie standard, par d ́efaut l’ écran, identifiée
par l’entier 1
stderr la sortie d’erreur standard, par défaut l'écran,
identifiée par l’entier 2

Année Universitaire 2016-2017 45


III. L'INTERPRETEUR DE COMMANDE
III.4 Les redirections
Il est possible de redigirer les flux d’entrée-sortie au moyen
d’opérateurs spécifiques :
> redirection de la sortie standard (par exemple dans un
fichier)
< redirection de l’entrée standard
>> redirection de la sortie standard avec concaténation
>& redirection des sorties standard et d’erreur
>! redirection avec écrasement de fichier
| redirection de la sortie standard vers l’entrée standard
Année Universitaire 2016-2017 46
(pipe)
III. L'INTERPRETEUR DE COMMANDE
Exemple

Année Universitaire 2016-2017 47


IV. LES COMMANDES DE BASE

IV.1 Les commandes fondamentales


◮ Aide
● $ man commande→ Manuel pour les commandes
◮ Où suis-je dans l’arborescence ?
● $ pwd
NB: chemin absolu vs chemin relatif
Exemple: yannick@nausicaa:~ /toto $ pwd
/home/yannick/toto

Année Universitaire 2016-2017 48


IV. LES COMMANDES DE BASE

IV.1 Les commandes fondamentales

◮ Savoir qui est connecté au système ?


$ who
Exemple :

Année Universitaire 2016-2017 49


IV. LES COMMANDES DE BASE

◮ Se déplacer dans l’arborescence


$ cd [chemin]
● → Permet de changer de répertoire (change directory)
● Alias :

. → 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

◮ Lister le contenu d’un répertoire


ls [option] [chemin]
→ Liste le contenu d’un répertoire courant, en ordre alphanumérique, sauf ceux qui 
commencent par le caractère “.”.

 
● 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

$ ls l* → liste tous les fichiers commençant par l


● $ ls -l → liste tous les fichiers du répertoire courant, en donnant les


attributs des fichiers (droits, taille, etc)
● $ ls -a → liste tous les fichiers du répertoire courant (y compris les
fichiers cachés dont le nom commence par un “.”)

ls *txt → L’interpréteur remplace d’abord *txt par tous les noms de
fichiers et de répertoires finissant par txt (y compris .txt), sauf ceux
commençant par ., et enfin exécute la ligne de commande ls.

ls -d .* → Affiche tous les fichiers et les répertoires commençant par .
-d indique à ls de ne pas afficher le contenu des dossiers .*
● cat ?.log
Affiche le contenu de tous les fichiers dont le nom commence par 1
caractère et finit par .log

Année Universitaire 2016-2017 52


IV. LES COMMANDES DE BASE

◮ Visualiser le contenu d’un fichier


cat [option] [chemin vers le fichier1, fichier2, etc]
→ affiche le contenu d’un fichier
● Exemples :
● $ cat .bash profile → affiche le contenu du fichier cache .bash profile
● $ cat toto > tata → écrit le contenu du fichier toto dans un fichier nommé tata

● ◮ Visualiser le contenu d’un fichier page par page


more [fichier]
◮ Visualiser le contenu d’un fichier dans un flux
less [fichier]
Année Universitaire 2016-2017 53
IV. LES COMMANDES DE BASE

◮ Extraire et afficher quelques lignes d'un fichier : Les commandes HEAD


et TAIL
● head [-<n>] <fichier> (tête)
Affiche les <n> premières lignes (ou 10 par défaut) du fichier donné
N’a pas besoin d’ouvrir le fichier en entier pour le faire!
● tail [-<n>] <fichier> (queue)
Affiche les <n> dernières lignes (ou 10 par défaut) du fichier donné
Ne charge pas tout le fichier en mémoire. Très utile pour les gros fichiers.
● tail -f <fichier> (follow: suivre)
Affiche les 10 dernières lignes du fichier donné et continue à afficher les nouvelles lignes
au fur et à mesure qu’elles sont rajoutées en fin de fichier. Très pratique pour suivre les
rajouts à un fichier de journal (“log”)

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

Année Universitaire 2016-2017 55


IV. LES COMMANDES DE BASE

◮ 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.

Année Universitaire 2016-2017 56


IV. LES COMMANDES DE BASE

◮ Obtenir des statistiques sur le contenu d’un fichier


● wc [option] [chemin vers le fichier]
→ affiche le nombre de mots / lignes / caractères d’un
fichier
● Exemples :
● $ wc -l toto → affiche le nombre de lignes du fichier toto
● $ wc -c toto → affiche le nombre de caractères du fichier
toto
● $ ls | wc -l → affiche le nombre de fichiers dans le
répertoire courant
Année Universitaire 2016-2017 57
IV. LES COMMANDES DE BASE

◮ Editer un fichier
● emacs [fichier]
● vim [fichier] ou vi [fichier]
● gedit [fichier] : ouvre le fichier dans l'éditeur de
texte
● nano [fichier]

● NB : les éditeurs « emacs », « vim » et « nano »


sont des paquages à installer.
Année Universitaire 2016-2017 58
IV. LES COMMANDES DE BASE

◮ 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

Année Universitaire 2016-2017 59


IV. LES COMMANDES DE BASE

◮ 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

Année Universitaire 2016-2017 60


IV. LES COMMANDES DE BASE

◮ 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

Année Universitaire 2016-2017 61


IV. LES COMMANDES DE BASE

◮ Créer / supprimer un répertoire


● mkdir [chemin vers réepertoire]
● rmdir [chemin vers répertoire]
→ crée / supprime un répertoire vide
Exemples :
● $ mkdir toto → crée le répertoire toto
● $ rmdir toto → supprime le répertoire vide toto
● $ rmdir projet → rmdir: projet/: Directory not empty

Année Universitaire 2016-2017 62


IV. LES COMMANDES DE BASE

◮ 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

◮ Connaître l’espace occupé par un répertoire / disque ?


● du [option] fichier → donne la taille en octets d’un fichier
● df [option] → donne la taille des données présentes sur chaque
disque
● Exemples :
● du -sh projet → 4.0K projet/
Année Universitaire 2016-2017 64
IV. LES COMMANDES DE BASE

IV.2 La gestion les utilisateurs


Deux catégories d'utilisateurs sous LINUX
–utilisateur du système:
Personne physique
Droits d’accès au système
Répertoire personnel
Groupe d’utilisateur

–utilisateur particulier: « root »


Administrateur du système
Possède tous les droits ou privilèges sur le système, les
utilisateurs et les fichiers
A n’utiliser que pour la configuration et l’installation
Année Universitaire 2016-2017 65
IV. LES COMMANDES DE BASE

IV.2 La gestion les utilisateurs (suite)


 Gestion des Utilisateurs
– Identification d’un utilisateur:
Nom: « login »
Mot de passe: « password »
– Référencement de tous les utilisateurs dans le fichier
« /etc/passwd » et/ou « /etc/shadow »
– Référencement à un groupe: « /etc/group »
– Répertoire personnel: « /home/<login> »

Année Universitaire 2016-2017 66


IV. LES COMMANDES DE BASE

IV.2 La gestion les utilisateurs (suite)


– Le fichier « /etc/passwd »
 Contient toutes les informations sur les comptes utilisateurs du système
 Seul root a le droit en écriture dessus
 Chaque utilisateur est référencé par une ligne donnant:
– Son login
– Son mot de passe (crypté)
– Son numéro d’identification sur le système
– Son numéro de groupe
– Un Commentaire (Nom complet en général)
– Son répertoire personnel de base
– Son shell par défaut

Ex: toto:ZyXD4:501:510:toto le bon :/home/toto:/bin/bash


Année Universitaire 2016-2017 67
IV. LES COMMANDES DE BASE

 Droits d’Accès sur les Fichiers


– 3 types de permissions:
 Lecture (Read)
 Écriture (Write)
 Exécution (eXecute)

– À la création: droits par défaut


– Trois catégories d’utilisateur pour un fichier:
 Le propriétaire (User)
 Les membres du groupe (Group)
 Les autres (Other)

– Chaque fichier est associé à un propriétaire et à un groupe


– Commande pour afficher les droits: « ls –l »

Année Universitaire 2016-2017 68


IV. LES COMMANDES DE BASE

 Droits d’Accès sur les Fichiers


– En résumé: trois permissions et trois niveaux
– Sortie d’une commande « ls –l »:

Droits du propriétaire
Date de dernier changement
Droits des autres

- rwx r-x r-x 2 toto users 16384 Nov 15 09:21 fichier.txt

Propriétaire Nom du fichier


Droits du groupe
Groupe du propriétaire

Année Universitaire 2016-2017 69


IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs


◮ Ajouter un utilisateur ou un groupe
● adduser [options] login
● addgroup [option] login
Adduser et addgroup ajoutent un compte utilisateur ou un groupe au
système et créent un répertoire personnel pour cet utilisateur particulier si
cela est demandé.

◮ Changer de mot de passe ?


● passwd [options] login

Année Universitaire 2016-2017 70


IV. LES COMMANDES DE BASE
IV.3 Les commandes pour la gestion les utilisateurs (suite)

● 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

Année Universitaire 2016-2017 71


IV. LES COMMANDES DE BASE
IV.3 Les commandes pour la gestion les utilisateurs (suite)

● Supprimer un utilisateur ou groupe du système suivant les


options
deluser [option] utilisateur
delgroup [option] group

● Modifier les informations sur l'utilisateur ou le groupe


usermod utilisateur
groupmod group

Année Universitaire 2016-2017 72


IV. LES COMMANDES DE BASE
IV.3 Les commandes pour la gestion les utilisateurs (suite)

● Suite exemple d'application


affecter les utilisateurs à leur groupe respectif
créer un groupe licence
affecter etdsl3 à ce groupe
modifier le nom du groupe et donner master
supprimer le groupe
NB : A chaque étape, vérifier le fichier /etc/group et
/etc/passwd

Année Universitaire 2016-2017 73


IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion des fichiers des utilisateurs


(suite)
La commande CHMOD

Syntaxe

chmod [-R] mode nom [...]


chmod [-R] [ ugoa] {+|-|=} [ rwx] nom [...]
Description
La commande chmod change les droit d'accès aux fichiers spécifiés sur la ligne
de commande.

Deux manières d'attribuer les droits sont possibles :


● La première stipule les droits de manière numérique par un calcul des

différentes valeurs associées aux droits;

● La seconde permet de spécifier ces mêmes droits de manière plus


symbolique. Année Universitaire 2016-2017 74
IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion des fichiers utilisateurs


(suite)
Options courantes

-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)

ugoa : caractère spécifiant le champ d'application des modifications :


u → représente l'utilisateur,
g → le groupe,
a → les autres,

+|-|= indique l'action à accomplir respectivement l'ajout du droit, son retrait, ou


bien son affectation.

rwx indique le droit proprement dit (r lecture, w écriture, x


éxecution).
Année Universitaire 2016-2017 75
IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs (suite)

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

IV.3 Les commandes pour la gestion les utilisateurs (suite)

● 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

Année Universitaire 2016-2017 77


IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs (suite)

● Suite exercice d'application


1- connectez-vous en tant utilisateur etdl1
2- créer les dossiers : dos1, dos2, dos3
3- créer les sous dossier sdos11, sdos12 du dossier dos1
et sdos21, sdos22 du dossier dos2
4- consulter le contenu du repertoire courant de l'uitilisateur etdtl1 avec la
commande ls -l
5- Déconnectez-vous de l'utilisateur etdtl1 et connectez-vous en tant que etdl2
6- Consulter le contenu du repertoire courant de etdl2 par la cmd : ls -l
Année Universitaire 2016-2017 78
IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs (suite)

Suite exercice d'application


7- Placez-vous sur le repertoire dos1 de l'utilisateur etdl1 avec la cmd :
cd /home/etdl1
8- créer un fichier fich1.txt avec le contenu « je modifie le repertoire de
l'utilisateur etdl1 » par la cmd : cat > fich1
9- Que constatez-vous ?
10- Accorder le droit en écriture pour les autres du dossier dos1 de
l'utilisateur etdl1 et reprendre la création du fichier fich1

Année Universitaire 2016-2017 79


IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs (suite)

Suite exercice d'application


11- En notation numérique :
Commades à utiliser :
● Su etdl1 ● Retirer le droit d'écriture à
● Cd l'utilisateur etdl2 et son groupe sur le
● Ls -l
dossier dos21
● Chmod a+w dos1 ● Accorder tous les droits (r,w,x) à
● Ls -l l'utilisateur etdl1, à son groupe et aux
● Su etdl2 autres sur le fichier fich1.
● Cd /home/etdl1 12- Reprendre la même chose sur le
● Cat > fich1 dossier dos22, et le fichier fich2 (à
● …... créer avant)

Année Universitaire 2016-2017 80
Exemples
● $ chmod 777 villes → les droits du fichier villes
seront: rwxrwxrwx, autrement dit on a r=4, w= 2 et
x=1 qui donne 4+2+1=7 (pour le prop, le grp et les
autres=777)
● $ chmod 462 villes → r- -rw- -w-
● $ chmod g-rw villes → rwx- -xrwx ie rétirer au
groupe les droits de lecture et écriture

Année Universitaire 2016-2017 81


IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs (suite)

◮ Changer le propriétaire ou le groupe d’un fichier


Syntaxe
chown [-R] [-h] utilisateur nom [...]
● chgrp [-R] [-h] groupe nom [...]
Description
● chown change le propriétaire des fichiers spécifiés sur la ligne de
commande.
● chgrp change le groupe des fichiers spécifiés sur la ligne de
commande
Année Universitaire 2016-2017 82
IV. LES COMMANDES DE BASE

IV.3 Les commandes pour la gestion les utilisateurs (suite)

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

Année Universitaire 2016-2017 84


IV. LES COMMANDES DE BASE

IV.4 Quelques Commandes avancées

◮ Rechercher un motif dans un fichier ?


● grep [options] expression régulière fichier1 ...
→ effectue une recherche à partir d’un motif fourni dans une
expression régulière donnée
Exemples :
● $ grep ′′ listeria ′′ /home/Cath/cours/* → cherche, dans les fichiers du
répertoire cours, des fichiers contenant le motif listeria
● $ grep -n ′′ listeria ′′ /home/Cath/cours/* → idem, mais en affichant le
numéro de ligne
● $ grep -c ′′ listeria ′′ /home/Cath/cours/* → idem, mais en donnant le
nombre d’occurences du motif
Année Universitaire 2016-2017 85
IV. LES COMMANDES DE BASE

IV.4 Quelques Commandes avancées

◮ 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

Année Universitaire 2016-2017 86


IV. LES COMMANDES DE BASE

IV.4 Commandes avancées


◮ Créer / extraire une archive ?
● tar cf projet.tar projet/* → crée une archive avec le contenu
du répertoire projet et nommée et sera projet.tar

● tar xf projet.tar→ extrait le contenu de l’archive nommée


projet.tar
● tar zcf projet.tar projet/* → crée et compresse une archive
avec le contenu du répertoire projet et nommée projet.tar.gz
● tar zxf projet.tar.gz → extrait le contenu de l’archive
compress ́ee nommée projet.tar.gz
Année Universitaire 2016-2017 87
IV. LES COMMANDES DE BASE
◮ Créer un lien vers un fichier ?
● ln [options] fichier source lien → création d’un lien.
Un lien est un type sp ́ecial de fichier qui permet à plusieurs noms
de fichiers de faire référence au même fichier sur le disque.
● NB: lien “dur” vs lien symbolique
Exemples :
● $ ln /home/yannick/cours.pdf /home/yannick/projet/cours.pdf
→ le fichier cours.pdf du répertoire yannick du répertoire projet est
un lien vers le fichier cours.pdf du répertoire yannick
● $ ln -s /home/yannick/cours.pdf /home/yannick/projet/cours.pdf
→ idem avec un lien symbolique
● NB: que fait rm /home/yannick/projet/cours.pdf ?
Année Universitaire 2016-2017 88
IV. LES COMMANDES DE BASE

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

Année Universitaire 2016-2017 90


IV. LES COMMANDES DE BASE

Les groupes de commandes


Il existe plusieurs méthodes pour enchaîner des commandes sur une même
ligne :
• Exécution séquentielle : cmd1; cmd2;...; cmdN

• Exécution sous condition d'erreur : cmd1 || cmd2 || ... || cmdN


si cmd1 ne se termine pas correctement, alors cmd2 est exécuté, et ainsi de
suite.

• 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

Les groupes de commandes peuvent remplacer les commandes simples dans


les pipes; mais dans ce cas, il faudra entourer le groupe de commande avec des
accolades {}; cela permet les combinaisons les plus variées;

Exemple : { cmd1 && cmd2; cmd3 || cmd4; } | cmd5

ATTENTION: l'espace après { , le ; , et avant } sont indispensables.


Année Universitaire 2016-2017 91
IV. LES COMMANDES DE BASE

Les groupes de commandes


Exemple : Taper une ligne de commande qui affiche le message
« Le fichier est bien présent sur le disque dur »
seulement lorsqu'un fichier 'fich1' est présent dans le répertoire
courant.

$ ls fic1 && echo Le fichier est bien présent sur le disque dur

Année Universitaire 2016-2017 92


V. Amorçage et Arrêt du Système

Les Chargeurs de Boot


–Servent à démarrer un système d’exploitation
–Permettent le choix au démarrage
–Chargeurs:
Windows NT: NTLoader
OS/2: Boot Manager OS/2
Linux: LILO (Linux Loader) et GRUB

–S’installent le plus souvent dans le MBR du


disque

Année Universitaire 2016-2017 93


V. Amorçage et Arrêt du Système

 Séquence de Boot de Linux


– Démarrage Hardware de la machine
– Chargement du BIOS: initialisation des périphériques
– Lecture du MBR
– Lancement de LILO ou GRUB
– Choix du système
– Chargement du noyau
– Chargement des pilotes de périphériques
– Lancement du fichier « init »
Lecture de « /etc/inittab »
Lancement du script « /etc/rc.d/rc.sysinit »
Lancement des services (démons) contenus dans le répertoire
« /etc/rc.d/rc<n> »
Lancement du script « /etc/rc.d.rc.local »
Année Universitaire 2016-2017 94
V. Amorçage et Arrêt du Système

 Arrêt du Système: Plusieurs Méthodes


– « shutdown –h now »
– « halt »
– « init 0 » (déconseillé)
 Variantes:
– « shutdown –h 10 »: arrêt dans 10 minutes
– « shutdown –h 18:30 »: arrêt à 18h30
 Redémarrage:
– « shutdown –r now »
 <Ctrl><Alt><Del>: variable et défini dans « /etc/inittab » (en
général, redémarrage)

Année Universitaire 2016-2017 95


VI. Processus

Processus: Programme opérant de manière


indépendante et possédant son ensemble
de ressources
Les ressources matérielles sont gérées par
un processus: le kernel
Un « fork » est une séparation en deux
d’un processus
PID: numéro de processus unique

Année Universitaire 2016-2017 96


VI. Processus

Affichage des processus en cours:


–« ps »: affiche les processus utilisateurs
–« ps –aux »: affiche tous les processus d’un
système
–« pstree »: affiche les processus sous forme
d’arborescence
–« top »: outil semi-graphique présentant un
grand nombre d’informations en temps réel sur
les processus

Année Universitaire 2016-2017 97


VI. Processus

Année Universitaire 2016-2017 98


VI. Processus

 Gestion des Signaux


– Un processus peut émettre et recevoir des signaux POSIX
– 64 signaux différents (liste complète par
« kill –l »)
– Les 3 plus importants:
 SIGHUP – valeur 1 – Fin du processus de contrôle (terminal
par exemple)
 SIGINT – valeur 2 – Interruption du processus
 SIGKILL – valeur 9 – Interruption brutale du processus
– Émission d’un signal par
« kill -<n°> <processus »
Ex: kill –9 netscape

Année Universitaire 2016-2017 99

Vous aimerez peut-être aussi