Introduction Aux Systèmes D'exploitations LINUX
Introduction Aux Systèmes D'exploitations LINUX
ESMAT-DAKAR
CYCLE Licence 3 en Administration et Sécurité
Introduction aux Systèmes d'Exploitation Linux des Réseaux (ASR)
Plan:
1.1 Définition:
Le système d'exploitation est le logiciel le plus important d'un ordinateur. C’est un ensemble de
programmes qui permettent l'utilisation de l'ordinateur et la gestion de ses ressources (processeurs,
mémoires, disques, périphériques, communication inter-processus et inter-machines, …etc.).
2. UNIX
2.1 Historique
Unix est né aux laboratoires Bell en 1969, Développé par Ken Thompson et Dennis Ritchie
(le premier à avoir développé le langage C).
En 1973, Unix a pu être réécrit, presque entièrement, en C (pour faciliter la Portabilité)
Code source vendu à un prix bas aux sociétés.
Plusieurs sociétés (IBM, Sun,…) se sont intéressées au système et elles ont repris son
développement pour avoir leur propre version (Solaris:Sun , AIX:IBM, HP-UX: HP,
FreeBSD:Université de Berkely ,…)
Remarque : L’objectif des chercheurs dans le temps était de rendre UNIX accessible sans frais.
3.1 Historique
En 1991, En Finlande un autre noyau était disponible : c’est « Linux » par Linus Torvalds
(jeune étudiant à l’université d’Helsinki, né le 28/12/1969)
Des milliers de personnes participent à son développement
Code source est disponible sur Internet (logiciel libre et gratuit)
Le noyau (ou kernel) développer par Linus Torvalds est l’élément essentiel de toutes les
Distributions Linux existantes.
Chaque distribution essaye d’offrir de la valeur ajoutée sous la forme des outils d’installation et
d’administration.
Une distribution Linux est un ensemble cohérent de logiciels assemblé sous le noyau Linux/GNU et
formant un système d’exploitation. On parle de “distribution” en référence au terme anglais “software
distribution” (collection de logiciels).
Il existe de nombreuses distributions Linux, et chacune possède un fonctionnement qui lui est propre,
et répondant à des objectifs variés : certaines distributions permettent une simple surveillance réseau
ou un service de maintenance cloud, tandis que d’autres offrent de grandes possibilités de gestion des
applications ainsi qu’un environnement graphique très poussé.
La particularité de Debian réside dans le fait que l’ensemble des logiciels qui y sont intégrés sont open
source.
b. Ubuntu
Ubuntu fait partie des systèmes d’exploitation Linux les plus connus. Celui-ci est basé sur la
distribution Debian GNU/Linux, et est gratuit et open source. On lui reconnaît une grande stabilité
ainsi qu’une simplicité d’accès, y compris pour les non avertis. Ainsi, Ubuntu représente un système
d’exploitation idéal lorsque l’on débute sur Linux.
c. Linux Mint
Créée en 2006, la distribution Linux Mint est basée sur Ubuntu. Celle-ci est gratuite, facile
d’utilisation, et intègre des logiciels open source tels que LibreOffice, Thunderbird, Blender ou encore
GIMP. Autre avantage : Mint propose un environnement de bureau moderne et agréable à utiliser.
d. ElementaryOS
ElementaryOS est une distribution basée sur Ubuntu, et qui affiche un design semblable au système
d’exploitation d’Apple. Cette distribution s’adresse davantage aux débutants qu’aux utilisateurs
expérimentés, car elle comprend de nombreuses limites (centre d’applications peu fourni, rigidité dans
certaines exécutions, etc.).
e. Fedora
Fedora est une distribution Linux grand public et communautaire. Son avantage : mettre l’accent sur
la nouveauté. En effet, les logiciels qui composent le système d’exploitation sont régulièrement mis à
jour, et Fedora embarque les technologies Linux les plus avancées. Cette distribution représente une
alternative intéressante à Ubuntu et Mint, et se montre particulièrement pratique pour toutes les tâches
liées à la productivité et au développement.
f. Manjaro
Vous êtes adepte de personnalisation ? La distribution Manjaro saura vous séduire. Grâce à son dépôt
communautaire, ce système d’exploitation basé sur Arch Linux offre un large accès à des milliers de
logiciels. Manjaro propose différents environnements de bureau qui permettent de passer, en quelques
clics, d’un aspect macOS à Windows, en fonction de vos préférences. Autre particularité : Manjaro
fonctionne en rolling release, ce qui veut dire que les mises à jour sont effectuées en continu.
Plus poussé que les environnements pour débutants, ce système d’exploitation conviendra aux
utilisateurs Linux intermédiaires, qui souhaitent monter en compétences.
g. OpenSUSE Leap
OpenSUSE Leap est une distribution indépendante principalement sponsorisée par la société
allemande SUSE. Cette distribution convient autant pour un usage personnel que professionnel. On
l’utilise généralement sur les serveurs, car elle est réputée pour sa stabilité et l’efficacité de ses outils
de configuration.
Le système linux étant un système multi-utilisateur, pour y à accéder on doit entrer un nom et mot de
passe utilisateur.
a) Système Multi-Utilisateur :
Utilisateur Logiciels
Outils d’Application
d’administration
(Shell)
Noyau
Linux
Outils d’installation
(Pilotes)
3. Le Shell :
C'est l'interface entre les utilisateurs et le système. Le Shell est un interpréteur qui exécute les
commandes une à une après traduction de l'instruction (écrit en langage évolué) en langage interne
(langage machine).
[user@machine ~ ]$
N.B : il est déconseillé de se loger en super utilisateur (root). Si à un moment donné nous avons besoin de
lancer une commande d’administrateur, il suffit d’utiliser « su –» (switch user), qui permet de passer
momentanément en root.
La commande man
syntaxe : man [options] nom_de_commande
description : Elle permet d’afficher un manuel en ligne sur la commande spécifiée. Cet affichage
s’effectue en mode console. La commande q permet de quitter le manuel.
options : -h : affiche l’aide concernant la commande man et donc permet notamment de savoir
que q permet de quitter.
-w or --path : affiche le lieu où est stocké le fichier contenant le manuel de la commande.
La commande ls
syntaxe : ls [options] [chemin_d’un_repertoire]
description : Affiche l’ensemble des fichiers passés en argument puis la liste des fichiers contenus
dans les répertoires passés en argument. Par défaut, elle affiche le répertoire courant “.”.
options : -l : permet d’obtenir des informations détaillées sur chaque fichier listé (date, taille,
droits, etc.).
-a : permet d’afficher tous les fichiers contenus dans un répertoire, y compris les fichiers
commençant par un point (les fichiers cachés).
-R : permet d’afficher récursivement le contenu des sous-répertoires.
--color , --color=yes: permet d’afficher les fichiers en couleur selon leur type.
--color=no : annule l’affichage en couleur des fichiers.
exemples : ls . : lister le répertoire courant
ls .. : lister le répertoire parent
ls -lrt /etc : Donne la liste des fichiers et répertoires de /etc avec les détails (option -l)
trie par temps (-t) en ordre inverse (-r)
ls -l > f1.txt: le symbole « > » redirige la sortie de « ls » vers le fichier f1.txt avec
écrasement. Si on utilise « > > » il y aura ajout à la fin (append).
La commande cd
syntaxe : cd [chemin]
description : Elle permet de se déplacer dans l’arborescence du système de fichier.
Le chemin peut être absolu ou relatif.
exemples : cd .. : permet de remonter d’un cran dans l’arborescence.
cd ou cd ~ : permet de se placer directement à la racine de votre répertoire de travail.
cd - : pour retourner au répertoire précédent
cd /usr/local : déplacement selon un chemin absolu.
cd bin : déplacement selon un chemin relatif.
remarques : - chemin absolu : chemin d’accès complet à partir la racine (/)
Par exemple : /usr/local/seminaires/apprentissage/text1
- chemin relatif : spécifier le chemin d’accès relativement au répertoire courant
Par exemple : seminaires/apprentissage/text1 représente le nom relatif de text1
par rapport au répertoire courant /usr/local
La commande mkdir
syntaxe : mkdir [options] repertoire
description : Elle permet de créer un nouveau répertoire.
options: -p, --parents : s’assure que chaque répertoire spécifié existe et crée les répertoires parents
manquants.
exemples : mkdir -p Informatique/MuPAD : permet de créer le répertoire Informatique et le sous
Répertoire MuPAD.
La commande pwd
syntaxe : pwd
description : Elle permet de connaître le répertoire courant.
La commande rmdir
syntaxe : rmdir [options] répertoires
description : Elle permet de supprimer un ou plusieurs répertoires vides.
options : -p, --parents : efface les répertoires parents s’ils deviennent vides.
La commande rm
syntaxe : rm [options] nom
description : Elle efface chaque fichier spécifié et par défaut n’efface par les répertoires.
options : -f, --force : efface les fichiers en ignorant ceux qui n’existent pas et en ne demande
de confirmation à l’utilisateur.
-i, --interactive: demande à l’utilisateur de confirmer chaque suppression.
-r, -R, --récursive : supprime récursivement les contenus des répertoires et le répertoire
lui-même.
La commande cp
syntaxe : cp [options] fichier1 fichier2
cp [options] fichier répertoire
description : Elle sert à copier des fichiers et éventuellement des répertoires depuis un endroit précis
vers une destination précise ou un répertoire.
options : -i : interroge l’utilisateur avant d’écraser les fichiers existants.
-R : copie récursivement les répertoires et gère correctement les fichiers spéciaux.
-f : force l’effacement des fichiers cibles existants.
-p : conserve le propriétaire, le groupe, les permissions d’accès, et les horodatages
du fichier original.
La commande mv
syntaxe : mv [options] source destination
mv [options] source répertoire
description : Elle sert à déplacer ou renommer les fichiers. Si le dernier argument est un nom
de répertoire alors tous les fichiers sources seront déplacés, en conservant leur nom,
vers ce répertoire sinon il déplacera le premier pour remplacer le second.
options : -i : interroge l’utilisateur avant d’écraser les fichiers existants.
-f, --force : écrase les fichiers de destination existants sans demander de confirmation
à l’utilisateur.
-u, --update : ne pas déplacer un fichier régulier qui écraserait un fichier destination
existant ayant une date de modification plus récente.
La commande touch
syntaxe : touch nom_fichier
description : Elle permet de créer un fichier.
exemple : touch linux.txt
ls
linux.txt
La commande file
syntaxe : file nom_fichier
description : Elle permet de connaître le type d’un fichier. L'extension des fichiers n'est pas toujours
utilisée.
La commande cat
syntaxe : cat fichier1 fichier2...
description : défiler à l'écran le contenu d'un ou plusieurs fichiers.
remarques : - <ctrl-c> : Mettre fin au défilement
- <ctrl s> : Interrompre le défilement avec possibilité de reprise
- <ctrl q> : Reprendre le défilement
exemple : cat /etc/passwd | grep -v bash: Le symbole « | », pipe permet de récupérer la sortie
d'une commande pour l'envoyer en entrée dans la suivante. Ici le contenu du fichier
passwd est récupéré puis filtré avec grep pour garder les lignes ne contenant pas
le mot « bash ».
cat /etc/profile > ~/confenv : pour copier le contenu du fichier profile dans le fichier
confenv de son répertoire HOME.
Ls *.txt | xargs grep –l ce_mot : rechercher les fichiers ayant l’extension txt qui
Contiennent le texte ce_mot
cat *.txt | grep ce_mot : rechercher les lignes contenant ce_mot dans tous les fichiers
ayant l’extension txt.
La commande more
syntaxe : more fichier
description : défiler le contenu une page d'écran à la fois.
remarques : - taper la barre d'espacement : Défiler la page suivante
- taper <entree> : Défiler une ligne supplémentaire la touche
- taper la lettre q : Quitter la commande more
Les commandes nl et wc
nl : permet la numérotation des ligne d’un fichier donné
wc : permet le calcul du nombre de ligne, de mot et de caractère contenu dans un fichier.
exemples: - nl /etc/passwd
- wc /etc/mail/sendmail.mc
3. Les liens :
Les liens sont utiles pour faire apparaître un même fichier dans plusieurs endroits, même avec des noms
différents.
3.1 Les types des liens : il existe deux types de liens, à savoir :
a) Lien symbolique
b) Lien physique
3.1.1 Les liens symboliques :
La commande ln
Description : c’est la commande de création des liens
Syntaxe : ln [option] source lien
● Cas des liens physiques : ln linux.txt linux1.txt /*linux1.txt est un lien physique*/
● Cas des liens symboliques : ln -s linux.txt linux1.txt /*linux1.txt est un lien symbolique*/
ln -s /home/linux/linux.txt rep/linux1.txt
4. Questions
(1) Donner le nombre de répertoires ou de fichiers, ou liens de la directory /usr/lib, lister les fichiers.
(3) Dans quelle partition vous êtes, combien y en a-t-il dans votre système, quelle est la taille de votre
installation ?
(5) Quelle est votre chemin (PATH), compléter le avec le répertoire courant, faire l'export vers les autres
terminaux?, quel est votre répertoire courant ? Rendre votre répertoire accessible uniquement a votre
groupe, pas de lecture, ni d'écriture.
(6) Prendre votre nouveau PATH, donner un message à chaque connexion (nouveau shell)
Références: