Cheatsheets

Commandes Linux

Aide-mémoire des commandes Linux essentielles : fichiers, permissions, processus, services, paquets, réseau, disques et LVM.

Commande Rôle
pwd où suis-je
cd <dir> · cd .. · cd ~ · cd - se déplacer (parent · home · précédent)
ls · ls -l · ls -a lister · détaillé · fichiers cachés
ls -lh · ls -lt tailles lisibles · trié par date
tree arborescence (si installé)

Fichiers et dossiers

mkdir dossier          # créer un dossier
mkdir -p a/b/c         # créer toute l'arborescence
touch fichier          # créer un fichier vide
cp src dst             # copier      (cp -r pour un dossier)
mv src dst             # déplacer ou renommer
rm fichier             # supprimer   (rm -r pour un dossier)
rmdir dossier          # supprimer un dossier vide
ln -s cible lien       # lien symbolique

⚠️ rm -r est irréversible : pas de corbeille en ligne de commande.

Voir et rechercher

Commande Rôle
cat <f> afficher un fichier
less <f> lire page par page (pager)
head -n 20 · tail -n 20 début · fin
tail -f <f> suivre en direct (logs)
grep "motif" <f> chercher dans un fichier
grep -ri "motif" . chercher récursivement, insensible à la casse
find /chemin -name "*.log" chercher des fichiers (chemin avant les critères)
find . -type d ne chercher que les dossiers
wc -l <f> compter les lignes

Permissions

  • Voir : ls -l-rwxr-xr-- (propriétaire · groupe · autres).
  • Octal : chmod 755 <f> (dossiers/exécutables) · chmod 644 <f> (fichiers).
  • Symbolique : chmod u+x <f> · chmod g-w <f> · chmod o=r <f>.
  • Récursif : chmod -R 755 <dir>.
  • Propriétaire / groupe : chown user:groupe <f> · chgrp groupe <f> (-R pour récursif).
  • Spéciaux : SUID u+s · SGID g+s · sticky +t.
Chiffre Droits Binaire
7 rwx 111
6 rw- 110
5 r-x 101
4 r-- 100

Utilisateurs et droits

whoami ; id                 # qui suis-je, mes groupes
sudo <commande>             # exécuter en root
su - <user>                 # changer d'utilisateur
useradd -m -s /bin/bash bob # créer (avec home + shell)
passwd bob                  # (re)définir le mot de passe
usermod -aG sudo bob        # ajouter au groupe sudo
userdel -r bob              # supprimer (avec son home)

Processus

Commande Rôle
ps aux tous les processus
top / htop moniteur temps réel
ps aux | grep <nom> · pgrep <nom> retrouver un processus
kill <PID> terminer proprement (TERM)
kill -9 <PID> forcer (KILL)
pkill <nom> · killall <nom> tuer par nom
<cmd> & · jobs · fg tâche en arrière-plan / avant-plan

⚠️ Essayer kill (TERM) avant kill -9 (KILL, brutal).

Services (systemd)

systemctl status <svc>          # état
systemctl start|stop|restart|reload <svc>
systemctl enable --now <svc>    # activer au boot ET démarrer maintenant
systemctl disable <svc>
systemctl list-units --type=service

⚠️ enable (au démarrage) ≠ start (maintenant). reload ne coupe pas le service, restart si.

Journaux (journalctl)

  • journalctl -u <svc> : logs d'un service.
  • journalctl -f : suivre en direct · -xb : dernier démarrage.
  • journalctl --since "1 hour ago" : filtrer par date.

Paquets (APT — Debian/Ubuntu)

apt update                 # rafraîchir la liste des paquets (toujours avant)
apt upgrade                # mettre à jour les paquets installés
apt install <paquet>       # installer
apt remove <paquet>        # désinstaller (garde la config)
apt purge <paquet>         # désinstaller + config
apt autoremove             # retirer les dépendances orphelines
apt search <mot> ; apt show <paquet>

⚠️ remove garde la configuration, purge l'efface. apt pour l'usage interactif, apt-get dans les scripts.

Réseau

Commande Rôle
ip a adresses IP des interfaces
ip r table de routage
ip link set eth0 up/down activer / désactiver une interface
ping <hôte> tester la connectivité
ss -tulpn ports en écoute (remplace netstat)
dig <domaine> · host <domaine> résolution DNS
curl -I <url> · wget <url> requête HTTP / téléchargement

Disques et LVM

df -h                      # espace libre par système de fichiers
du -sh <dir>               # taille d'un dossier
lsblk                      # arborescence des disques/partitions
mount /dev/sdb1 /mnt       # monter    ·    umount /mnt

# LVM : résumés
pvs ; vgs ; lvs
pvcreate /dev/sdb                    # préparer un disque
vgcreate vg /dev/sdb                 # créer le groupe
lvcreate -L 10G -n lv vg             # créer un volume logique
lvextend -r -L +5G /dev/vg/lv        # agrandir (-r = FS aussi)

⚠️ LVM : pour agrandir, le FS s'étend après le volume ; pour réduire, le FS se réduit avant. Toujours sauvegarder avant un lvreduce.

Archives et transfert

tar -czf archive.tar.gz dossier/     # créer une archive gzip
tar -xzf archive.tar.gz              # extraire
scp fichier user@hôte:/chemin        # copier via SSH
rsync -avz --delete src/ user@hôte:/dst/   # synchroniser (miroir)

Astuces

  • !! rejoue la dernière commande · sudo !! la relance en root.
  • Ctrl+R : recherche dans l'historique · history : le lister.
  • Tab : autocomplétion · Ctrl+C : interrompre · Ctrl+L : nettoyer l'écran.
  • commande --help et man commande : l'aide, toujours.

Pour le scripting (variables, boucles…), voir la cheatsheet Bash.