Cours d'Initiation Linux en PDF (Intermédiaire)
Initiation Linux : Ce qu'il faut savoir. L'initiation à Linux permet de découvrir les bases du système d'exploitation UNIX, ses commandes essentielles et son administration.
Contexte historique : Le noyau Linux a été lancé par Linus Torvalds en 1991 alors qu'il était étudiant à l'Université d'Helsinki ; le projet a rapidement été porté par la communauté Open Source. Depuis, Linux sert de base à de nombreuses distributions et à des usages allant des serveurs aux postes de travail.
La licence GPL (GNU General Public License) a joué un rôle central dans le développement de l'écosystème : elle garantit la liberté d'utilisation, de modification et de redistribution du code, favorisant la collaboration et l'innovation. La philosophie Open Source insiste sur la transparence, la réutilisabilité et la sécurité par l'audit communautaire.
- Distributions majeures :
Debian: stabilité et vaste dépôt de paquets, souvent choisie comme base pour des environnements serveurs et desktop.Red Hat / RHEL: support commercial et orientation entreprise, adaptée aux environnements critiques et certifiés.Arch: approche rolling release et personnalisation avancée pour utilisateurs souhaitant un contrôle fin du système.
🎯 Ce que vous allez apprendre
Support de formation axé sur la pratique depuis le Terminal : utilisation du shell Bash pour exécuter des commandes, automatiser des tâches et naviguer en ligne de commande.
- Commandes UNIX : utilisation des commandes les plus courantes pour naviguer et manipuler des fichiers.
- Administration quotidienne : techniques pour gérer et administrer efficacement un système.
- Système de fichiers : compréhension de la structure hiérarchique et des opérations sur les fichiers.
- Gestion des processus : introduction à la gestion des processus et à l'utilisation du shell.
- Utilitaires réseau : découverte des outils de base pour la gestion des réseaux.
Distributions populaires : Ubuntu, Debian et CentOS
Ubuntu — distribution grand public dérivée de Debian, privilégiée pour les postes de travail et les serveurs légers ; elle facilite l'installation de paquets via apt et propose de nombreux tutoriels et paquets précompilés (voir la section dédiée ci-dessous).
Debian — connue pour sa stabilité et son vaste dépôt, Debian constitue une base fiable pour des environnements de production et des distributions dérivées.
CentOS / RHEL — orientée entreprise, CentOS (et RHEL commercial) fournit une compatibilité binaire et un support long terme pour les infrastructures critiques.
Les commandes de base abordées
| Commande | Description |
|---|---|
ls |
Liste le contenu d'un répertoire. |
cd |
Change le répertoire courant. |
mkdir |
Crée un nouveau répertoire. |
cp |
Copie des fichiers ou des répertoires. |
mv |
Déplace ou renomme des fichiers. |
rm |
Supprime des fichiers ou des répertoires. |
grep |
Recherche du texte dans les fichiers. |
chmod |
Modifie les permissions d'un fichier ou d'un répertoire. |
📑 Sommaire du document
- Introduction
- Pré-requis
- Objectifs
- Présentation du système UNIX
- Caractéristiques du noyau Linux et d’UNIX
- Le shell
- Les commandes
- Commandes d'administration
👤 À qui s'adresse ce cours ?
- Public cible : Utilisateurs disposant de notions de base souhaitant consolider et approfondir leurs compétences en administration et utilisation de systèmes UNIX/Linux (niveau intermédiaire).
- Prérequis : Notions de fichiers et répertoires, familiarité avec un environnement informatique général.
Pourquoi apprendre la ligne de commande Linux ?
La ligne de commande offre un contrôle fin et une rapidité d'exécution difficile à égaler avec une interface graphique. Maîtriser le Terminal et Bash permet d'automatiser des tâches, d'interroger rapidement le système et d'intervenir sur des serveurs à distance. Ces compétences sont particulièrement utiles pour l'administration, le développement et le dépannage dans des environnements Open Source.
Structure du système de fichiers
L'arborescence Linux suit une hiérarchie standardisée. Quelques répertoires essentiels :
/etc: fichiers de configuration du système et des services./bin: programmes exécutables essentiels pour tous les utilisateurs./home: répertoires personnels des utilisateurs./tmp: fichiers temporaires utilisés par les applications et le système.
Comprendre cette arborescence facilite la localisation des configurations, des exécutables et des données utilisateur, et sert de base pour la gestion des permissions et de la sécurité.
Maîtriser l'arborescence et les permissions
Les permissions en Linux déterminent qui peut lire, écrire ou exécuter un fichier ou un répertoire. Savoir interpréter les bits de permission et utiliser des commandes comme chmod, chown et chgrp est indispensable pour sécuriser les ressources. Des exercices pratiques montrent comment modifier les droits, gérer les propriétaires et résoudre des problèmes d'accès.
# Exemple : ajouter les droits d'exécution pour le propriétaire
chmod 755 script.sh
Administration des utilisateurs
L'administration des comptes et des droits est centrale pour l'administration système. Ce chapitre présente la gestion des comptes, des groupes et l'attribution des privilèges sudo pour limiter les risques. L'utilisation de sudo permet de donner des privilèges temporaires et tracés à des utilisateurs sans partager le mot de passe root ; l'édition de la configuration se fait via visudo pour éviter les erreurs de syntaxe.
# Exemple : ajouter un utilisateur et l'ajouter au groupe sudo
sudo useradd -m -s /bin/bash alice
sudo usermod -aG sudo alice
# Éditer le fichier sudoers en toute sécurité
sudo visudo
Gestion des utilisateurs et groupes
Commandes de base pour la gestion des comptes et des groupes :
useradd: crée un nouvel utilisateur (avec options pour le répertoire home et le shell).usermod: modifie les paramètres d'un utilisateur existant (ajout à des groupes, changement de shell).groupadd: crée un groupe système ou utilisateur.
Édition de fichiers en ligne de commande
Éditer des fichiers depuis le terminal est une compétence essentielle. Deux éditeurs courants :
- Vim : puissant et configurable, adapté aux utilisateurs souhaitant des fonctionnalités avancées.
- Nano : plus simple et convivial pour les modifications rapides.
Apprendre au moins un éditeur (Vim ou Nano) est recommandé pour l'administration et la maintenance des fichiers de configuration.
Outils de compilation et développement
Introduction aux outils GNU et à la compilation : le document présente l'installation et l'usage de compilateurs et d'outils de construction pour préparer un environnement de développement.
Le compilateur gcc (GNU Compiler Collection) est couvert avec des exemples de compilation de programmes C. L'ancien compilateur g77 pour Fortran est également cité dans un aperçu historique des outils GNU. L'utilitaire make et les fichiers Makefile sont expliqués pour automatiser la compilation et les tâches récurrentes.
# Compilation simple avec gcc
gcc -Wall -O2 -o programme programme.c
# Utiliser make (Makefile)
make
Installation de logiciels et gestionnaires de paquets (APT, YUM)
Les gestionnaires de paquets facilitent l'installation et la mise à jour des logiciels. Sur les distributions basées sur Debian/Ubuntu, apt (ou apt-get) est le gestionnaire principal : il permet d'installer, mettre à jour et supprimer des paquets facilement. Exemple d'utilisation :
# Mettre à jour la liste des paquets et installer un paquet
sudo apt update
sudo apt install nom-du-paquet
Sur les distributions basées sur Red Hat, yum ou dnf remplissent la même fonction. Le cours inclut des exercices pratiques pour la gestion des paquets, l'installation de compilateurs (gcc) et d'outils de développement afin de préparer des environnements de compilation.
Différences entre Linux et UNIX : Ce qu'il faut retenir
Linux désigne un noyau créé en 1991 par Linus Torvalds ; combiné avec des outils GNU et des environnements, il forme des systèmes souvent appelés "distributions Linux". UNIX est une famille historique de systèmes propriétaires et normalisés. Les différences pratiques concernent l'origine, la licence et certains outils système, mais de nombreuses commandes et concepts restent communs entre les deux mondes.
Pourquoi télécharger ce support de cours Linux ?
Ce PDF offre un ensemble structuré d'exercices et d'explications adaptées au niveau intermédiaire : travaux pratiques sur la ligne de commande Bash, fiches de référence pour les commandes courantes et mises en situation pour l'administration système et la gestion des utilisateurs. En téléchargeant ce support, vous obtenez des exercices prêts à l'emploi et des indications pour installer des paquets ou des outils de compilation.
Compilateurs et outils GNU : une brève introduction à l'installation de paquets et aux outils de compilation est incluse (gestionnaires de paquets, gcc, g77, make) afin de préparer des environnements de développement et de compilation.
❓ Foire Aux Questions (FAQ)
Qu'est-ce que le shell ?
Le shell est l'interface en ligne de commande qui interprète les commandes saisies par l'utilisateur et exécute les programmes correspondants. Bash est l'un des shells les plus couramment utilisés.
Ce cours couvre-t-il les distributions comme Ubuntu ou Debian ?
Oui. Les notions fondamentales présentées (arborescence, commandes de base, gestion des permissions, utilisation du Terminal) sont communes à la plupart des distributions, y compris Ubuntu et Debian. Certaines commandes d'administration ou chemins spécifiques peuvent toutefois varier selon la distribution.