[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
51 vues7 pages

Introduction À Shell Bash (Linux)

Le document présente une introduction au système d'exploitation Linux, en expliquant ses caractéristiques, ses avantages, et les principales distributions disponibles. Il aborde également la structure d'un système Linux, y compris le noyau, le shell, le système de fichiers, et la gestion des utilisateurs et des permissions. Enfin, il fournit un aperçu des commandes de base et des manuels associés pour aider les utilisateurs à naviguer et à utiliser efficacement Linux.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
51 vues7 pages

Introduction À Shell Bash (Linux)

Le document présente une introduction au système d'exploitation Linux, en expliquant ses caractéristiques, ses avantages, et les principales distributions disponibles. Il aborde également la structure d'un système Linux, y compris le noyau, le shell, le système de fichiers, et la gestion des utilisateurs et des permissions. Enfin, il fournit un aperçu des commandes de base et des manuels associés pour aider les utilisateurs à naviguer et à utiliser efficacement Linux.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 7

TECHNICIEN SPECIALISE EN SR et DI - 1ère Année

Système d’Exploitation – Linux (Open Source)

Introduction à Linux (Open source)


1. Qu’est-ce que Linux ?
Linux est un système d'exploitation libre et open-source basé sur le noyau Linux, développé
initialement par Linus Torvalds en 1991. Contrairement à Windows et macOS, Linux repose sur le
principe de la collaboration communautaire et est utilisé dans divers environnements, des ordinateurs
personnels aux serveurs et supercalculateurs.

2. Pourquoi choisir Linux ?


❖ Gratuit et open-source : Pas de licence payante et code source modifiable.
❖ Sécurisé : Moins vulnérable aux virus et aux malwares.
❖ Stable et performant : Fonctionne efficacement, même sur du matériel ancien.
❖ Personnalisable : Large choix d’interfaces graphiques et d’outils.
❖ Utilisé dans le monde professionnel : Serveurs, réseaux, développement, IoT, cloud, etc.

3. Les principales distributions Linux


Linux se décline en plusieurs distributions (ou "distros"), adaptées à différents usages. Voici quelques-
unes des plus populaires :

❖ Basées sur Debian :


Debian est une distribution stable et robuste, souvent utilisée comme base pour d'autres
distributions populaires.
✓ Ubuntu : Facile à utiliser, adaptée aux débutants et aux entreprises (Desktop, Server,
Cloud).
✓ Linux Mint : Interface conviviale, idéale pour ceux qui viennent de Windows.
✓ Kali Linux : Conçue pour les tests de sécurité et le hacking éthique.
❖ Basées sur Red Hat :
Red Hat Enterprise Linux (RHEL) est utilisée principalement en entreprise pour les serveurs et le
cloud.
✓ Fedora : Version communautaire, avec des mises à jour fréquentes et les dernières
innovations.
✓ CentOS (remplacé par AlmaLinux et Rocky Linux) : Alternative gratuite et stable à
RHEL, utilisée en entreprise.
✓ AlmaLinux / Rocky Linux : Remplaçants de CentOS, avec une compatibilité totale avec
RHEL.
❖ Basées sur Arch Linux :
Arch Linux est une distribution minimaliste, légère et personnalisable.
✓ Manjaro : Version plus accessible d'Arch Linux, avec une interface utilisateur intuitive.
✓ EndeavourOS : Une expérience proche d’Arch avec des outils facilitant l’installation.
❖ Autres distributions populaires :
✓ openSUSE : Stabilité et flexibilité, utilisée en entreprise et par les développeurs.
✓ Slackware : L'une des plus anciennes distributions, appréciée pour sa simplicité et sa
philosophie UNIX.

Par M. Maliki TCHEROU Version de 2024-2025 1


TECHNICIEN SPECIALISE EN SR et DI - 1ère Année
Système d’Exploitation – Linux (Open Source)
✓ Gentoo : Entièrement compilée par l’utilisateur, idéale pour les experts qui veulent
tout optimiser.

Remarque : Chaque distribution a ses avantages selon l’usage : Ubuntu pour débuter, Debian/RHEL
pour les serveurs, Arch pour un système personnalisé.

4. Structure d’un système Linux

a) Noyau (Kernel)

Le noyau Linux est le cœur du système d’exploitation. Gère le matériel et les processus. Il assure :

❖ La gestion des ressources (CPU, mémoire, disque, périphériques).


❖ L’ordonnancement des processus (exécution des programmes).
❖ La gestion des pilotes pour l’interaction avec le matériel.
❖ La sécurité via la gestion des permissions et des accès.

Le noyau est chargé au démarrage du système et reste en mémoire pour coordonner toutes les
opérations.

b) Shell

Le shell est une interface permettant aux utilisateurs d’exécuter des commandes. C’est aussi une
interface en ligne de commande permettant d’interagir avec le système.

Il peut être :

❖ Interactif : l’utilisateur tape des commandes en direct.


❖ Scripté : exécution de scripts .sh pour automatiser des tâches.

Exemples de shells sous Linux :

❖ Bash (Bourne Again Shell) → Par défaut sur la plupart des distributions.
❖ Zsh (Z Shell) → Plus avancé, avec autocomplétion améliorée.
❖ Fish (Friendly Interactive Shell) → Convivial et ergonomique.
❖ Dash, Tcsh, Ksh → Autres alternatives utilisées selon les besoins.

c) Système de fichiers Linux

Arborescence où tous les fichiers se trouve (/home, /etc, /var, /usr, … etc.). Contrairement à Windows
où les lecteurs sont représentés par des lettres (C:\, D:\...), Linux utilise une arborescence unique où
tout est fichier.

Symboles et raccourcis dans l’arborescence


Symbole Signification & Usage
/ Racine du système de fichiers (pour y accéder : cd /).
~ Dossier personnel ou de travail de l’utilisateur (/home/utilisateur).
. Répertoire actuel (pour exécuter un script dans le dossier courant : ./script.sh).
.. Répertoire parent (remonte d’un niveau dans l’arborescence : cd ..).

Par M. Maliki TCHEROU Version de 2024-2025 2


TECHNICIEN SPECIALISE EN SR et DI - 1ère Année
Système d’Exploitation – Linux (Open Source)
Exemples pratiques :

❖ cd ~ → Accède au dossier personnel de l’utilisateur.


❖ cd .. → Remonte d’un dossier.
❖ ls . → Liste les fichiers du dossier courant.
❖ ls .. → Liste les fichiers du répertoire parent.

Répertoires principaux sous Linux


Répertoire Signification & Usage
/ Racine du système → contenant tous les fichiers et répertoires.
/bin Binaries → Contient les exécutables essentiels (ex: ls, cp, mv).
/sbin System Binaries → Commandes systèmes réservées à root (ex: fdisk, reboot).
/etc Configuration → Contient tous les fichiers de configuration du système.
/home Répertoires utilisateurs → Chaque utilisateur a un dossier (/home/user).
/root Dossier personnel de root → (équivalent à /home/root mais isolé).
/var Données variables → Logs (/var/log), bases de données (/var/lib).
/tmp Fichiers temporaires → Contenu supprimé après un redémarrage.
/usr User System Resources → Contient des programmes utilisateurs et leurs données.
/lib et /lib64 Bibliothèques du système → nécessaires aux exécutables.
/dev Devices → Fichiers représentant les périphériques (/dev/sda1, /dev/tty).
/mnt et
Mount → Points de montage pour les systèmes de fichiers externes (clés USB, disques).
/media
/proc Fichiers virtuels du noyau → (infos sur CPU, mémoire, processus).
/sys Informations sur le matériel → (gestion des périphériques).
/boot Boot → Contient les fichiers nécessaires au démarrage (grub, vmlinuz).
/opt Applications tierces → (logiciels installés manuellement).

d) Gestion des utilisateurs et permissions

Linux est un système multi-utilisateur, ce qui signifie que plusieurs personnes peuvent l’utiliser
simultanément avec des permissions distinctes (root, utilisateurs standards).

Types d’utilisateurs
Utilisateur Description
root Super utilisateur ayant tous les droits sur le système.

Utilisateur standard Peut utiliser le système, mais n’a pas d’accès administrateur.
Service users Comptes dédiés aux services (ex : www-data pour Apache).

Permissions des fichiers :

❖ Chaque fichier ou dossier a trois types de permissions pour trois catégories d’utilisateurs :
❖ Utilisateur (u) → Propriétaire du fichier.
❖ Groupe (g) → Groupe auquel appartient le fichier.
❖ Autres (o) → Tous les autres utilisateurs.

Par M. Maliki TCHEROU Version de 2024-2025 3


TECHNICIEN SPECIALISE EN SR et DI - 1ère Année
Système d’Exploitation – Linux (Open Source)
Permission Signification
r (read) Lecture du fichier.
w (write) Modification/suppression du fichier.
x (execute) Exécution (utile pour les scripts/binaries).

Exemple de permissions :

ls -l fichier.txt
-rw-r--r-- 1 user group 1048 fichier.txt

5. Présentation d’Ubuntu
Ubuntu est l’une des distributions Linux les plus populaires, développée par Canonical. Elle est connue
pour sa simplicité d'utilisation et est souvent recommandée aux débutants.

Versions :

❖ Ubuntu Desktop : Pour un usage personnel avec une interface graphique.


❖ Ubuntu Server : Pour les serveurs sans interface graphique.
❖ Ubuntu LTS (Long Term Support) : Version stable avec 5 ans de support.

6. Quelques commandes de base


Voici le catalogue de quelques commandes de bases déjà assez fourni comme vous allez pouvoir le
constater. L'intérêt étant d'en connaître le maximum sinon la commande man sera toujours là pour vous
aider. Toutes ces commandes sont « sensibles à la case » (majuscule/minuscule), le caractère
d'espacement servant de séparateur.

N° Commande Sigle (Origine) Définition & Usage


Affiche le contenu d’un fichier ou concatène plusieurs
1 cat Concatenate
fichiers. Ex : cat fichier.txt
2 cd Change Directory Change de répertoire. Ex : cd /home/user/
Modifie les permissions d’un fichier/dossier. Ex :
3 chmod Change Mode
chmod 755 script.sh
Change le propriétaire et le groupe d’un fichier. Ex :
4 chown Change Owner
chown user:group fichier.txt
Copie des fichiers ou des dossiers. Ex : cp fichier.txt
5 cp Copy
/home/user/
6 crontab Cron Table Planifie des tâches automatiques. Ex : crontab -e
Effectue des requêtes HTTP/FTP. Ex : curl -I
7 curl Client URL
http://example.com/
Extrait des parties spécifiques d’un texte. Ex : cut -d':' -
8 cut Cut
f1 /etc/passwd
Affiche ou définit la date et l’heure. Ex : date "+%Y-
9 date Date
%m-%d %H:%M:%S"
Copie bas niveau des données. Ex : dd if=/dev/sda
10 dd Device to Device
of=/backup.img bs=4M

Par M. Maliki TCHEROU Version de 2024-2025 4


TECHNICIEN SPECIALISE EN SR et DI - 1ère Année
Système d’Exploitation – Linux (Open Source)
11 df Disk Free Affiche l’espace disque disponible. Ex : df -h
Disk Free (Type &
12 df -Th Affiche l’espace disque avec le type de partition.
Human readable)
Affiche l’espace utilisé par des fichiers/dossiers. Ex :
13 du Disk Usage
du -sh /var/log/
Affiche un message ou écrit dans un fichier. Ex : echo
14 echo Echo
"Hello" > fichier.txt
15 exit Exit Ferme un terminal ou une session en cours.
Recherche des fichiers selon des critères. Ex : find / -
16 find Find
name "fichier.txt"
Vérifie et répare un système de fichiers. Ex : fsck
17 fsck File System Check
/dev/sda1
Global Regular Recherche un motif dans un fichier. Ex : grep "erreur"
18 grep
Expression Print /var/log/syslog
Crée un groupe d’utilisateurs. Ex : groupadd
19 groupadd Group Add
developpeurs
20 gunzip GNU unzip Décompresse un fichier .gz. Ex : gunzip archive.gz
21 gzip GNU zip Compresse un fichier en .gz. Ex : gzip fichier.txt
Affiche les 10 premières lignes d’un fichier. Ex : head -
22 head Head
n 5 fichier.txt
Donne une aide sur les commandes Bash internes. Ex :
23 help Help
help cd
24 history History Liste les commandes tapées récemment. Ex : `history
Htop (H = horizontal
25 htop Version interactive améliorée de top.
scrolling)
26 id IDentification Affiche l’UID, le GID et les groupes d’un utilisateur.
27 ip a IP Address Affiche les adresses IP des interfaces réseau.
28 journalctl Journal Control Affiche les logs du système. Ex : journalctl -xe
Envoie un signal à un processus pour l’arrêter. Ex : kill
29 kill Kill
1234
Permet d’afficher un fichier page par page. Ex : less
30 less Less is more
fichier.txt

31 ln Link Crée des liens entre fichiers. Ex : ln -s fichier.txt lien.txt

32 ls List Liste les fichiers et dossiers. Ex : ls -lah


33 man Manual Affiche le manuel d’une commande. Ex : man ls
34 mkdir Make Directory Crée un dossier. Ex : mkdir mon_dossier
Formate une partition en système de fichiers. Ex :
35 mkfs Make File System
mkfs.ext4 /dev/sdb1
Affiche un fichier page par page (moins flexible que
36 more More
less).
Monte un système de fichiers. Ex : mount /dev/sdb1
37 mount Mount
/mnt
Déplace ou renomme un fichier. Ex : mv ancien.txt
38 mv Move
nouveau.txt
Analyse l’utilisation du disque (utile pour voir les gros
39 ncdu NCurses Disk Usage
fichiers).

Par M. Maliki TCHEROU Version de 2024-2025 5


TECHNICIEN SPECIALISE EN SR et DI - 1ère Année
Système d’Exploitation – Linux (Open Source)
40 netstat Network Statistics Liste les ports ouverts et les connexions réseau.
41 passwd Password Change le mot de passe de l’utilisateur courant.
Vérifie la connectivité avec un hôte. Ex : ping
42 ping Packet Internet Groper
google.com
43 ps Process Status Affiche les processus en cours. Ex : ps aux
44 pwd Print Working Directory Affiche le répertoire actuel.
45 rm Remove Supprime un fichier. Ex : rm fichier.txt
46 rmdir Remove Directory Supprime un dossier vide.
Synchronisation de fichiers/dossiers. Ex : rsync -av
47 rsync Remote Synchronization
dossier/ sauvegarde/
Copie de fichiers en SSH. Ex : scp fichier.txt
48 scp Secure Copy
user@serveur:/home/user/
Substitute User / Switch
49 su Change d’utilisateur (root par défaut). Ex : su - user
User
Gère les services sous systemd. Ex : systemctl status
50 systemctl System Control
apache2
Affiche les 10 dernières lignes d’un fichier. Ex : tail -n
51 tail Tail
20 fichier.log
Archive et compresse des fichiers. Ex : tar -cvf
52 tar Tape Archive
archive.tar dossier/
Affiche en temps réel les processus actifs et
53 top Table of Processes
l’utilisation CPU/mémoire.
Interface simplifiée pour gérer le pare-feu. Ex : ufw
54 ufw Uncomplicated Firewall
enable
55 uname Unix Name Donne des infos sur le système. Ex : uname -a
Affiche depuis combien de temps le système est en
56 uptime Uptime
marche.
Ajoute un utilisateur. Ex : useradd -m
57 useradd User Add
nouvel_utilisateur
Télécharge un fichier depuis une URL. Ex : wget
58 wget Web Get
http://example.com/fichier.zip
59 whereis Where Is Trouve l’emplacement d’un binaire. Ex : whereis ls
60 whoami Who Am I Affiche l’utilisateur courant.

7. Les « man » pages


Comme on l’a vu, le nombre de commandes est assez importante, et encore, nous n’en avons vu
qu’une toute petite partie ! Accéder à la documentation en ligne de commande se révèle donc «
ESSENTIELLE » a tout utilisateur du Shell, même à l’expert.

La syntaxe pour appeler la documentation d’une commande est simple :

man commande man n commande


n - le numéro de la page man (vous le verrez en haut à gauche).

$ man crontab

Par M. Maliki TCHEROU Version de 2024-2025 6


TECHNICIEN SPECIALISE EN SR et DI - 1ère Année
Système d’Exploitation – Linux (Open Source)
En règle générale dans la partie SEE ALSO d'une page de "man", vous trouverez la liste des
commandes qu'il est conseillé de consulter ayant un rapport direct avec la commande dont vous lisez
le manuel.

Regardez la partie SEE ALSO et vous remarquerez les pages qui sont conseillées de consulter. Cela
veut dire qu'on peut taper :

$ man 5 crontab $ man 8 cron


La touche "q" pour quitter la page man et revenir à l'invite de commande (prompt)

Pour obtenir la description succincte d'une commande, on va utiliser l'option "-f" :

man -f commande whatis commande

Pour connaître les rubriques qui contiennent dans leur présentation un mot clé, l'option "-k" :

man -k commande

8. Variables d'environnement à connaitre


❖ HOME : contient le répertoire d'utilisateur
❖ USER : contient le login d'utilisateur
❖ PWD : contient le répertoire courant
❖ SHELL : contient le nom du Shell de connexion
❖ PATH : contient la liste des répertoires où se trouvent les commandes que l'utilisateur
peut exécuter
❖ HOSTNAME : contient le nom de la machine
❖ HISTSIZE : contient la taille maximale des commandes exécutées contenues dans le fichier
historique
❖ PS1 : contient les paramètres d'affichage de l'invite de commande du Shell
❖ PS2 : contient le prompt

Exemples :

Récupérer les variables globales d’environnement :

$ env

Récupérer toutes les variables d’environnement + variables locales :

$ set

Donne l’invite de commande du Shell :

$ echo $PS1

Donne l’invite du prompt :

$ echo $PS2

Par M. Maliki TCHEROU Version de 2024-2025 7

Vous aimerez peut-être aussi