Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🐧 Linux – Fondamentaux & Administration

Guide complet IDEO‑Lab sur le noyau, les distros, les permissions, FHS et systemd.

1.1

Vue d'ensemble

Kernel, Distro (Debian vs RHEL), Shell.

Kernel Distro Shell
1.2

Partitionnement

/, /boot, swap, /home, GPT, LVM.

/ (root) swap LVM
1.3

Installation (Pratique)

Ubuntu/Debian vs Rocky/RHEL.

Ubuntu Rocky Linux apt/dnf
2.1

Arborescence (FHS)

/etc, /var, /usr, /bin, /sbin, /home.

FHS /etc /var
2.2

Arborescence (Avancé)

/opt, /srv, /mnt, /media, /tmp.

/opt /srv /tmp
3.1

Utilisateurs & Groupes

useradd, usermod, /etc/passwd, groupadd.

useradd usermod /etc/passwd
3.2

Sudo & Privilèges

sudo, /etc/sudoers, visudo.

sudo visudo root
4.1

Permissions (rwx)

chmod (Octal & Symbolique), chown.

chmod chown rwx
4.2

Permissions Avancées

umask, SUID, SGID, Sticky Bit.

umask SUID SGID
5.1

Systemd (Services)

systemctl (start, stop, enable, status).

systemctl service PID 1
5.2

Journald (Logs)

journalctl (logs centralisés).

journalctl logs -u
6.1

Cheat-sheet CLI

ls, cd, cp, mv, rm, grep, find, ps, free.

cheat cli
1.1 Vue d'ensemble : Kernel & Distributions
Linux = Le Noyau (Kernel)

Strictement parlant, "Linux" n'est que le **Noyau** (Kernel) du système d'exploitation. C'est le composant central créé par Linus Torvalds en 1991. Le noyau est le "traducteur" entre le matériel (CPU, RAM, Disque) et les logiciels (applications).

GNU/Linux = La Distribution (Distro)

Ce que nous utilisons est une **Distribution GNU/Linux**. C'est une collection cohérente de logiciels (outils GNU comme bash, grep, gcc, serveur graphique, applications...) assemblée *autour* du noyau Linux.

[Image d'une architecture OS]
+------------------------------------------------------+
| Applications (Firefox, VSCode, Serveur Web)          |
+------------------------------------------------------+
| Shell (Interface utilisateur, ex: Bash, Zsh)         |
+------------------------------------------------------+
| Outils GNU (Coreutils: ls, cp, grep...)              |
+------------------------------------------------------+
| NOYAU LINUX (Kernel)                                 |
| (PID 1, Gestion RAM, CPU, Pilotes)                   |
+------------------------------------------------------+
| Matériel (CPU, RAM, Disque Dur, Réseau)              |
+------------------------------------------------------+
Les deux grandes familles (Serveur)

Il existe des centaines de distros, mais elles descendent de deux familles principales :

CritèreFamille DebianFamille RHEL (Red Hat)
Basée surDebianRed Hat Enterprise Linux (RHEL)
Gestion Paquets.deb.rpm
Outil principalapt (apt install ...)dnf (ou yum) (dnf install ...)
Distros populairesUbuntu Server, Debian, Linux MintRocky Linux, AlmaLinux, CentOS Stream, Fedora
PhilosophieCommunauté, stabilité (Debian), "up-to-date" (Ubuntu).Entreprise, stabilité extrême (Rocky), innovation (Fedora).

Rocky Linux est le successeur communautaire de CentOS, 100% compatible avec RHEL.

Le Shell (Interface en ligne de commande)

Le Shell est votre interface principale avec le système. C'est un interpréteur de commandes.

  • bash (Bourne Again Shell) : Le shell par défaut sur la plupart des systèmes.
  • zsh (Z Shell) : Une version améliorée de bash, souvent utilisée avec "Oh My Zsh" pour l'autocomplétion.
  • sh (Bourne Shell) : L'ancêtre, souvent un lien symbolique vers bash ou dash.

Quand vous ouvrez un terminal, vous lancez bash (ou zsh). Le shell affiche un prompt et attend vos commandes.

# [utilisateur]@[hostname]:[répertoire_actuel]$
ideo_user@serveur-web:~$ ls -l

# Le prompt 'root' se termine par '#'
root@serveur-web:/var/log#
1.2 Concepts d'Installation & Partitionnement
GPT vs MBR (Table de partition)

Avant de créer des partitions, le disque a besoin d'une "table des matières".

  • MBR (Master Boot Record) : L'ancien standard. Limité à 4 partitions primaires et aux disques de < 2To. Obsolète.
  • GPT (GUID Partition Table) : Le standard moderne (requis par UEFI). Supporte 128 partitions et des disques > 2To. Toujours utiliser GPT.
Partitions & Points de Montage

Contrairement à Windows (C:, D:), Linux utilise un système de fichiers unifié (/). Les partitions sont "montées" dans des répertoires.

Voici un schéma de partitionnement standard pour un serveur :

PartitionPoint de MontageTaille RecommandéeDescription
(EFI)/boot/efi256M - 512MRequis par UEFI/GPT. Contient le bootloader.
(Boot)/boot1GContient le Noyau (Kernel) et l'initramfs. (Parfois non séparé de /)
(Racine)/ (root)20G - 50GLe système de base, /etc, /bin, /usr...
(Swap)[swap]RAM (si < 8G) ou 8GLa "mémoire virtuelle" sur disque.
(Home)/homeReste de l'espaceDossiers des utilisateurs. (Permet de réinstaller / sans perdre les données user).

Sur un serveur, on sépare aussi /var (pour les logs et le web) pour éviter que des logs saturent la partition racine (/).

LVM (Logical Volume Management)

LVM est une couche d'abstraction **optionnelle** (mais recommandée) entre vos partitions physiques et le système.

Avantages :

  • Redimensionnement à chaud : Agrandir une partition (ex: /var) sans redémarrer.
  • Snapshots : "Geler" l'état d'un volume pour un backup.
  • Flexibilité : Étendre un volume sur plusieurs disques.

[Disque 1 (/dev/sda2)] --+
                         |--> [Volume Group (VG) "vg_main"]
[Disque 2 (/dev/sdb1)] --+
                         |
                         |--> [Logical Volume (LV) "lv_root"] --> Monté sur /
                         |
                         |--> [Logical Volume (LV) "lv_var"]  --> Monté sur /var
                         |
                         |--> [Logical Volume (LV) "lv_home"] --> Monté sur /home

La plupart des installeurs (Ubuntu, Rocky) proposent "Utiliser LVM" en un clic.

1.3 Installation Pratique (Ubuntu & Rocky)
Post-Installation (apt)

Après une installation minimale d'Ubuntu Server ou Debian.

# 1. Mettre à jour le cache et les paquets
sudo apt update
sudo apt upgrade -y

# 2. Installer les essentiels
sudo apt install -y curl wget git ufw bash-completion build-essential

# 3. Configurer le pare-feu (UFW)
sudo ufw allow ssh # (ou 22/tcp)
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

# 4. Installer un serveur web (Ex: Nginx + PHP)
sudo apt install -y nginx php-fpm
# (Démarré et activé automatiquement)
Post-Installation (dnf)

Après une installation minimale de Rocky Linux ou RHEL.

# 1. Mettre à jour les paquets
sudo dnf update -y

# 2. Ajouter le dépôt EPEL (Extra Packages)
sudo dnf install -y epel-release

# 3. Installer les essentiels
sudo dnf install -y curl wget git bash-completion
sudo dnf groupinstall -y "Development Tools"

# 4. Configurer le pare-feu (firewalld)
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=httpss --permanent
sudo firewall-cmd --reload

# 5. Installer un serveur web (Ex: Nginx + PHP)
sudo dnf install -y nginx php-fpm
sudo systemctl enable --now nginx
sudo systemctl enable --now php-fpm
Bonnes pratiques post-install (Tous)
  1. Ne pas utiliser root : Créez un utilisateur administrateur avec sudo (fait lors de l'installation).
  2. Sécuriser SSH :
    • Éditer /etc/ssh/sshd_config.
    • Désactiver le login root : PermitRootLogin no.
    • Désactiver le login par mot de passe (si vous avez des clés SSH) : PasswordAuthentication no.
    • Redémarrer : sudo systemctl restart sshd.
  3. Configurer fail2ban : (apt install fail2ban) Banni les IPs qui échouent aux logins SSH.
  4. Régler le fuseau horaire : sudo timedatectl set-timezone 'Europe/Paris'.
2.1 Arborescence (FHS) : /etc, /var, /usr
Filesystem Hierarchy Standard (FHS)

Le FHS définit la structure des répertoires sous Linux pour garantir la cohérence.

/ (La racine)
├── bin/     (Binaires essentiels, ex: ls, cp)
├── sbin/    (Binaires système, ex: reboot, fdisk)
├── lib/     (Bibliothèques (libs) essentielles)
├── lib64/   (Libs 64-bit)
├── boot/    (Noyau Linux, GRUB)
├── dev/     (Fichiers de périphériques, ex: /dev/sda)
├── root/    (Dossier /home de l'utilisateur 'root')
├── home/
│   ├── ideo_user/
│   └── autre_user/
│
├── etc/     (Configuration, voir onglet 2)
├── var/     (Données variables, voir onglet 3)
├── usr/     (Logiciels utilisateur, voir onglet 4)
├── opt/     (Logiciels optionnels)
├── srv/     (Données de services)
├── mnt/     (Montage manuel)
├── media/   (Montage auto, ex: clés USB)
└── tmp/     (Fichiers temporaires)
/etc (Et Cetera / Configuration)

Contient tous les fichiers de configuration du système et des logiciels installés. C'est le répertoire le plus important à sauvegarder.

  • /etc/fstab : Table des partitions à monter au démarrage.
  • /etc/passwd : Liste des utilisateurs.
  • /etc/group : Liste des groupes.
  • /etc/shadow : Mots de passe chiffrés.
  • /etc/sudoers : Permissions sudo.
  • /etc/ssh/sshd_config : Configuration du serveur SSH.
  • /etc/nginx/ : Configuration Nginx.
  • /etc/systemd/system/ : Fichiers de service Systemd (vos services).
  • /etc/default/ (Debian) : Variables d'environnement pour les services.
/var (Variable Data)

Contient les données qui changent constamment (données "variables"). C'est le répertoire qui risque le plus de saturer, d'où l'intérêt de le mettre sur sa propre partition.

  • /var/log/ : Le répertoire des journaux (logs).
    • /var/log/syslog (ou messages) : Logs système.
    • /var/log/nginx/access.log : Logs Nginx.
    • /var/log/auth.log : Logs d'authentification (SSH).
  • /var/www/html/ : (Par défaut) Racine des sites web (Apache/Nginx).
  • /var/lib/mysql/ : Données MariaDB.
  • /var/lib/postgresql/ : Données PostgreSQL.
  • /var/spool/ : Files d'attente (mail, cron).
/tmp (Temporaire)

Fichiers temporaires. Vidé à chaque redémarrage.

/usr (Unix System Resources)

Contient la majorité des logiciels et librairies "statiques" (qui ne changent pas), installés par le gestionnaire de paquets (apt, dnf). Ne pas confondre avec /home/user.

  • /usr/bin/ : Binaires des applications (ex: python3, nginx).
  • /usr/sbin/ : Binaires d'administration (ex: sshd).
  • /usr/lib/ : Bibliothèques des applications.
  • /usr/share/ : Fichiers partagés (docs, icônes).
  • /usr/local/ : Logiciels compilés manuellement (pour les isoler de apt/dnf).
2.2 Arborescence (FHS) : /opt, /srv, /mnt
/opt (Optional)

Pour les logiciels "optionnels", auto-contenus, installés manuellement (souvent propriétaires).

Ex: Vous téléchargez un .tar.gz (ex: un IDE, Discord). Vous le décompressez dans /opt/.

/opt/
├── Google/
│   └── Chrome/
└── jetbrains/
    └── pycharm-2025.1/
/srv (Service Data)

Pour les **données** servies par votre machine.

C'est une alternative plus "propre" à /var/www.

/srv/
├── http/
│   └── www.ideolab.com/
├── ftp/
└── git/
    └── mon_repo.git
/mnt & /media
  • /mnt (Mount) : Point de montage **temporaire** et **manuel** (ex: sudo mount /dev/sdb1 /mnt).
  • /media : Point de montage **automatique** pour les périphériques amovibles (clés USB, CD-ROM).
3.1 Gestion des Utilisateurs & Groupes
Fichiers de configuration
/etc/passwd (Liste des utilisateurs)
# login : pass : UID : GID : GECOS : home : shell
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
ideo_user:x:1000:1000:Ideo User:/home/ideo_user:/bin/bash
  • x : Le mot de passe (stocké dans /etc/shadow).
  • UID (User ID) : 0 = root. 1-999 = Système (ex: www-data). 1000+ = Utilisateurs humains.
  • GID (Group ID) : L'ID du groupe principal.
  • /usr/sbin/nologin : Coquille "vide" pour les utilisateurs de service qui ne doivent pas se connecter.
/etc/shadow (Mots de passe)

Contient les hashs des mots de passe. Lisible uniquement par root.

Commandes Utilisateur (root ou sudo)
# Ajouter un utilisateur (interactif, crée /home/...)
sudo adduser ideo_user

# Ajouter un utilisateur (non-interactif)
sudo useradd -m -s /bin/bash dev_user
# -m : Crée le /home
# -s : Définit le shell

# Définir le mot de passe
sudo passwd dev_user

# Modifier un utilisateur
# (Ex: Ajouter 'dev_user' au groupe 'sudo')
sudo usermod -aG sudo dev_user
# -a (Append) -G (Groupes secondaires)

# Changer le shell d'un utilisateur
sudo usermod -s /bin/zsh ideo_user

# Supprimer un utilisateur (et son /home)
sudo userdel -r ideo_user
/etc/group (Liste des groupes)
# nom_groupe : pass : GID : membres
root:x:0:
sudo:x:27:ideo_user,dev_user
ideo_user:x:1000:
Commandes Groupe (root ou sudo)
# Créer un groupe
sudo groupadd developpeurs

# Supprimer un groupe
sudo groupdel developpeurs

# Ajouter 'ideo_user' au groupe 'developpeurs'
sudo gpasswd -a ideo_user developpeurs
# (ou 'usermod -aG developpeurs ideo_user')

# Retirer 'ideo_user' du groupe 'sudo'
sudo gpasswd -d ideo_user sudo

# Voir les groupes d'un utilisateur
groups ideo_user
# ideo_user : ideo_user sudo www-data developpeurs
3.2 Sudo & Privilèges (sudoers)
sudo (SuperUser Do)

Permet à un utilisateur normal d'exécuter une commande en tant que root (ou un autre utilisateur), après avoir entré *son propre* mot de passe.

Cela évite de se connecter en root (mauvaise pratique).

# Commande normale (Échoue)
apt install nginx
# Permission denied...

# Commande 'sudo' (Réussit)
sudo apt install nginx
# [sudo] password for ideo_user:
Configuration (/etc/sudoers)

Ce fichier définit QUI peut faire QUOI.

⚠️ NE JAMAIS ÉDITER /etc/sudoers DIRECTEMENT.

Utilisez toujours visudo. Cela vérifie la syntaxe avant de sauvegarder (évite de se bloquer hors du système).

sudo visudo
Syntaxe (sudoers)
# L'utilisateur 'root' peut tout faire
root    ALL=(ALL:ALL) ALL

# Les membres du groupe 'sudo' (Ubuntu) ou 'wheel' (RHEL)
# peuvent tout faire.
# (C'est la ligne à utiliser)
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL:ALL) ALL

# [Qui] [Où=(En_tant_que:Groupe)] [Quoi]

# Exemple : Autoriser 'dev_user' à redémarrer nginx
# (sans mot de passe)
dev_user ALL=(ALL) NOPASSWD: /usr/sbin/systemctl restart nginx
4.1 Permissions (chmod & chown)
Lire les permissions (ls -l)

Chaque fichier/dossier a 3 niveaux de permissions : pour son **Propriétaire** (User), son **Groupe** (Group), et **Tous les autres** (Others).

$ ls -l /var/www/html/
-rw-r--r-- 1 www-data www-data 1204 Nov 1 10:00 index.html
drwxr-x--- 2 ideo_user admin    4096 Nov 1 11:00 assets

Analyse de drwxr-x--- (dossier 'assets') :

  • d : Type (d=Directory, -=File, l=Link)
  • rwx (User) : Le propriétaire (ideo_user) peut Lire (read), Écrire (write) et Exécuter (execute).
  • r-x (Group) : Le groupe (admin) peut Lire (r) et Exécuter (x), mais pas Écrire.
  • --- (Others) : Les autres n'ont aucun droit.

Note sur les dossiers : x (Exécuter) est requis pour cd (entrer) dans un dossier.

2. chmod (Mode Octal)

La méthode la plus rapide. On additionne les valeurs pour chaque niveau (User, Group, Other).

  • 4 = Read (r)
  • 2 = Write (w)
  • 1 = Execute (x)
ValeurPermission (rwx)Description
7 (4+2+1)rwxContrôle total (pour User).
6 (4+2+0)rw-Lecture/Écriture (fichiers).
5 (4+0+1)r-xLecture/Exécution (dossiers).
4 (4+0+0)r--Lecture seule.
0 (0+0+0)---Aucun droit.
# Donne 'rwx' (7) au User, 'r-x' (5) au Group, 'r-x' (5) aux Others
sudo chmod 755 mon_script.sh

# Donne 'rw-' (6) au User, 'r--' (4) au Group, 'r--' (4) aux Others
sudo chmod 644 index.html

# Récursif (DANGER)
sudo chmod -R 644 /var/www/html
# (Attention: 'chmod -R 777' est une énorme faille de sécurité)
3. chmod (Mode Symbolique)

Plus verbeux, mais plus précis pour ajouter/retirer un seul droit.

  • Qui : u (User), g (Group), o (Others), a (All).
  • Action : + (Ajouter), - (Retirer), = (Définir).
  • Quoi : r, w, x.
# Ajouter 'x' (Exécuter) pour le User
chmod u+x mon_script.sh

# Retirer 'w' (Écrire) pour le Group et les Others
chmod go-w config.ini

# Mettre les droits exacts
chmod u=rw,g=r,o= /var/log/secret.log
# (Donne rw-------)
4. chown (Change Owner)

Change le **propriétaire** (User) et/ou le **Groupe**.

# Changer le propriétaire
sudo chown ideo_user rapport.pdf

# Changer le propriétaire ET le groupe
sudo chown ideo_user:developpeurs rapport.pdf

# Changer juste le groupe
sudo chgrp developpeurs rapport.pdf
# (ou sudo chown :developpeurs rapport.pdf)

# Récursif (pour un dossier entier)
# (Donne tout /var/www à l'utilisateur 'www-data')
sudo chown -R www-data:www-data /var/www/html
4.2 Permissions Avancées (umask, SUID, SGID)
umask (Masque par défaut)

Le umask (user file-creation mode mask) définit les permissions *inverses* qui sont appliquées par défaut lors de la création d'un fichier ou dossier.

Permissions de base (max) :
Fichiers: 666 (rw-rw-rw-)
Dossiers: 777 (rwxrwxrwx)

umask commun : 0022

# Calcul Fichier (touch new_file)
  666 (base)
- 022 (umask)
= 644 (rw-r--r--)

# Calcul Dossier (mkdir new_dir)
  777 (base)
- 022 (umask)
= 755 (rwxr-xr-x)
# Voir le umask
umask
# 0022

# Changer le umask (pour la session)
umask 0027
# (Les nouveaux fichiers seront 640)
SUID (Set User ID)

Quoi : chmod u+s (affiche un s : -rwsr-xr-x).

Effet : Quand un utilisateur exécute ce fichier, il l'exécute **en tant que propriétaire du fichier** (souvent root), et non en tant que lui-même.

Exemple (passwd) :

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root ... /usr/bin/passwd

Un utilisateur normal peut changer *son propre* mot de passe, car en exécutant passwd, il devient temporairement root (qui a le droit d'écrire dans /etc/shadow).

SGID (Set Group ID)

Quoi : chmod g+s (affiche -rwxrwsr-x).

Effet (sur un dossier) : Tous les nouveaux fichiers/dossiers créés dans ce dossier **héritent automatiquement du groupe du dossier parent** (et non du groupe principal de l'utilisateur).

Très utile pour les partages de fichiers (/var/www/html/uploads).

Sticky Bit

Quoi : chmod +t (affiche t : drwxrwxrwt).

Effet (sur un dossier) : Dans un dossier "public" (où tout le monde a w), le Sticky Bit empêche les utilisateurs de supprimer les fichiers... sauf s'ils en sont le propriétaire.

Exemple (/tmp) :

$ ls -ld /tmp
drwxrwxrwt 1 root root ... /tmp

Tout le monde peut écrire dans /tmp, mais "Alice" ne peut pas supprimer un fichier créé par "Bob".

5.1 Systemd (systemctl & journalctl)
Systemd (Le Gestionnaire de Système)

Systemd est le PID 1 (le premier processus lancé au démarrage). Il remplace l'ancien système "init".

Il est responsable de :

  • Lancer tous les autres services (SSH, Nginx, BDD...).
  • Gérer les "dépendances" (ex: "démarrer la BDD avant l'app web").
  • Superviser les services (les redémarrer s'ils plantent).
  • Gérer les "targets" (ex: multi-user.target, graphical.target).
  • Centraliser les logs (via Journald).

L'outil de contrôle de Systemd est systemctl.

systemctl (Gestion des services)

La commande unique pour gérer les "units" (services, timers, sockets...).

Commandes de base (ex: nginx.service)
# Démarrer un service
sudo systemctl start nginx

# Arrêter un service
sudo systemctl stop nginx

# Redémarrer un service
sudo systemctl restart nginx

# Recharger la configuration (sans couper)
sudo systemctl reload nginx

# Voir le statut (Très utile !)
sudo systemctl status nginx
Activer / Désactiver (Démarrage auto)
# Lancer au prochain boot
sudo systemctl enable nginx

# Ne plus lancer au prochain boot
sudo systemctl disable nginx

# Vérifier s'il est activé
sudo systemctl is-enabled nginx

# Masquer (empêche tout démarrage, même manuel)
sudo systemctl mask nginx
journalctl (Lecteur de logs)

Systemd (via Journald) capture le stdout/stderr de tous les services qu'il gère, et les stocke dans un journal binaire (centralisé, non dans /var/log).

(Note: Sur Ubuntu/Debian, les logs sont *aussi* envoyés vers /var/log/syslog pour la rétrocompatibilité).

# Suivre TOUS les logs en direct (tail -f)
journalctl -f

# Voir les logs d'un service spécifique
journalctl -u nginx.service

# Suivre les logs d'un service
journalctl -f -u nginx.service

# Voir les 50 dernières lignes
journalctl -n 50

# Voir les logs depuis une date/heure
journalctl --since "2025-11-01 10:00:00"
journalctl --since "1 hour ago"

# Filtrer par priorité (erreurs et plus grave)
journalctl -p err
# (p: emerg, alert, crit, err, warning, notice, info, debug)

# Voir les logs du kernel (erreurs disque, OOM)
journalctl -k
6.1 Cheat-sheet CLI
Navigation
pwd        # (Print Working Directory) Où suis-je ?
cd /var/log # (Change Directory)
cd ..       # Remonter d'un niveau
cd -        # Aller au dossier précédent
ls          # Lister les fichiers
ls -l       # Lister (format long)
ls -la      # Lister (long, 'a' = tous, y compris cachés)
ls -lh      # Lister (long, 'h' = humainement lisible)
Gestion Fichiers/Dossiers
touch fichier.txt   # Créer un fichier vide
mkdir mon_dossier   # Créer un dossier
cp src.txt dest.txt # Copier
cp -r src_dir/ dest_dir/ # Copier (Récursif)
mv old.txt new.txt  # Renommer (Move)
mv file.txt dir/    # Déplacer
rm fichier.txt      # Supprimer (Remove)
rm -r mon_dossier   # Supprimer dossier (Récursif)
rm -rf mon_dossier  # Supprimer (Récursif, Forcé) (DANGER)
Recherche
# 'grep' (Chercher DANS les fichiers)
grep "erreur" /var/log/syslog
grep -r "mon_ip" /etc/nginx/

# 'find' (Chercher DES fichiers)
find . -name "*.py"
find /etc -name "ssh*"
find /var/log -mtime -1 # (Modifiés il y a < 1 jour)
find . -type f -size +100M # (Fichiers > 100MB)
Lecture & Texte
cat fichier.txt   # Afficher tout le contenu
less fichier.txt  # Afficher (interactif, 'q' pour quitter)
head -n 20 file.txt # 20 premières lignes
tail -n 20 file.txt # 20 dernières lignes
tail -f /var/log/syslog # Suivre (Follow) le fichier
Processus & Système
ps aux      # Lister tous les processus
top         # Moniteur de tâches (temps réel)
htop        # 'top' amélioré (apt install htop)
free -h     # Voir RAM (Humain)
df -h       # Voir espace disque (Disk Free) (Humain)
du -sh /var/log # Voir taille dossier (Disk Usage)
uname -a    # Version du Kernel
Réseau
ip a        # (Nouveau) Voir les IPs
ifconfig    # (Ancien)
ss -tulpn   # (Nouveau) Voir les ports ouverts
netstat -tulpn # (Ancien)
ping google.com
curl -I http://localhost # (Tester un header HTTP)