Commandes Linux

Le shell comme outil de production.

Du rappel des bases aux enchainements avances, avec un accent sur la lisibilite, la securite et la reproductibilite.

Fondations

Se deplacer et comprendre le systeme

Navigation

pwd
ls -lah
cd /etc
cd -
find . -maxdepth 2 -type f

Toujours inspecter avant d'agir. Utiliser ls et find pour cadrer le contexte avant des commandes destructives.

Permissions

stat fichier
chmod 640 fichier
chown user:group fichier
umask 027

Maitriser les droits est indispensable pour la securite et la cooperations entre services.

Processus

ps aux | head
pgrep -a nginx
kill -TERM 1234
nice -n 10 commande

Comprendre la priorite, les signaux et la hierarchie aide a stabiliser un service sous charge.

Pipes et redirections

Composer des chaines efficaces

Redirections utiles

commande > out.txt
commande >> out.txt
commande 2> err.txt
commande 2>&1 | tee log.txt

Toujours separer stdout/stderr pour analyser les erreurs sans polluer les pipelines.

Pipelines complexes

grep -R "error" /var/log | sort | uniq -c | sort -nr
journalctl -u ssh | grep "Failed" | tail -n 20
ps aux | awk '{print $11}' | sort | uniq -c

Les pipelines sont puissants quand on limite chaque commande a une tache precise et previsible.

Traitement de texte

awk, sed, grep, cut, tr

grep avance

grep -R "timeout" /etc
rg -n "server" /etc/nginx
grep -E "^sshd" /etc/services

Utiliser les regex et un outil rapide comme rg pour chercher vite.

awk pour rapports

awk -F: '{print $1,$3}' /etc/passwd
df -h | awk 'NR>1 {print $1,$5}'
ss -tulpen | awk '{print $1,$5,$7}'

awk reste l'outil ideal pour des tableaux et des rapports rapides.

sed et tr

sed -n '1,120p' fichier
sed -E 's/ +/ /g' fichier
tr 'a-z' 'A-Z' < fichier

sed transforme un flux, tr normalise, et tout reste scriptable.

Gestion de fichiers

Archivage, sauvegarde, verification

tar et rsync

tar -czf backup.tgz /etc /home
rsync -av --delete /home/ /mnt/backup/home/
rsync -avz user@host:/var/log/ ./logs/

rsync est le meilleur choix pour les backups incrementaux.

Integrite

sha256sum image.iso
sha256sum -c SHA256SUMS
md5sum -c checksum.txt

Toujours verifier l'integrite d'un fichier critique.

Scripts Bash

Fiables, lisibles, debuggables

Structure minimaliste

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'

if [[ $# -lt 1 ]]; then
  echo "Usage: $0 " >&2
  exit 1
fi

set -euo pipefail protege contre les erreurs silencieuses.

Debug et logs

set -x
exec > >(tee -a /var/log/backup.log) 2>&1
trap 'echo "Erreur ligne $LINENO"' ERR

Ajouter des traces pour diagnostiquer vite en production.

Shell avance

Job control, subshell, process substitution

Job control

commande &
jobs
fg %1
bg %1

Le job control permet de garder la main sur des taches longues.

Subshell

(cd /tmp && ls -lah)
VAR=$(commande)

Les subshells isolent l'environnement et evitent les effets de bord.

Process substitution

diff <(sort a.txt) <(sort b.txt)
tee >(wc -l) < fichier

Compare ou duplique des flux sans fichiers temporaires.

Outils pro

sed, awk, jq et utils rares

jq pour JSON

cat data.json | jq '.items[] | .name'
jq -r '.users[] | \"\\(.id) \\(.email)\"' data.json

jq est indispensable pour manipuler des API et des logs JSON.

xargs et parallel

find . -type f -name "*.log" | xargs -r wc -l
printf '%s\n' *.log | xargs -n 1 gzip

xargs permet de factoriser des commandes et de paralleliser.

Sessions

tmux, screen et sessions persistantes

tmux essentiel

tmux new -s prod
tmux ls
tmux attach -t prod
tmux split-window -h

tmux garde vos sessions actives, meme apres une deconnexion SSH.

screen rapide

screen -S backup
screen -ls
screen -r backup

screen reste disponible partout, utile sur des environnements anciens.

Introspection

/proc, namespaces, cgroups

/proc pour comprendre un process

cat /proc/1234/cmdline
cat /proc/1234/limits
cat /proc/1234/status | head

/proc donne l'etat exact d'un process sans outil externe.

Namespaces et cgroups

lsns
cat /proc/1234/cgroup
sudo nsenter -t 1234 -n ip a
systemd-cgls

Indispensable pour diagnostiquer des services conteneurises.

Mise a jour quotidienne

Ajout du 2025-12-23

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2025-12-24

Depannage: check rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Lire journalctl en priorite
  • Verifier systemctl --failed
  • Identifier les saturations disque

Commandes

journalctl -p err -S "today"
systemctl --failed
df -hT

Mise a jour quotidienne

Ajout du 2025-12-25

Commandes utiles

Cette section est ajoutee automatiquement et vise un public confirme.

  • Chaines pipeline claires
  • Utiliser awk pour les rapports
  • Preferer rg pour les recherches

Commandes

rg -n "error" /var/log
ps aux | awk '{print ,,}' | head
sort | uniq -c | sort -nr

Mise a jour quotidienne

Ajout du 2025-12-26

DNS: resolution fiable et debug

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier la chaine avec dig +trace
  • Observer resolvectl et cache local
  • Documenter les resolvers critiques

Commandes

dig +trace debian.org
resolvectl status
sudo systemctl restart systemd-resolved

Mise a jour quotidienne

Ajout du 2025-12-27

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2025-12-28

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data

Mise a jour quotidienne

Ajout du 2025-12-29

Observabilite avancee

Cette section est ajoutee automatiquement et vise un public confirme.

  • Mesurer CPU, memoire, I/O
  • Identifier les hotspots avec perf
  • Tracer les appels systeme critiques

Commandes

htop
sudo perf top
sudo strace -fp 1234

Mise a jour quotidienne

Ajout du 2025-12-30

Conteneurs: hygiene de prod

Cette section est ajoutee automatiquement et vise un public confirme.

  • Isoler reseaux internes
  • Executer en non-root
  • Limiter les capabilities

Commandes

docker ps -a
docker run --read-only --cap-drop ALL app:latest
docker network ls

Mise a jour quotidienne

Ajout du 2025-12-31

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2026-01-01

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2026-01-02

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data

Mise a jour quotidienne

Ajout du 2026-01-03

Observabilite avancee

Cette section est ajoutee automatiquement et vise un public confirme.

  • Mesurer CPU, memoire, I/O
  • Identifier les hotspots avec perf
  • Tracer les appels systeme critiques

Commandes

htop
sudo perf top
sudo strace -fp 1234

Mise a jour quotidienne

Ajout du 2026-01-04

Conteneurs: hygiene de prod

Cette section est ajoutee automatiquement et vise un public confirme.

  • Isoler reseaux internes
  • Executer en non-root
  • Limiter les capabilities

Commandes

docker ps -a
docker run --read-only --cap-drop ALL app:latest
docker network ls

Mise a jour quotidienne

Ajout du 2026-01-05

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2026-01-06

Depannage: check rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Lire journalctl en priorite
  • Verifier systemctl --failed
  • Identifier les saturations disque

Commandes

journalctl -p err -S "today"
systemctl --failed
df -hT

Mise a jour quotidienne

Ajout du 2026-01-07

Commandes utiles

Cette section est ajoutee automatiquement et vise un public confirme.

  • Chaines pipeline claires
  • Utiliser awk pour les rapports
  • Preferer rg pour les recherches

Commandes

rg -n "error" /var/log
ps aux | awk '{print ,,}' | head
sort | uniq -c | sort -nr

Mise a jour quotidienne

Ajout du 2026-01-08

DNS: resolution fiable et debug

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier la chaine avec dig +trace
  • Observer resolvectl et cache local
  • Documenter les resolvers critiques

Commandes

dig +trace debian.org
resolvectl status
sudo systemctl restart systemd-resolved

Mise a jour quotidienne

Ajout du 2026-01-09

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2026-01-10

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data

Mise a jour quotidienne

Ajout du 2026-01-11

Observabilite avancee

Cette section est ajoutee automatiquement et vise un public confirme.

  • Mesurer CPU, memoire, I/O
  • Identifier les hotspots avec perf
  • Tracer les appels systeme critiques

Commandes

htop
sudo perf top
sudo strace -fp 1234

Mise a jour quotidienne

Ajout du 2026-01-12

Conteneurs: hygiene de prod

Cette section est ajoutee automatiquement et vise un public confirme.

  • Isoler reseaux internes
  • Executer en non-root
  • Limiter les capabilities

Commandes

docker ps -a
docker run --read-only --cap-drop ALL app:latest
docker network ls

Mise a jour quotidienne

Ajout du 2026-01-13

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2026-01-14

Depannage: check rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Lire journalctl en priorite
  • Verifier systemctl --failed
  • Identifier les saturations disque

Commandes

journalctl -p err -S "today"
systemctl --failed
df -hT

Mise a jour quotidienne

Ajout du 2026-01-15

Commandes utiles

Cette section est ajoutee automatiquement et vise un public confirme.

  • Chaines pipeline claires
  • Utiliser awk pour les rapports
  • Preferer rg pour les recherches

Commandes

rg -n "error" /var/log
ps aux | awk '{print ,,}' | head
sort | uniq -c | sort -nr

Mise a jour quotidienne

Ajout du 2026-01-16

DNS: resolution fiable et debug

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier la chaine avec dig +trace
  • Observer resolvectl et cache local
  • Documenter les resolvers critiques

Commandes

dig +trace debian.org
resolvectl status
sudo systemctl restart systemd-resolved

Mise a jour quotidienne

Ajout du 2026-01-17

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2026-01-18

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data

Mise a jour quotidienne

Ajout du 2026-01-19

Observabilite avancee

Cette section est ajoutee automatiquement et vise un public confirme.

  • Mesurer CPU, memoire, I/O
  • Identifier les hotspots avec perf
  • Tracer les appels systeme critiques

Commandes

htop
sudo perf top
sudo strace -fp 1234

Mise a jour quotidienne

Ajout du 2026-01-20

Conteneurs: hygiene de prod

Cette section est ajoutee automatiquement et vise un public confirme.

  • Isoler reseaux internes
  • Executer en non-root
  • Limiter les capabilities

Commandes

docker ps -a
docker run --read-only --cap-drop ALL app:latest
docker network ls

Mise a jour quotidienne

Ajout du 2026-01-21

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2026-01-22

Depannage: check rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Lire journalctl en priorite
  • Verifier systemctl --failed
  • Identifier les saturations disque

Commandes

journalctl -p err -S "today"
systemctl --failed
df -hT

Mise a jour quotidienne

Ajout du 2026-01-23

Commandes utiles

Cette section est ajoutee automatiquement et vise un public confirme.

  • Chaines pipeline claires
  • Utiliser awk pour les rapports
  • Preferer rg pour les recherches

Commandes

rg -n "error" /var/log
ps aux | awk '{print ,,}' | head
sort | uniq -c | sort -nr

Mise a jour quotidienne

Ajout du 2026-01-24

DNS: resolution fiable et debug

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier la chaine avec dig +trace
  • Observer resolvectl et cache local
  • Documenter les resolvers critiques

Commandes

dig +trace debian.org
resolvectl status
sudo systemctl restart systemd-resolved

Mise a jour quotidienne

Ajout du 2026-01-25

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2026-01-26

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data

Mise a jour quotidienne

Ajout du 2026-01-27

Observabilite avancee

Cette section est ajoutee automatiquement et vise un public confirme.

  • Mesurer CPU, memoire, I/O
  • Identifier les hotspots avec perf
  • Tracer les appels systeme critiques

Commandes

htop
sudo perf top
sudo strace -fp 1234

Mise a jour quotidienne

Ajout du 2026-01-28

Conteneurs: hygiene de prod

Cette section est ajoutee automatiquement et vise un public confirme.

  • Isoler reseaux internes
  • Executer en non-root
  • Limiter les capabilities

Commandes

docker ps -a
docker run --read-only --cap-drop ALL app:latest
docker network ls

Mise a jour quotidienne

Ajout du 2026-01-29

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2026-01-30

Depannage: check rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Lire journalctl en priorite
  • Verifier systemctl --failed
  • Identifier les saturations disque

Commandes

journalctl -p err -S "today"
systemctl --failed
df -hT

Mise a jour quotidienne

Ajout du 2026-01-31

Commandes utiles

Cette section est ajoutee automatiquement et vise un public confirme.

  • Chaines pipeline claires
  • Utiliser awk pour les rapports
  • Preferer rg pour les recherches

Commandes

rg -n "error" /var/log
ps aux | awk '{print ,,}' | head
sort | uniq -c | sort -nr

Mise a jour quotidienne

Ajout du 2026-02-01

DNS: resolution fiable et debug

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier la chaine avec dig +trace
  • Observer resolvectl et cache local
  • Documenter les resolvers critiques

Commandes

dig +trace debian.org
resolvectl status
sudo systemctl restart systemd-resolved

Mise a jour quotidienne

Ajout du 2026-02-02

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2026-02-03

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data

Mise a jour quotidienne

Ajout du 2026-02-04

Observabilite avancee

Cette section est ajoutee automatiquement et vise un public confirme.

  • Mesurer CPU, memoire, I/O
  • Identifier les hotspots avec perf
  • Tracer les appels systeme critiques

Commandes

htop
sudo perf top
sudo strace -fp 1234

Mise a jour quotidienne

Ajout du 2026-02-05

Conteneurs: hygiene de prod

Cette section est ajoutee automatiquement et vise un public confirme.

  • Isoler reseaux internes
  • Executer en non-root
  • Limiter les capabilities

Commandes

docker ps -a
docker run --read-only --cap-drop ALL app:latest
docker network ls

Mise a jour quotidienne

Ajout du 2026-02-06

Kubernetes poste dev

Cette section est ajoutee automatiquement et vise un public confirme.

  • Cluster local via kind ou minikube
  • Namespaces par projet
  • Monitoring via metrics-server

Commandes

kind create cluster --name dev
kubectl get nodes
kubectl top pods -A

Mise a jour quotidienne

Ajout du 2026-02-07

Depannage: check rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Lire journalctl en priorite
  • Verifier systemctl --failed
  • Identifier les saturations disque

Commandes

journalctl -p err -S "today"
systemctl --failed
df -hT

Mise a jour quotidienne

Ajout du 2026-02-08

Commandes utiles

Cette section est ajoutee automatiquement et vise un public confirme.

  • Chaines pipeline claires
  • Utiliser awk pour les rapports
  • Preferer rg pour les recherches

Commandes

rg -n "error" /var/log
ps aux | awk '{print ,,}' | head
sort | uniq -c | sort -nr

Mise a jour quotidienne

Ajout du 2026-02-09

DNS: resolution fiable et debug

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier la chaine avec dig +trace
  • Observer resolvectl et cache local
  • Documenter les resolvers critiques

Commandes

dig +trace debian.org
resolvectl status
sudo systemctl restart systemd-resolved

Mise a jour quotidienne

Ajout du 2026-02-10

Audit securite rapide

Cette section est ajoutee automatiquement et vise un public confirme.

  • Inventorier les ports exposes
  • Verifier les comptes privilegiés
  • Controler les binaires SUID

Commandes

ss -tulpen
sudo awk -F: '==0 {print }' /etc/passwd
sudo find / -perm -4000 -type f 2>/dev/null

Mise a jour quotidienne

Ajout du 2026-02-11

Btrfs/ZFS: integrite et snapshots

Cette section est ajoutee automatiquement et vise un public confirme.

  • Verifier l etat des pools
  • Lancer un scrub regulier
  • Creer des snapshots horodates

Commandes

sudo btrfs scrub start -Bd /
sudo zpool status
sudo zfs snapshot tank/data