🐧

Linux — SystĂšme & Ligne de Commande

MaĂźtrisez le systĂšme d'exploitation Linux, la ligne de commande, les permissions et l'administration via SSH.

Niveau : Intermédiaire Durée : ~16h 8 chapitres Certificat inclus
Télécharger le cours PDF
Retour aux cours
1

Introduction Ă  Linux et aux distributions

Linux est un noyau (kernel) open source créé par Linus Torvalds en 1991. Une « distribution » (distro) combine ce noyau avec des logiciels, un gestionnaire de paquets et une interface pour former un systÚme complet.

DistributionFamilleUsage typique
Ubuntu ServerDebianServeurs web, cloud (AWS EC2)
DebianDebianStabilité, serveurs
CentOS / Rocky LinuxRed HatEntreprise
Kali LinuxDebianSécurité / tests d'intrusion
💡 Pourquoi Linux sur un serveur ? Gratuit, stable, lĂ©ger, trĂšs documentĂ© et largement utilisĂ© sur le cloud (AWS, Azure, GCP) — d'oĂč son importance pour ce mĂ©moire dĂ©ployĂ© sur EC2 sous Ubuntu Server 22.04 LTS.
2

SystĂšme de fichiers et navigation

RépertoireContenu
/Racine de tout le systĂšme
/homeDossiers personnels des utilisateurs
/etcFichiers de configuration
/var/wwwFichiers servis par Apache (souvent)
/var/logJournaux (logs) systĂšmes et applicatifs
Terminal pwd # affiche le répertoire courant ls -la # liste les fichiers (y compris cachés) en détail cd /var/www/html # se déplacer dans un dossier cd .. # remonter d'un niveau mkdir mon_dossier # créer un dossier touch fichier.txt # créer un fichier vide cat fichier.txt # afficher le contenu d'un fichier
3

Gestion des fichiers et permissions

Terminal cp source.txt destination.txt # copier mv ancien.txt nouveau.txt # renommer / déplacer rm fichier.txt # supprimer rm -r dossier/ # supprimer un dossier et son contenu # Modifier les permissions chmod 755 script.sh # rwx pour le propriétaire, rx pour les autres chmod +x script.sh # rendre exécutable chown www-data:www-data fichier # changer le propriétaire/groupe
ChiffrePermission
7rwx (lecture + écriture + exécution)
5r-x (lecture + exécution)
4r-- (lecture seule)
â„č Format ls -l : -rwxr-xr-- se lit : type de fichier, puis 3 groupes de 3 permissions pour propriĂ©taire / groupe / autres.
4

Utilisateurs et groupes

Terminal sudo adduser fatou # créer un utilisateur sudo usermod -aG sudo fatou # l'ajouter au groupe sudo (admin) whoami # afficher l'utilisateur courant sudo su # passer en super-utilisateur (root)
⚠ sudo avec prĂ©caution : exĂ©cuter une commande en sudo lui donne les pleins pouvoirs sur le systĂšme. VĂ©rifiez toujours la commande avant de valider, surtout avec rm -rf.
5

Gestion des processus

Terminal ps aux # liste tous les processus en cours top # moniteur de processus en temps rĂ©el htop # version amĂ©liorĂ©e de top (Ă  installer) kill 1234 # arrĂȘter le processus d'identifiant (PID) 1234 kill -9 1234 # forcer l'arrĂȘt immĂ©diat # Services systĂšme (gĂ©rĂ©s par systemd) sudo systemctl status apache2 sudo systemctl restart apache2 sudo systemctl enable apache2 # dĂ©marrage automatique au boot
💡 systemctl : sur Ubuntu Server moderne, c'est l'outil standard pour dĂ©marrer, arrĂȘter et vĂ©rifier l'Ă©tat de tous les services (Apache, MySQL, SSH...).
6

Réseau et accÚs distant SSH

SSH (Secure Shell) permet de se connecter et d'administrer un serveur distant en ligne de commande, de façon chiffrĂ©e — c'est la mĂ©thode standard pour gĂ©rer un serveur EC2.

Terminal # Se connecter à un serveur distant avec une clé privée ssh -i memoirekey.pem ubuntu@54.227.142.254 # Copier un fichier local vers le serveur scp -i memoirekey.pem index.html ubuntu@54.227.142.254:/var/www/html/ # Vérifier les ports ouverts localement sudo ss -tulpn
⚠ Permissions de la clĂ© : une clĂ© .pem doit avoir des permissions restreintes (chmod 400 memoirekey.pem) sinon SSH refuse de l'utiliser.
7

Gestion des paquets (APT)

Sur les distributions basées Debian/Ubuntu, apt installe, met à jour et supprime les logiciels depuis des dépÎts en ligne.

Terminal sudo apt update # rafraßchir la liste des paquets disponibles sudo apt upgrade # mettre à jour les paquets installés sudo apt install apache2 php mysql-server # installer la pile LAMP sudo apt remove nom-du-paquet # désinstaller
💡 Toujours update avant install : cela garantit que vous installez la derniĂšre version disponible et Ă©vite des erreurs de dĂ©pendances obsolĂštes.
8

Scripts Bash et projet final

Bash — sauvegarde.sh #!/bin/bash # Sauvegarde le dossier web avec la date du jour DATE=$(date +%Y-%m-%d) tar -czf backup_$DATE.tar.gz /var/www/html echo "Sauvegarde terminĂ©e : backup_$DATE.tar.gz"
Terminal — planifier avec cron crontab -e # ExĂ©cuter le script tous les jours Ă  2h du matin 0 2 * * * /home/ubuntu/sauvegarde.sh
🎯 Projet final : Écrivez un script Bash qui vĂ©rifie si Apache est actif (systemctl is-active apache2) et, s'il est arrĂȘtĂ©, le redĂ©marre automatiquement et enregistre l'Ă©vĂ©nement dans un fichier de log avec la date.

Exercices & Quiz de vérification

Testez vos connaissances avant de passer au cours suivant. Chaque question a une correction détaillée à dérouler.

1. Quelle commande liste le contenu d'un dossier, y compris les fichiers cachés ?

  • A. cd -a
  • B. ls -la
  • C. show -all
Voir la correction

Réponse : B. ls -la affiche tous les fichiers (option -a) avec le détail (option -l).

2. Que fait chmod 755 script.sh ?

  • A. Supprime le fichier
  • B. Donne tous les droits au propriĂ©taire, lecture/exĂ©cution aux autres
  • C. Renomme le fichier
Voir la correction

Réponse : B. 7 = rwx pour le propriétaire, 5 = r-x pour le groupe et les autres.

3. Quelle commande permet de se connecter à un serveur distant en SSH avec une clé ?

  • A. ssh -i cle.pem utilisateur@ip
  • B. connect --key cle.pem
  • C. remote-login cle.pem
Voir la correction

Réponse : A. L'option -i spécifie le fichier de clé privée à utiliser pour l'authentification.

4. Quel outil planifie l'exécution automatique et récurrente d'un script sous Linux ?

  • A. systemctl
  • B. cron
  • C. apt
Voir la correction

Réponse : B. cron (configuré via crontab -e) exécute des tùches planifiées à intervalles réguliers.