Académique Documents
Professionnel Documents
Culture Documents
Linux
Les bases pour l'apprenti administrateur système
Version 0.9.3
24 juillet 2018
Première partie I
Généralités et le Shell
Introduction au système d'exploitation Linux 3 / 47
1 Généralités
2 Généralités Unix/Linux
Dénition
Un système d'exploitation est un logiciel qui permet aux utilisateurs :
d'utiliser les logiciels installés sur l'ordinateur
d'acceder aux périphériques de manière simple (imprimante, clavier, souris, . . . )
de stocker et traiter les données et les informations brutes
Mac OS X
Objectifs du cours
1 Généralités
2 Généralités Unix/Linux
Unix - un label
Dénition(s) d'Unix 1
1. Pour l'historique d'Unix consulter : Chapitre 2 de [Art of Unix Programming, de Eric Steven
Raymond, Addison Wesley, 2003 ])
Introduction au système d'exploitation Linux 13 / 47
Généralités Unix/Linux
Unix - un label
Dénition(s) d'Unix 1
Dénition stricte : label donné à une famille d'OS certiés conformes [par
l'Open Group] à la spécication Single Unix Specication
1. Pour l'historique d'Unix consulter : Chapitre 2 de [Art of Unix Programming, de Eric Steven
Raymond, Addison Wesley, 2003 ])
Introduction au système d'exploitation Linux 13 / 47
Généralités Unix/Linux
Unix - un label
Dénition(s) d'Unix 1
Dénition stricte : label donné à une famille d'OS certiés conformes [par
l'Open Group] à la spécication Single Unix Specication
Dénition usuelle : Famille d'OS clonant les fonctions des systèmes Unix
classiques (System V ou Unix BSD)
1. Pour l'historique d'Unix consulter : Chapitre 2 de [Art of Unix Programming, de Eric Steven
Raymond, Addison Wesley, 2003 ])
Introduction au système d'exploitation Linux 13 / 47
Généralités Unix/Linux
Unix - un label
Dénition(s) d'Unix 1
Dénition stricte : label donné à une famille d'OS certiés conformes [par
l'Open Group] à la spécication Single Unix Specication
Dénition usuelle : Famille d'OS clonant les fonctions des systèmes Unix
classiques (System V ou Unix BSD)
Plusieurs variantes d'Unix (mais descendent tous du System V ou de
Unix BSD) :
1. Pour l'historique d'Unix consulter : Chapitre 2 de [Art of Unix Programming, de Eric Steven
Raymond, Addison Wesley, 2003 ])
Introduction au système d'exploitation Linux 14 / 47
Généralités Unix/Linux
Unix - un label
BSD 1978
1.0 - 2.0 UnixTSS
1979 7
1979
Unix 32v
1980
BSD 1980
3.0 - 4.1 Xenix
1981 1.0 - 2.3
System III
1981
1982
Xenix 1982
BSD 4.2 3.0
1983 Sun OS System V 1983
1 - 1.1 R1 - R2
1984 SCO Xenix
1984
UnixTSS
1985 8 SCO Xenix
AIX System V 1985
W286
1986 BSD 4.3 1.0 R3 HP/UX
Sun OS 1.0 - 1.2 1986
1.2 - 3.0 SCO Xenix
1987 UnixTSS V386 1987
(Time Sharing HP/UX
1988 System) BSD 4.3 System V
R4 2.0 - 3.0 1988
9 - 10 Tahoe SCO Xenix
1989 W386 1989
BSD 4.3
1990 Reno 1990
1991 BSD NET/2
Linux 0.0.1 1991
Sun OS
Minix 4
1.x NEXTSTEP/ 386BSD
OPENSTEP 1992
1992 1.0 - 4.0 HP/UX
NetBSD 6 - 11
Linux 0.8 - 1.0 1993
0.95 - 1.2.x BSD SCO Unix
1993 4.4 - 4.4 lite2 Unixware
3.2.4 1994
FreeBSD 1.x - 2.x
1994 1.0 - 2.2.x
1995 NetBSD OpenBSD 1995
1.1 - 1.2 OpenServer
1.0 - 2.2 5.0 - 5.04 Solaris
1996 AIX 2.1 - 10 1996
3.x - 6.x
1997 1997
NetBSD 1.3
1998 FreeBSD 1998
3.0 - 3.2
Minix OpenServer Unixware
1999 2.x Mac OS X 5.0.5 - 5.0.7 7.x
Linux Server 1999
2000 2.0 - 2.6.x OpenBSD
2.3 - 4.x 2000
FreeBSD NetBSD
2001 - 2004 3.3 - 8.0 1.3 - 5.x 2001 - 2004
Mac OS X HP/UX
2005 10.0 - 10.6 11i - 11i v3
Minix OpenServer OpenSolaris 2005
(Darwin)
3.x 6.x 2008.05 et
2006 - 2010 supérieur 2006 - 2010
Source : Wikipedia
Introduction au système d'exploitation Linux 16 / 47
Généralités Unix/Linux
Unix - un système
Unix - un système
Unix - un système
Unix - un système
Richard
Stallman
Introduction au système d'exploitation Linux 17 / 47
Généralités Unix/Linux
Richard
Stallman
Introduction au système d'exploitation Linux 17 / 47
Généralités Unix/Linux
Linus
Tovalds
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
Linus
Tovalds
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 18 / 47
Généralités Unix/Linux
Le noyau à lui seul ne peut être utilisé ⇒ rencontre Projet GNU et Kernel Linux
3. http ://www.linuxfoundation.org/sites/main/les/publications/whowriteslinux.pdf
Introduction au système d'exploitation Linux 19 / 47
Généralités Unix/Linux
GNU/Linux ou Linux
GNU/Linux ou Linux (tout court) = Kernel Linux + outils issus du Projet GNU
Richard Stallman préfere GNU/Linux mais l'usage a imposé Linux tout court.
Introduction au système d'exploitation Linux 20 / 47
Généralités Unix/Linux
GNU/Linux ou Linux
GNU/Linux ou Linux (tout court) = Kernel Linux + outils issus du Projet GNU
Richard Stallman préfere GNU/Linux mais l'usage a imposé Linux tout court.
Introduction au système d'exploitation Linux 20 / 47
Généralités Unix/Linux
GNU/Linux ou Linux
GNU/Linux ou Linux (tout court) = Kernel Linux + outils issus du Projet GNU
Richard Stallman préfere GNU/Linux mais l'usage a imposé Linux tout court.
Introduction au système d'exploitation Linux 20 / 47
Généralités Unix/Linux
GNU/Linux ou Linux
GNU/Linux ou Linux (tout court) = Kernel Linux + outils issus du Projet GNU
Richard Stallman préfere GNU/Linux mais l'usage a imposé Linux tout court.
Introduction au système d'exploitation Linux 20 / 47
Généralités Unix/Linux
GNU/Linux ou Linux
GNU/Linux ou Linux (tout court) = Kernel Linux + outils issus du Projet GNU
Richard Stallman préfere GNU/Linux mais l'usage a imposé Linux tout court.
Introduction au système d'exploitation Linux 20 / 47
Généralités Unix/Linux
GNU/Linux ou Linux
GNU/Linux ou Linux (tout court) = Kernel Linux + outils issus du Projet GNU
Richard Stallman préfere GNU/Linux mais l'usage a imposé Linux tout court.
Introduction au système d'exploitation Linux 21 / 47
Généralités Unix/Linux
Gentoo
TM
Fedora
Introduction au système d'exploitation Linux 22 / 47
Généralités Unix/Linux
Distributions Linux
Denition
Les distributions rassemblent les composants d'un système dans un ensemble cohérent
et stable dont l'installation, l'utilisation et la maintenance sont facilitées. a
a . Source Wikipédia http://fr.wikipedia.org/wiki/Distribution_GNU/Linux
4. voir http://distrowatch.com/,http://lwn.net/Distributions/
5
Quelques captures d'ecrans pour
mettre l'eau à la bouche . . .
Linux est utilisé par ses 40 millions d'adeptes pour mettre en place :
Les serveurs d'Internet (WEB, Routage, FTP, Firewall, DNS, . . . )
Les serveurs d'impressions et de chiers
Les serveurs d'applications
Les supercalculateurs (Clustering)
Les stations de travail pour calcul scientique (Physique, Astronimie
Mathématiques,. . . )
Les stations de travail bureautiques
...
Plan
1 Généralités
2 Généralités Unix/Linux
1 Généralités
2 Généralités Unix/Linux
Shell Unix
Idée de Shell
Un Shell a est :
Un programme qui permet aux utilisateurs de lancer d'autres programmes
Une couche logicielle servant d'interface entre les utilisateurs et le système
d'exploitation Unix
Une des innovations majeures d'Unix a été la séparation du système
d'exploitation et du Shell
a . cocquille ou cocque en français
Introduction au système d'exploitation Linux 29 / 47
Shell, commandes et aide en ligne
Le Shell
Shell Unix
Bourne Shell ou sh
Porte le nom de son créateur Steven Bourne
correspond au programme sh
C shell ou csh
Shell dont la syntaxe du langage de script est proche du
langage C
GNU Bourne-Again SHell ou bash
Une version GNU du Bourne Shell
Le Shell le plus répendu dans les distributions Linux
...
la liste des Shells installés sur station Unix est disponible avec la commande :
> cat /etc/shells
Introduction au système d'exploitation Linux 31 / 47
Shell, commandes et aide en ligne
Le Shell
Figure Xterm
Figure Gnome Terminal
Plan
1 Généralités
2 Généralités Unix/Linux
Exemple : ls -l /home/sroot/
ls est la commande (que faire ?)
-l est une option (comment faire ?)
/home/sroot/ est le paramettre transmis à la commande (sur quoi faire ?)
Introduction au système d'exploitation Linux 34 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple de sortie
~:> ls -l /home/sroot/
total 44
drwxr-xr-x 2 sroot sroot 4096 janv. 7 18:44 Bureau
drwxr-xr-x 2 sroot sroot 4096 janv. 7 18:44 Documents
-rw-rr 1 sroot sroot 8445 janv. 7 14:22 examples.desktop
drwxr-xr-x 2 sroot sroot 4096 janv. 7 18:44 Images
drwxr-xr-x 2 sroot sroot 4096 janv. 7 18:44 Modèles
...
Introduction au système d'exploitation Linux 35 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
user@machine:~> type ls
ls est un alias vers ls -color=auto
user@machine:~> type bg
bg est une primitive du shell
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Introduction au système d'exploitation Linux 38 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Exemple
> tar xvzf archive.tar.gz #combinaison des options x,v,z et -f
> ps aux #combinaison des options a,u et x
Introduction au système d'exploitation Linux 38 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Exemple
> tar xvzf archive.tar.gz #combinaison des options x,v,z et -f
> ps aux #combinaison des options a,u et x
Option longue type GNU : suite de mots (souvent en anglais) dont le premier est precédé d'un
double tiret (-) et les autres sont séparés par des tirets (-)
Introduction au système d'exploitation Linux 38 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Exemple
> tar xvzf archive.tar.gz #combinaison des options x,v,z et -f
> ps aux #combinaison des options a,u et x
Option longue type GNU : suite de mots (souvent en anglais) dont le premier est precédé d'un
double tiret (-) et les autres sont séparés par des tirets (-)
Exemple
> ls -all -humain-readable -author un-repertoire # trois options
Introduction au système d'exploitation Linux 38 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Exemple
> tar xvzf archive.tar.gz #combinaison des options x,v,z et -f
> ps aux #combinaison des options a,u et x
Option longue type GNU : suite de mots (souvent en anglais) dont le premier est precédé d'un
double tiret (-) et les autres sont séparés par des tirets (-)
Exemple
> ls -all -humain-readable -author un-repertoire # trois options
Option longue type ambigü : Options dont il est dicile de savoir si c'est une combinaison
d'options ou une option longue
Introduction au système d'exploitation Linux 38 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple
> ls -l -h repertoire
> ls -la repertoire #combinaison de deux options -l et -a
Exemple
> tar xvzf archive.tar.gz #combinaison des options x,v,z et -f
> ps aux #combinaison des options a,u et x
Option longue type GNU : suite de mots (souvent en anglais) dont le premier est precédé d'un
double tiret (-) et les autres sont séparés par des tirets (-)
Exemple
> ls -all -humain-readable -author un-repertoire # trois options
Option longue type ambigü : Options dont il est dicile de savoir si c'est une combinaison
d'options ou une option longue
Exemple
>find . -name "*.avi" #combinaison des options n,a,m et e ou bien une seule option -name?
Introduction au système d'exploitation Linux 39 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Exemple
> ls -l
total 16
drwxrwxr-x 2 sroot sroot 4096 janv. 21 10:37 bin
drwxrwxr-x 2 sroot sroot 4096 janv. 21 10:37 include
drwxrwxr-x 3 sroot sroot 4096 janv. 21 10:37 lib
drwxrwxr-x 4 sroot sroot 4096 janv. 21 10:37 src
> alias ll='ls -l'
> alias ll
alias ll='ls -l'
> ll
total 16
drwxrwxr-x 2 sroot sroot 4096 janv. 21 10:37 bin
drwxrwxr-x 2 sroot sroot 4096 janv. 21 10:37 include
drwxrwxr-x 3 sroot sroot 4096 janv. 21 10:37 lib
drwxrwxr-x 4 sroot sroot 4096 janv. 21 10:37 src
...
Introduction au système d'exploitation Linux 40 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Documentation en ligne
Commande man
Sythaxe de la commande
man [section ] [nom_commande ]
Commande man
Utilisation de base :
Commande man
La commande help
Place chaque JOB_SPEC en arrière plan comme s'il avait été démarré avec & .
Si JOB_SPEC n'est pas fourni, le shell utilise sa propre notion
de tâche actuelle.
Code de sortie :
Renvoie le code de succès à moins que le contrôle de tâche ne soit pas activé ou
qu'une erreur ne survienne.
Introduction au système d'exploitation Linux 45 / 47
Shell, commandes et aide en ligne
Commandes et Aide en ligne
Bibliographie
Carla Schroder
Linux Cookbook :Practical Advice for Linux System Administrators
Credits