Linux

🔴 Commandes de base

Les commandes pour naviguer dans l'arborescence, manipuler des fichiers, consulter l'aide, l'historique...

  1. ls
  2. cd
  3. pwd
  4. cp
  5. mv
  6. rm
  7. mkdir
  8. touch
  9. cat
  10. less
  11. head
  12. tail
  13. wc
  14. echo
  15. which
  16. type
  17. man
  18. help
  19. --help
  20. alias
  21. history
  22. watch
  23. timeout
  24. flock

🔴 Éditeurs de texte

Les éditeurs de texte nano et vim pour lire et modifier rapidement un fichier depuis un terminal Linux.

  1. nano
  2. vim

🔴 Système de fichiers

Les fondamentaux du système de fichiers : arborescence, liens symboliques et physiques, inodes, stat...

  1. fhs
    • /proc
    • /dev
  2. types de fichiers
  3. symlink
  4. hardlink
  5. inodes
  6. stat

🔴 Manipulation de texte

Les outils en ligne de commande pour lire, filtrer, transformer, rechercher, comparer, trier du texte...

  1. pipes
  2. redirections
  3. /dev/null
  4. tee
  5. grep
  6. regex
  7. sed
  8. awk
  9. sort
  10. uniq
  11. cut
  12. tr
  13. diff
  14. xargs
  15. find
    • find -exec (vs xargs)
  16. jq

🔴 Bash

Les bases du scripting bash : variables, arguments, structures de contrôle, fonctions, bonnes pratiques...

  1. shebang
  2. variables
  3. quoting
  4. variables d'environnement
    • PATH
  5. variables spéciales
  6. arguments de script
    • $1
    • shift
    • getopts
  7. expansion de paramètres
    • ${var:-défaut}
  8. tableaux
  9. exit codes
  10. conditions
  11. boucles
  12. fonctions
  13. substitution de commande
  14. here-doc
  15. set -euo pipefail
  16. trap
  17. shellcheck
  18. fichiers d'init
    • .bashrc
    • .profile
    • shell login vs non-login

🔴 Utilisateurs & permissions

Les utilisateurs, les groupes, les permissions d'accès aux fichiers et répertoires, les droits sudo...

  1. utilisateurs
  2. useradd
  3. usermod
  4. groupes
  5. groupadd
  6. /etc/passwd
  7. /etc/shadow
  8. /etc/group
  9. id
  10. passwd
  11. su
  12. chmod
  13. chown
  14. umask
  15. setuid
  16. setgid
  17. sticky bit
  18. sudo
  19. acl
  20. attributs
    • chattr
  21. who
  22. w
  23. last

🔴 Processus

Le suivi, le contrôle et le débogage des processus d'un système Linux, de leur lancement à leur arrêt...

  1. processus
  2. ps
  3. top
  4. htop
  5. états
    • R
    • S
    • D
    • Z
  6. signaux
  7. kill
    • pgrep
    • pkill
  8. jobs
  9. nohup
  10. tmux
  11. priorités
    • nice
  12. lsof
  13. file descriptors
    • /proc//fd
    • ulimit -n
    • /etc/security/limits.conf
    • LimitNOFILE= (unit systemd)
  14. /proc/
  15. strace
  16. cgroups
  17. namespaces

🔴 Systemd & services

La gestion des services avec systemd : unités, timers, tâches planifiées, redémarrage automatique, dépannage...

  1. systemctl
  2. unit files
  3. drop-ins
    • systemctl edit
  4. Restart=
  5. targets
  6. timers
  7. cron
  8. crontab
  9. systemd-analyze

🔴 Logs

Les logs système : où les trouver, comment les consulter, les filtrer, comment gérer leur rotation...

  1. /var/log
  2. journald
  3. journalctl
  4. rsyslog
  5. logrotate
  6. niveaux de sévérité
  7. dmesg

🔴 Ressources & performance

Le suivi de l'utilisation du CPU, de la mémoire et du disque pour diagnostiquer un système sous tension...

  1. uptime
  2. load average
  3. cpu
  4. ram
  5. free
  6. swap
  7. oom killer
  8. vmstat
  9. iostat
  10. sar
  11. iowait
  12. perf

🔴 Stockage & disques

Le stockage : partitionnement, montage, fstab, systèmes de fichiers, LVM, extension de volumes, RAID...

  1. lsblk
  2. fdisk
  3. systèmes de fichiers
  4. ext4
  5. xfs
  6. mount
  7. fstab
  8. uuid
  9. blkid
  10. df
  11. du
  12. inodes saturés
    • df -i
  13. lvm
  14. extension d'un volume
    • lvextend
    • resize2fs
    • xfs_growfs
  15. fichiers supprimés qui occupent de l'espace
    • lsof +L1
  16. raid
  17. luks

🔴 Réseau

Le diagnostic réseau, de la simple connectivité à la résolution DNS : ports, connexions, certificats TLS...

  1. ip
  2. ss
  3. ping
  4. traceroute
  5. mtr
  6. curl
  7. dig
  8. dns
  9. /etc/nsswitch.conf
  10. /etc/hosts
  11. /etc/resolv.conf
  12. systemd-resolved
    • resolvectl
  13. ports
  14. tcp
  15. udp
  16. cidr
  17. nc
  18. tcpdump
  19. openssl s_client
  20. certificats
    • expiration

🔴 SSH

SSH : connexion, authentification par clés, tunnels, accès via bastion, bonnes pratiques de configuration...

  1. ssh
  2. clés ssh
  3. authorized_keys
  4. ~/.ssh/config
    • ProxyJump
  5. ssh-agent
  6. tunnels
  7. scp
  8. sshd_config

🔴 Pare-feu & sécurité de base

Configurer un pare-feu et appliquer les premiers réflexes de durcissement sur un serveur Linux exposé.

  1. firewall
  2. iptables
  3. nftables
  4. ufw
  5. moindre privilège
  6. durcissement ssh
  7. mises à jour de sécurité
  8. services inutiles
  9. apparmor

🔴 Gestion des paquets

Les paquets sous Debian et Ubuntu avec apt : installation, mises à jour, dépôts, gel de versions, GPG...

  1. apt
  2. dpkg
  3. dépôts
  4. gpg
  5. pinning
    • apt-mark hold

🔴 Archivage & compression

L'archivage, la compression et la synchronisation de fichiers entre plusieurs machines : tar, gzip, rsync.

  1. tar
  2. gzip
  3. rsync

🔴 Démarrage & noyau

Identifier un serveur (distribution, noyau, matériel) et comprendre son démarrage : boot, GRUB, rescue...

  1. /etc/os-release
  2. hostnamectl
  3. lscpu
  4. uname
  5. séquence de boot
  6. grub
  7. mode rescue
  8. lsmod
  9. sysctl

🔴 Heure & NTP

La gestion de l'heure système et sa synchronisation avec un serveur NTP via chrony ou systemd-timesyncd.

  1. date
  2. timedatectl
  3. fuseau horaire
  4. chrony
  5. systemd-timesyncd

🔴 Dépannage & diagnostic

Une méthode et des scénarios types pour diagnostiquer un incident Linux, de la détection à la résolution.

  1. méthode
    • reproduire
    • isoler
    • corriger
  2. service qui ne démarre pas
  3. serveur lent
  4. disque plein
  5. plus de mémoire
  6. problème réseau