Commandes Linux
Aide-mémoire des commandes Linux essentielles : fichiers, permissions, processus, services, paquets, réseau, disques et LVM.
Naviguer et lister
| 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 -rest 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>(-Rpour récursif). - Spéciaux : SUID
u+s· SGIDg+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) avantkill -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).reloadne coupe pas le service,restartsi.
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>
⚠️
removegarde la configuration,purgel'efface.aptpour l'usage interactif,apt-getdans 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 --helpetman commande: l'aide, toujours.
Pour le scripting (variables, boucles…), voir la cheatsheet Bash.