Vous êtes sur la page 1sur 14

Linux et Programmation Système 30 Heures

Chapitre 1 : NOTIONS DE BASE


Linux, une version open source d'Unix, a été si largement utilisée dans les communautés
de la haute performance et du calcul scientifique qu'elle est devenue la norme de facto dans de
nombreux domaines de la recherche académique et scientifique, en particulier ceux nécessitant
un calcul haute performance. Il y a eu plus de 40 années de développement sous Unix (et plus
tard Linux), avec de nombreux outils académiques, scientifiques et système. Linux a quatre
propriétés essentielles qui en font un excellent système d'exploitation pour la communauté
scientifique: performance, fonctionnalité, flexibilité et portabilité.
Les performances du système d'exploitation peuvent être optimisées pour des tâches
spécifiques telles que l'exécution de petits appareils portables ou de grands superordinateurs.
Un certain nombre d'applications et de bibliothèques scientifiques axées sur la communauté
ont été développées sous Linux, telles que la dynamique moléculaire, l'algèbre linéaire et les
transformées de Fourier rapide. Le système est suffisamment flexible pour permettre aux
utilisateurs de créer des applications avec un large éventail d'outils de support tels que des
compilateurs, des bibliothèques scientifiques, des débogueurs et des moniteurs de réseau.
I - Comment fonctionne Linux ?
1 - Système d'exploitation Linux
Il y a deux composants principaux de Linux, le noyau et le shell. Le noyau est le cœur
du système d'exploitation Linux qui planifie les processus et les interfaces directement avec le
matériel. Le noyau Linux est un logiciel partiellement libre développé essentiellement en
langage C par des milliers de bénévoles et salariés collaborant sur Internet. Il gère les E/S, les
processus, les périphériques, les fichiers et la mémoire du sys tème et de l'utilisateur. Le shell
est une interface avec le noyau. Les utilisateurs saisissent des commandes via le shell, et le
noyau reçoit les tâches du shell et les exécute. L'interpréteur de commandes a tendance à
effectuer plusieurs tâches à plusieurs reprises: afficher une invite, lire une commande, traiter
la commande donnée, puis exécuter la commande. Après quoi, il recommence le processus.
2 – Les Shells
L'interpréteur de commandes est
l'interface entre l'utilisateur et le système
d'exploitation, d'où son nom anglais «shell»,
qui signifie «coquille».

Le shell est ainsi chargé de faire l'intermédiaire entre le système d'exploitation et


l'utilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire
la ligne de commande, interpréter sa signification, exécuter la commande, puis retourner le
résultat sur les sorties.
Le shell est ainsi un fichier exécutable chargé d'interpréter les commandes, de les
transmettre au système et de retourner le résultat. Il existe plusieurs shells, les plus courants
étant sh (appelé «Bourne shell»), bash («Bourne again shell»), csh («C Shell»), Tcsh («Tenex
C shell»), ksh («Korn shell») et zsh («Zero shell»). Leur nom correspond généralement au
nom de l'exécutable.

Page 1
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Chaque utilisateur possède un shell par défaut, qui sera lancé à l'ouverture d'une invite
de commande. Le shell par défaut est précisé dans le fichier de configuration /etc/passwd dans
le dernier champ de la ligne correspondant à l'utilisateur.
Pour déterminer le shell que vous utilisez actuellement, tapez la commande echo suivie
de la variable d'environnement système $SHELL.
3 - Fichiers et processus
Tout dans Linux est considéré comme un fichier ou un processus. Un processus est un
programme en cours d'exécution identifié par un identifiant de processus unique, appelé PID.
Les processus peuvent être de courte durée, tels qu'un processus qui imprime un fichier à
l'écran ou peuvent s'exécuter indéfiniment, tel qu'un programme de surveillance. Un fichier est
simplement une collection de données, avec un emplacement dans le système de fichiers appelé
un chemin; les chemins seront généralement une série de mots (noms de répertoires) séparés
par des barres obliques, "/". Les fichiers sont créés par les utilisateurs via des éditeurs de texte,
des compilateurs ou d'autres moyens. Le noyau Linux est responsable de l'organisation des
processus et de l'interaction avec les fichiers; il alloue du temps et de la mémoire à chaque
processus et gère le système de fichiers et les communications en répon se aux appels système.
II – LIBRE, GRATUIT & OPEN SOURCE

1 - Libre
L'expression « Logiciel Libre » fait référence à la liberté et non pas au prix. Pour comprendre
le concept, vous devez penser à la « liberté d'expression », pas à « l'entrée libre ». L'expression «
Logiciel Libre » fait référence à la liberté pour les utilisateurs d'exécuter, de copier, de distribuer,
d'étudier, de modifier et d'améliorer le logiciel. Plus précisément, elle fait référence à quatre types de
liberté pour l'utilisateur du logiciel :
Liberté 0 : La liberté d'exécuter le programme, pour tous les usages.
Liberté 1 : La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins. Pour
ceci l'accès au code source est une condition requis.
Liberté 2 : La liberté de redistribuer des copies, donc d'aider votre voisin.
Liberté 3 : La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter
toute la communauté. Pour se faire, l'accès au code source est une condition requise.
Un programme est un Logiciel Libre si les utilisateurs ont toutes ces libertés.
Ainsi, vous êtes Libre de redistribuer des copies, avec ou sans modification, gratuitement ou non, à
tout le monde, partout. Être Libre de faire ceci signifie entre autre que vous n'avez pas à demander
ou à payer pour en avoir la permission. Vous devez aussi avoir la liberté de faire des modifications et
de les utiliser à titre personnel dans votre travail ou vos loisirs, sans en mentionner l'existence. Si vous
publiez vos modifications, vous n'êtes pas obligé de prévenir quelqu'un de particulier ou de le faire
d'une manière particulière. La liberté d'utiliser un programme est la liberté pour tout type de personne
ou d'organisation de l'utiliser pour tout type de système informatique, pour tout type de tâche et sans
être obligé de communiquer ultérieurement avec le développeur ou tout autre entité spécifique.
2 - Open Source
Un logiciel Open Source est un programme informatique dont le code source est distribué
sous une licence permettant à quiconque de lire, modifier ou redistribuer ce logiciel. Il se distingue
cependant du logiciel libre, au sens où l’Open Source est davantage tourné vers un objectif de
développement collaboratif que vers la défense des libertés individuelles. Dans la pratique, cette
nuance est rarement prise en compte, et l’usage a tendance à assimiler “logiciel libre” et “logiciel
Open Source”. Open Source ne signifie pas non plus “gratuit”. Il existe de
Page 2
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
nombreux freewares dont le code source est propriétaire (il n’est pas permis d’y accéder, de le
modifier ou de le redistribuer).
Avantages
Le grand avantage pour l’utilisateur – qu’il soit un particulier ou une entreprise – est qu’il n’y
a pas de licence à payer. L'utilisateur profite aussi de l’indépendance vis-à-vis du fabricant.
Pour les développeurs de ces logiciels, les avantages sont plus nombreux. Comme le code peut être
consulté, toute utilisation abusive du logiciel attirerait immédiatement l’attention. Le codage
malveillant est donc rapidement découvert, c’est pourquoi les logiciels open source sont très sûrs.
De légères erreurs dans le logiciel sont aussi rapidement détectées et corrigées, étant donné que de
nombreux programmateurs indépendants peuvent relever les erreurs les uns des autres et discuter de
leurs difficultés. De plus, l’utilisateur peut adapter le programme à ses besoins. Il est libre de
développer le code et d’ajouter au logiciel les fonctionnalités qui lui plaisent ou dont il aurait besoin.
Inconvénients
L’utilisateur ne peut pas compter sur le fait que le logiciel open source continuera d’être
développé rapidement, étant donné que les projets, ne percevant aucun revenu, n’ont que très peu de
possibilités financières. Les développeurs travaillent bénévolement sur les projets, c’est-à-dire sur
leur temps libre.
Il n’existe pas d’entreprise de développeurs offrant une assistance. Les personnes capables de
fournir ce support ne sont pas toujours disponibles. Les forums en ligne peuvent ici offrir une solution,
tout comme les entreprises, qui n’ont certes pas développé le logiciel, mais peuvent se concentrer sur
l’assistance. Celles-ci se font rémunérer grâce à une assistance professionnelle fournie pour des
logiciels gratuits.

Gratuit
Pas de licence : logiciel accessible sans payer

III - Qu'est-ce qu'une distribution ?


En réalité, si on vous livrait le noyau Linux seul, accompagné des outils GNU de base, vous
seriez bien avancé : pas d'interface graphique, juste quelques commandes, bref, votre système
d'exploitation serait inexploitable.
GNU signifie GNU's not Unix, c'est-à-dire « GNU n'est pas Unix ». Ce nom est souvent considéré
comme le premier acronyme récursif (un acronyme dans lequel l'une des lettres désigne l'acronyme lui-même)
C'est pour cela qu'existe des distributions Linux qui contiennent le noyau Linux, les outils
GNU, plus un ensemble de logiciels qu'elles ont choisi de supporter. Ceux-ci sont testés et compilés
pour vous. La plupart d'entre elles contiennent un système d'installation de logiciel simplifié qui leur
est malheureusement propre. Vous avez déjà dû voir qu'il existe de très nombreuses distributions :
Mandriva, Red Hat Fedora, Debian, Gentoo, OpenSuse, Ubuntu ...
Alors pourquoi autant de distributions, me direz-vous ?
En fait, chaque distribution a sa cible : certaines sont orientées sur la facilité d'utilisation,
d'autres sont pour les véritables « geeks » (Personne passionnée par les nouveautés techniques, et
particulièrement par l'informatique, l'internet, les jeux vidéo), certaines sont spécialisées pour
l'utilisation dans le domaine scolaire ou musical, d'autres encore se veulent très légères et fonctionner
sur des PC antédiluviens (Très ancien, tout à fait démodé). . . Vous voyez qu'il peut y avoir autant de
distributions que de cas d'utilisation !
Il existe une très grande variété de systèmes GNU+Linux, ayant chacun des objectifs et une
philosophie particulière. Les éléments différenciant principalement ces systèmes d’exploitation sont :
la convivialité (facilité de mise en œuvre), l'intégration (taille du parc de logiciels validés distribués),
Page 3
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
la notoriété (communauté informative pour résoudre les problèmes), leur fréquence de mise à jour,
leur gestion des paquets et le mainteneur de la distribution (généralement une entreprise ou une
communauté). Leur point commun est leur noyau, Linux, et un certain nombre de commandes.
Les parties GNU et Linux d’un système d’exploitation sont indépendantes, on trouve aussi bien
des systèmes avec Linux et sans GNU comme Android ou des systèmes GNU sans Linux
comme GNU/Hurd.
Distributions historiques
Debian
Red Hat Enterprise Linux
Slackware
SUSE Linux
Arch Linux
Gentoo
Distributions communautaires et grand public
openSUSE
Fedora
Linux Mint
Mageia
Ubuntu

Page 4
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Chapitre 2 : PRESENTATION UBUNTU : Applications

I – ACCESSOIRES
Utilisation Logiciel Windows Logiciel Logiciel Autres logiciels compatibles
Ubuntu par Kubuntu par
défaut défaut
Calculatrice Calculatrice Gcalctool KCalc Qalculate, Speedcrunch, Tiemu,
etc...
Édition de Bloc-Notes de Éditeur de Kate Mousepad, Leafpad, (etc...)
texte simple Windows texte gedit
Explorateur Explorateur Windows Nautilus Konqueror, D Thunar, pcmanfm, etc...
de fichiers olphin
Gestionnaire Explorateur Windows, File-Roller Ark 7-Zip, Peazip, etc...
d'archive WinRAR, 7-zip
Gravure de Graveur de CD (par Brasero K3B Devede, 2ManDVD, etc...
CD/DVD défaut, inclus depuis la
version 7)
Manipulation Daemon Tools Monteur mount GmountISO, AcetoneISO, Gis
d'images CD d'archives oMount, FuseISO, Kiso1)
Gestionnaire Supercopier Clipit Klipper Ultracopier, MiniCopier
de copie
Terminal Invite de commande (Gnome) Konsole XTerm, Eterm, YaKuake, Tilda,
Windows, PowerShell Terminal Guake, etc...

II - Bureautique
Utilisation Logiciel Logiciel Ubuntu par Logiciel Alternatives
Windows défaut Kubuntu par
défaut
Agenda MS Outlook Gnome Agenda Kontact Lightning, Evolution
Comptabilit EBP, CIEL, Gnucash (Petites
é ERP5 entreprises), HomeBank
(particuliers), OpenSI, KmyM
oney, Phpcompta, (etc)
Créateur de MS LibreOffice Calligra Stage, MS
présentation PowerPoint Impress PowerPoint, LaTeX+Beamer
Gestion de MS Access LibreOffice Base Calligra Kexi, Dynacase
base de
données
Gestion de MS Project Calligra
projets Plan, GanttProject, ProjectLibre, Gnome
Planner, (etc)
Gestion des Microsoft Skrooge, Grisbi, Gnucash, KmyMoney, Home
finances Money Bank, (etc)
personnelles
Lecteur Adobe Evince Okular Xpdf, Foxit Reader, (etc)
PDF Reader,

Page 5
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Foxit
Reader,
SumatraPDF
Manipulatio PDFcreator Imprimante PDF PDFedit, PDF Split and Merge, Master PDF
n et création virtuelle Editor 4(formulaires CERFA), (etc)
de fichiers
PDF
Mise en Adobe LibreOffice Draw, Scribus, LucidPress™2) ; PageStream™3) ; (et
page / PAO InDesign, réduit en c)
Quark fonctionnalités pour
Xpress, MS la PAO, plus adapté
Publisher au dessin
Suite MS Office LibreOffice Calligra, MS Office, Gnome-Office
bureautique
Tableur MS Excel LibreOffice Calc Calligra Sheets, MS Excel, Gnumeric
Traitement MS Word LibreOffice Writer Calligra Words, Abiword, LaTeX
de texte
Créateur de MS Visio LibreOffice Draw, Dia, Calligra Flow, ArgoUml
diagrammes réduit en
fonctionnalités pour
la création de
diagrammes, plus
adapté au dessin

III - Graphisme
Utilisation Logiciel Windows Logiciel Logiciel Alternatives
Ubuntu par Kubuntu par
défaut défaut
Animation et 3D Studio Max, Blender, ArtOfIllusion,
dessin 3D Bryce, Maya, Maya, XSI, etc...
Carrara, Blender, X
SI …
CAO AutoCAD, CATIA, FreeCAD, HeeksCAD, Libre
Solidworks CAD, DraftSight, etc...
Création de Autopano Pro Autopano Pro,Hugin, Stitch
panoramas Panorama, etc...
Éditeur Photoshop, Paint Gimp, Krita, MyPaint, etc...
graphique Shop Pro
avancé
Éditeur MS Paint, XnView, KolourPaint, Pinta, mtPaint,
graphique Photofiltre etc...
simple
Graphisme Adobe Illustrator, Libreoffice Draw Inkscape,karbon, sK1, etc..
vectoriel CorelDRAW .
Visionneur Explorateur Eye of Gwenview gThumb, GPicView, Comix,
d'images Windows, ACDSee Gnome, Sh etc...
otwell
Page 6
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Calibrage de la Ensemble de Dispcal, Argyll CMS
chaîne calibrage
graphique commercial
Compositing After Effects, Nuke Blender, Openshot, Natron,
Video Nuke (commercial), Piranha
(commercial)
IV - Internet
Utilisation Logiciel Windows Logiciel Logiciel Alternatives
Ubuntu par Kubuntu par
défaut défaut
Clavardage par mIRC, Trillian Empathy Kopete XChat, Chatzilla (exten
IRC sion
Firefox), Irssi, Opera,
(etc...)
Client FTP FileZilla, FTP Exp Nautilus Konqueror jus KFTPGrabber, Filezill
ert qu'à Ubuntu a, FireFTP (extension
10.10 Firefox), (etc...)
Courriel (e-mail) MS Outlook, Mozilla Kmail Evolution, Sylpheed,
Outlook Express, Thunderbird Claws
Windows Mail Mail, Opera, (etc...)
Échange de Emule, µTorrent, Transmission KTorrent iMule, aMule, GTK-
fichiers (P2P) Transmission, Gnutella, Frostwire, µt
qBitTorrent orrent, Deluge, Vuze,
QBittorrent, (etc...)
Gestionnaire de GetRight, Wget Wget DownThemAll! (exten
téléchargements Download sion
Accelerator firefox), jdownloader,
Gwget, KGet, (etc...)
Messagerie Psi, Empathy Kopete Psi, Gajim, Pidgin (etc
instantanée Exodus, Pidgin ...)
(protocole
Jabber)
Messagerie ICQ, AIM, Yahoo! Empathy Kopete Pidgin, (etc...)
instantanée Messenger
(autres réseaux)
Navigateurs Internet Explorer Mozilla Konqueror, Re Epiphany, Chromium,
Internet Firefox konq à partir Opera, Midori, Vivaldi,
de Kubuntu (etc...)
10.10,
puis Mozilla
Firefox à
partir de 14.04
Téléphonie sur IP Windows Live Empathy Ekiga, Skype, (etc...)
Messenger, Skype,
GoogleTalk

Page 7
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Vidéoconférence( MSN, MS Empathy Ekiga, Skype, (etc...)
webcam+audio+c Netmeeting, Skype
hat)
V - Programmation
Utilisation Logiciel Windows Logiciel Logiciel Alternatives
Ubuntu par Kubuntu par
défaut défaut
Édition de MS Frontpage, Gedit Kate (fr) L'éditeur IDE
sites web Adobe Brackets4) ; Bluefish, BlueGriffon
Dreamweaver, , Komodo
Adobe GoLive Edit, Scite, Geany, Vim, Emacs, g
PHPedit
Shell MS-DOS (Batch) Bash Bash Bash, Csh, sh, zsh, etc …
Compilateurs Visual Studio, Gcc Gcc g++, KDevelop, Eclipse+CDT, A
/ IDEC/C++ MinGW njuta, Magic C++, NetBeans avec
C/C++ Development
Pack, Code::Blocks, Geany, Qt C
reator, Vim, Emacs
Compilateurs Delphi Lazarus IDE, Geany, Free Pascal
/IDEPascal
Serveur de EasyPHP, Lamp Serveur LAMP (Apache + PHP +
développeme WampServer MySQL), XAMPP, EasyEclipse
nt

VI - Son et Vidéo
Utilisation Logiciel Logiciel Ubuntu Logiciel Alternatives
Windows par défaut Kubuntu par
défaut
Conversion Sound SoundConverter, Audacity, Xcfa, So
de médias Juicer, Audacity undKonverter
audio
Édition Audacity, Ardour, Audacity, Rezound,
audio SoundForge, Sweep, Sonik, Wavesurfer, Kwave,
Cool Edit Snd
Encodage FairUseWiz handbrake, VLC, acidrip, OGMRip
audio/vidéo ard, Ri4m, , Winff, ffmpeg, Mencoder, DeVeDe,
m4ng, dvdrip, avidemux, K9copy, k3b
MediaCoder
Encodage Windows Sound Juicer Kaffeine Banshee, Grip, Xcfa, soundKonverter,
de musique Media Audex, Asunder
(extraction Player
[rip] et
gravure)
Lecteur de Windows Sound Juicer Kaffeine KsCD
CD Media

Page 8
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Player,
Microsoft
Lecteur CD
Lecteur de Windows Rhythmbox Amarok Lollypop, Banshee, Audacious, Cleme
musique Media ntine, QuodLibet, Guayadeque
(avec Player
audiothèqu
e)
Lecteur de Winamp, Totem 5) Kaffeine Audacious, VLC,Beep Media Player,
musique Zinf Zinf, Mplayer, XMMS
(basique)
Lecteur de Windows Totem 6) Dragon Mplayer, VideoLAN Client (VLC)
vidéo Media Player
Player, VL
C
Montage Adobe PiTiVi Cinelerra, Lightworks, Kdenlive, Op
vidéo Premiere, enshot Video
Microsoft Editor, Flowblade, Avidemux, Kino,
Windows CinePaint, Jahshaka, etc...
Movie
Maker,
VirtualDub
Sampling FruityLoop Rosegarden, LMMS
Audio

VII - Système
Utilisation Logiciel Logiciel Ubuntu par Logiciel Alternatives
Windows défaut Kubuntu par
défaut
Diagnostique Everest, Aida64 Diagnostique système : hardinfo, gnome-
système et Test du système. device-manager,
liste du Liste du matériel : sysinfo
matériel Détails (Dans les
paramètres système)
Environneme (Windows) Gnome Shell KDE XFCE, Budgie, Unity,
nt de bureau Explorer etc...
Gestionnaire (Windows, Mutter Kwin Fluxbox, Openbox, Em
de fenêtres processus erald, Compiz, etc...
dwm.exe)
Gestionnaire Gestion des « Disques » KDE Partition GParted
de partitions disques Windows, Manager
Partition Magic
Gestionnaire (Windows) GDM SDDM XDM,
de sessions Winlogon slim, LXDM, LightDM
Mises à jour Microsoft Synaptic et Gestionnair Muon
Update7) e de mises à jour

Page 9
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Moniteur Gestionnaire de Moniteur Système « Surveillance Glances
Système Tâches du système »
(KSysGuard)
Pare-feu Pare-feu Pare-feu Linux Gufw, Shorewall, ufw-
(firewall) Windows, kde, etc...
ZoneAlarm
Défragmente Défragmenteur Aucun (inutile)
ur de disque de disque

Page 10
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Chapitre 3 : LES REPERTOIRES ET FICHIERS LINUX

I – LES REPERTOIRES
Comme la plupart des systèmes d’exploitation modernes, Linux enregistre tous ses fichiers
dans une structure organisée de façon hiérarchique, en arborescence.
Dans un système Linux comme dans d’autres systèmes, chaque répertoire peut ainsi contenir
d’autres répertoires, contenant eux-mêmes des sous-répertoires, jusqu’à ce qu’on arrive au bout de la
hiérarchie.
Une des premières difficultés pour les débutants Unix est de se repérer dans l'arborescence.
Contrairement à un environnement Windows qui regroupe toutes les ressources nécessaires à un
programme dans un même répertoire, les ressources dans un système unix (et dans une moindre
mesure MacOS) sont réparties dans une hiérarchie générale. Ainsi si le code exécutable d'un
programme se trouve dans le répertoire /bin , ses librairies se trouveront dans le répertoire /lib et ses
fichiers de configuration dans le répertoire /etc .

II – STRUCTURE DES DOSSIERS LINUX


1 - La racine
Dans un système de fichiers, il y a toujours ce qu'on appelle une racine, c'est-à-dire un « gros
dossier de base qui contient tous les autres dossiers et fichiers ».
Sous Windows, il y a en fait plusieurs racines C:\ est la racine du disque dur, D:\ est la racine du
lecteur CD (par exemple).
Sous Linux, il n'y a qu'une et une seule racine : « / ». Comme vous le voyez, il n'y a pas de lettre de
lecteur car justement, Linux ne donne pas de nom aux lecteurs comme le fait Windows. Il dit juste
« La base, c'est / ».
Il n'y a pas de dossier de plus haut niveau que / , c'est-à-dire qu'il n'existe pas de dossier qui contienne
le dossier /. Quand on est à la racine, on ne peut pas remonter en arrière car on est déjà tout au début.
2 - Architecture des dossiers
Sous Windows, un dossier peut être représenté de la manière
suivante :C:\Program Files\Winzip. On dit que Winzip est un sous-dossier du dossier
Program Files, lui-même situé à la racine. C'est l'antislash \ (aussi appelé backslash) qui sert de
séparateur aux noms de dossiers.
Sous Linux, c'est au contraire le / qui sert de séparateur. Il n'y a pas de C:\ sous Linux, la racine (le
début) s'appelant juste /.
Le dossier du superprogramme ressemblerait plutôt à quelque chose comme cela : /usr/bin/. On dit
que bin est un sous-dossier du dossier usr, lui-même situé à la racine.
Linux gère sans problème les noms de fichiers et dossiers contenant des espaces, des accents et des
majuscules. Toutefois, il est conseillé de les éviter. On trouve ainsi plutôt des noms tout en minuscules
sans accents ni espaces, comme usr, bin, apache, etc.

Page 11
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
3 - Les dossiers de la racine
Sous Windows, on a l'habitude de trouver souvent les mêmes dossiers à la racine :
Documents and Settings, Program Files, Windows …
Sous Linux, les dossiers sont complètement différents. Et l'on ne risque pas de trouver de dossier qui
s'appelle Windows.
Voici la liste des dossiers les plus courants que l'on retrouve à chaque fois à la racine de Linux. La
description de chaque dossier est breve et vous permet de vous repérer au début.
Il n'est PAS nécessaire de retenir cette liste par cœur. D'ailleurs la liste n’est pas exhaustive et se sont
les dossiers principaux, et elle est quand même longue.
Elle sert juste à savoir à quoi correspond tel ou tel dossier, mais ne vous en faites pas si vous ne
maîtrisez pas à fond le sens de chacun de ces dossiers.
 bin : contient des programmes (exécutables) susceptibles d'être utilisés par tous les utilisateurs de
la machine.
 boot : fichiers permettant le démarrage de Linux.
 dev : fichiers contenant les périphériques.
 etc : fichiers de configuration.
 home : répertoires personnels des utilisateurs.
Chaque utilisateur de l'ordinateur possède son dossier personnel. Par exemple, /home/Marie/
(pour l’utilisatrice Marie). S'il y avait un autre utilisateur Louise sur l’ordinateur, il aura aussi
son propre dossier : /home/Louise/.
 lib : dossier contenant les bibliothèques partagées (généralement des fichiers.so) utilisées par les
programmes. C'est en fait là qu'on trouve l'équivalent des .dll de Windows.
 media : lorsqu'un périphérique amovible (comme une carte mémoire SD ou une clé USB) est
inséré dans votre ordinateur, Linux vous permet d'y accéder à partir d'un sous-dossier de media.
On parle de montage.
 mnt : c'est un peu pareil que media, mais pour un usage plus temporaire.
 opt : répertoire utilisé pour les add-ons de programmes.
 proc : contient des informations système.
 root : c'est le dossier personnel de l'utilisateur « root ». Normalement, les dossiers personnels sont
placés dans home, mais celui de « root » fait exception. En effet, « root » est le superutilisateur, le
« chef » de la machine en quelque sorte. Il a droit à un espace spécial.
 sbin : contient des programmes système importants.
 tmp : dossier temporaire utilisé par les programmes pour stocker des fichiers.
 usr : c'est un des plus gros dossiers, dans lequel vont s'installer la plupart des programmes
demandés par l'utilisateur.
 var : ce dossier contient des données « variables », souvent des logs (traces écrites de ce qui s'est
passé récemment sur l'ordinateur).
III – LES REPERTOIRES EN DETAILS
1 - Les programmes exécutables
 /bin : les commandes indispensables  /usr/local/bin : les commandes installées à
 /usr/bin : les autres commandes la main
2 - Les programmes exécutables du super-utilisateur root

 /sbin : les programmes indispensables d'administration


 /usr/sbin : les autres programmes d'administration
 /usr/local/sbin : les programmes d’administrations installées à la main
Page 12
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
3 - Les fichiers de configuration
 /etc
En particulier, /etc contient les fichiers:

/etc/passwd liste des comptes utilisateurs et leurs répertoires associés.


/etc/shadow liste des comptes utilisateurs et leurs mots de passe chiffrés.
/etc/X11/xorg.conf fichier de configuration du serveur graphique.

4 - Le(s) noyau(x) Linux

 /boot
5 - Les répertoires de travail des utilisateurs
 /home
Chaque utilisateur du système aura un répertoire dans /home portant son nom.
6 - Le répertoire de travail du super-utilisateur root

 /root
7 - Les librairies partagées
 /lib : les librairies indispensables  /usr/lib : les autres librairies
8 - Les points de montage

 /mnt : Répertoire dans lequel on pourra créer des points de montage pour des systèmes de fichiers
temporaires, destiné à un usage d'appoint. Les composants vitaux du système ne doivent pas
dépendre de ce répertoire.
 /media : Répertoire dans lequel des points de montage seront créés automatiquement pour accéder
aux supports de stockage amovibles (cdrom, clé usb...)
9 - Les périphériques
 /dev
En particulier, on trouve les fichiers :

/dev/hda ou hdb ou sda etc... qui correspondent aux disques dur. Les disques durs IDE sont notés
hd et les SATA ou SCSI sont notés sd
/dev/hda1 ou hda2 etc... qui correspondent aux partitions des disques. hda1 est la 1ere partition du
premier disque IDE (hda).
/dev/eth0 qui correspond à la première carte réseau. Pour plus d'une carte réseau, on verra apparaître
d'autres fichiers /dev/eth.
/dev/audio qui correspond au périphérique son.
10 - Les autres programmes et leurs fichiers annexes
 /usr
Ce répertoire est en lecture-seule et est destiné à être partagé.

Page 13
Cours de Linux et Programmation Système Par Ing. Arno DONGMO
Les programmes installés par le système d'exploitation se trouvent dans /usr/bin. Les programmes
installés manuellement par les utilisateurs se trouvent dans /usr/local.
« usr » veut dire Unix System Ressources et non pas user. Les fichiers relatifs aux utilisateurs du
système se trouvent dans le répertoire « /home ».
11 - Le système de fichier virtuel
/proc Donne les infos de la machine
sur le processeur Ex:/proc/cpuinfo
sur la mémoire Ex:/proc/meminfo
sur les modules Ex:/proc/modules
sur les montages du système Ex:/proc/mount
sur la swaps Ex:/proc/swaps

12 - Les fichiers temporaires

 /tmp
13 - Les données variables

 /var
Ce répertoire contient les données variables. En particulier:

les logs sont stockés dans /var/log


les mails en attente de livraison sont stockées dans /var/mail
les travaux d'impression seront dans /var/spool ou /var/mail selon le serveur d'impression utilisé.
 /var/log, ce répertoire contient les journaux (fichiers détaillant les historiques de programmes).
 /var/mail, ce répertoire contient les emails des utilisateurs du système. Un utilisateur du système
peut voir ses emails via la commande « mail ».
 /var/spool, ce répertoire contient les données en attente de traitement (par un programme), et sont
en générale supprimé après avoir été traité.
14 - Les programmes et ressources installés à la main
 /usr/local
Ce répertoire contient des données mis en place par l'administrateur du système, comme « /usr » mais dans un
contexte plus « isolé » car ces ressources sont géré par ce même administrateur système, et contient des sous-
répertoire tel que:

/usr/local
├── bin/ : où se trouvent les programmes.
│ ├── monprogramme : exemple de programme nommé « monprogramme ».
├── etc/ : où se trouvent les fichiers de configurations des programmes, comme « /etc ».
│ ├── monprogramme.conf : exemple de configuration de « monprogramme ».
├── lib/ : où se trouvent les bibliothèques logiciel.
├── lib64/ : où se trouvent les bibliothèques logiciel, compilé pour les processeurs à architecture 64 bits.
├── sbin/ : où se trouvent les programmes utilisable par "root".

Page 14
Cours de Linux et Programmation Système Par Ing. Arno DONGMO

Vous aimerez peut-être aussi