KYOSH1RO

◀ Cheatsheets / LINUX

Commandes essentielles de Linux

Aide-mémoire des commandes Linux essentielles : gestion de fichiers, processus, permissions, réseau, archives, texte, système, Git, monitoring et dépannage.

Filtrer
Aide-mémoire Linux essentiel pour l’administration système au quotidien : fichiers, répertoires, processus, réseau, permissions, archives, texte, monitoring, Git, scripts et dépannage.

1. Opérations sur les fichiers

23 cmds
Lister et naviguer
ls # Lister le contenu du dossier courant
ls -R # Lister récursivement les sous-dossiers
ls -a # Afficher aussi les fichiers cachés
ls -al # Vue détaillée (droits, propriétaire, taille, date)
cd /chemin/du/dossier # Aller dans un dossier précis
cd .. # Remonter d'un niveau
pwd # Afficher le chemin courant
Créer, copier, déplacer, supprimer
touch fichier # Créer un fichier vide ou mettre à jour sa date
cat > fichier # Créer un fichier manuellement (Ctrl+D pour terminer)
cp source destination # Copier un fichier
mv source destination # Déplacer ou renommer un fichier
rm fichier # Supprimer un fichier
cat fichier1 fichier2 > fichier3 # Fusionner plusieurs fichiers dans un nouveau
Lire et inspecter
cat fichier # Afficher tout le contenu
less fichier # Lire page par page
head fichier # Afficher les 10 premières lignes
tail fichier # Afficher les 10 dernières lignes
file fichier # Détecter le type réel du fichier
find / -name fichier # Rechercher un fichier par nom
lsof # Lister les fichiers ouverts par les processus
Espace disque et partitions
du -h --max-depth=1 # Taille des sous-dossiers du répertoire courant
df -h # Espace libre / utilisé par partition
fdisk -l # Lister les disques et partitions
Astuce : du -h --max-depth=1 est très pratique pour voir rapidement quel dossier prend de la place.

2. Opérations sur les répertoires

5 cmds
mkdir dossier # Créer un dossier
rmdir dossier # Supprimer un dossier vide
cp -r source destination # Copier un dossier récursivement
mv ancien_dossier nouveau_dossier # Renommer ou déplacer un dossier
find / -type d -name dossier # Rechercher un dossier par nom

3. Gestion des processus

16 cmds
Lister et tuer
ps # Processus de la session courante
ps aux # Tous les processus du système
top # Vue temps réel des processus
htop # Variante plus lisible et interactive
kill PID # Terminer un processus par PID
pkill nom # Terminer un processus par nom
Jobs (foreground / background)
commande & # Lancer en arrière-plan
bg # Reprendre un job suspendu en arrière-plan
fg # Ramener le job courant au premier plan
fg %1 # Ramener un job précis au premier plan
jobs # Lister les jobs du shell courant
renice +5 PID # Baisser la priorité d'un processus
Redirections
commande > fichier # Rediriger stdout dans un fichier
commande 2> fichier # Rediriger stderr dans un fichier
commande &> fichier # Rediriger stdout + stderr dans un même fichier
commande >> fichier # Ajouter stdout à la fin du fichier

4. Permissions de fichiers

4 cmds
chmod 755 fichier # rwx pour le propriétaire, rx pour groupe/autres
chown utilisateur fichier # Changer le propriétaire
chgrp groupe fichier # Changer le groupe
chown utilisateur:groupe fichier # Changer propriétaire et groupe d'un coup
Rappel : en notation octale, 7 = rwx, 6 = rw-, 5 = r-x, 4 = r--.

5. Réseau

17 cmds
Diagnostic et connectivité
ping host # Tester la connectivité vers un hôte
traceroute domaine # Voir le chemin réseau jusqu'à la cible
mtr domaine # Diagnostic réseau continu (latence + pertes)
ifconfig # Afficher les interfaces (ancien outil)
ip a # Afficher les interfaces et adresses IP (outil moderne)
ip route # Voir la table de routage
DNS et whois
dig domaine # Interroger le DNS
dig domaine MX # Voir les enregistrements MX
whois domaine # Voir les informations d'enregistrement du domaine
Connexions et sockets
netstat -pnltu # Ports en écoute TCP/UDP avec PID (ancien outil)
ss -tulpn # Équivalent moderne de netstat
nmap target # Scanner les ports d'une cible
Connexions distantes et transfert
ssh utilisateur@host # Ouvrir un shell distant
scp fichier utilisateur@host:/chemin # Copier un fichier via SSH
wget url # Télécharger un fichier
curl url # Faire une requête HTTP simple
curl -I url # Récupérer uniquement les en-têtes HTTP

6. Archives et compression

10 cmds
tar -cvf archive.tar dossier/ # Créer une archive .tar
tar -xvf archive.tar # Extraire une archive .tar
tar -zcvf archive.tar.gz dossier/ # Créer une archive compressée en gzip
tar -zxvf archive.tar.gz # Extraire une archive .tar.gz
tar -jcvf archive.tar.bz2 dossier/ # Créer une archive compressée en bzip2
tar -jxvf archive.tar.bz2 # Extraire une archive .tar.bz2
gzip fichier # Compresser un fichier
gzip -d fichier.gz # Décompresser un fichier .gz
zip -r archive.zip fichiers # Créer une archive .zip
unzip archive.zip # Extraire une archive .zip

7. Traitement de texte

15 cmds
Recherche
grep motif fichier # Rechercher un motif dans un fichier
grep -r motif dossier # Rechercher récursivement dans un dossier
commande | grep motif # Filtrer la sortie d'une commande
grep -i motif fichier # Ignorer la casse
grep -n motif fichier # Afficher les numéros de ligne
Édition et transformation
sed 's/ancien/nouveau/g' fichier # Remplacement à l'affichage
sed -i 's/ancien/nouveau/g' fichier # Remplacement dans le fichier
awk '{print $1}' fichier # Afficher la 1re colonne
cut -d':' -f1 /etc/passwd # Extraire la 1re colonne avec ':' comme séparateur
sort fichier # Trier les lignes
uniq fichier # Supprimer les doublons consécutifs
echo 'texte' # Afficher du texte
Comparaison et statistiques
diff fichier1 fichier2 # Comparer deux fichiers ligne par ligne
wc fichier # Compter lignes, mots, caractères
wc -l fichier # Compter uniquement les lignes

8. Espace disque et mémoire

5 cmds
df -h # Espace disque par partition
du -sh # Taille totale du dossier courant
du -h --max-depth=1 # Taille détaillée des sous-dossiers
free -m # Mémoire RAM et swap en Mo
whereis app # Localiser binaire, source, man

9. Informations système

7 cmds
date # Date et heure actuelles
cal # Calendrier
uptime # Temps de fonctionnement + charge moyenne
w # Utilisateurs connectés et activité
whoami # Nom de l'utilisateur courant
uname -a # Infos kernel + architecture
hostname # Nom de la machine

10. Installation de paquets

9 cmds
APT (Debian / Ubuntu)
sudo apt-get update # Mettre à jour la liste des paquets
sudo apt-get upgrade # Installer les mises à jour disponibles
sudo apt-get install paquet # Installer un paquet
sudo apt-get remove paquet # Désinstaller un paquet
sudo apt-get purge paquet # Désinstaller un paquet + sa configuration
pip (Python)
pip install paquet # Installer un paquet Python
pip uninstall paquet # Désinstaller un paquet Python
pip freeze > requirements.txt # Exporter les dépendances installées
pip install -r requirements.txt # Réinstaller depuis un fichier

11. Recherche et localisation

5 cmds
find / -name fichier # Rechercher en temps réel
locate fichier # Rechercher via une base indexée
updatedb # Mettre à jour la base de locate
which commande # Voir le chemin d'une commande
whereis programme # Voir binaire, source et manuel

12. Variables d'environnement

6 cmds
env # Lister les variables d'environnement
echo $VARIABLE # Afficher la valeur d'une variable
echo $PATH # Afficher le PATH
export VARIABLE=valeur # Définir une variable pour la session
export PATH=$PATH:/nouveau/chemin # Ajouter un chemin au PATH
alias ll='ls -alh' # Créer un alias
Note : pour rendre un export ou un alias permanent, l’ajouter dans ~/.bashrc ou ~/.zshrc.

13. Cron jobs

5 cmds
crontab -l # Lister les tâches planifiées de l'utilisateur
crontab -e # Éditer les tâches planifiées
crontab -r # Supprimer toutes les tâches planifiées
crontab fichier # Charger une crontab depuis un fichier
@reboot commande # Lancer une commande au démarrage
Attention : crontab -v n’existe pas partout. Mieux vaut ne pas la garder dans une cheatsheet générique.

14. Shell scripting

8 cmds
#!/bin/bash # Shebang : indique l'interpréteur
$0 # Nom du script
$1 ... $9 # Arguments 1 à 9
${10} # 10e argument et suivants
if [ condition ]; then ... fi # Condition
for i in {1..10}; do ... done # Boucle for
while [ condition ]; do ... done # Boucle while
function nom() { ... } # Définir une fonction

15. Enchaînement de commandes

4 cmds
commande1 ; commande2 # Exécuter les deux, quoi qu'il arrive
commande1 && commande2 # Exécuter la 2e seulement si la 1re réussit
commande1 || commande2 # Exécuter la 2e seulement si la 1re échoue
commande & # Lancer en arrière-plan

16. Monitoring système et performance

5 cmds
top # Processus et charge système en temps réel
htop # Version interactive plus lisible
iostat # Statistiques CPU et entrées/sorties disque
vmstat # Vue d'ensemble mémoire, CPU, I/O, swap
sar # Statistiques système historiques (si sysstat installé)

17. Tests disque

2 cmds
dd if=/dev/zero of=/tmp/test.img bs=8k count=256k # Test d'écriture simple
hdparm -Tt /dev/sda # Test de lecture disque
Attention : dd et hdparm doivent être utilisés avec prudence. Les résultats peuvent être influencés par le cache et ne remplacent pas un vrai benchmark.

18. Contrôle de version (Git)

23 cmds
Initialisation et clonage
git init # Initialiser un dépôt Git
git clone url # Cloner un dépôt distant
git status # Voir l'état des fichiers
git log # Historique détaillé
git log --oneline # Historique condensé
Workflow quotidien
git add fichier # Ajouter un fichier à l'index
git add . # Ajouter tous les changements
git commit -m "message" # Créer un commit
git pull # Récupérer et fusionner les changements distants
git push # Envoyer les commits au dépôt distant
git diff # Voir les modifications non commitées
Branches
git branch # Lister les branches
git branch nom # Créer une branche
git checkout nom # Basculer sur une branche
git checkout -b nouvelle # Créer + basculer sur une nouvelle branche
git merge nom # Fusionner une branche dans la branche courante
git rebase main # Rejouer les commits sur main
Sauvegarde temporaire et historique
git stash # Mettre de côté les changements non commités
git stash apply # Restaurer le stash
git reset HEAD~1 # Reculer d'un commit (attention selon l'option utilisée)
git revert commit # Annuler un commit via un nouveau commit
git cherry-pick commit # Rejouer un commit précis
git rm fichier # Supprimer un fichier du dépôt
Conseil : pour une cheatsheet générique, précise que git revert est plus sûr que git reset sur une branche déjà partagée.

19. Commandes à manipuler avec précaution

2 cmds
yes > /dev/null & # Charge inutilement le CPU en boucle
:(){ :|:& };: # DANGER : fork bomb, à ne jamais exécuter
Avertissement : la seconde commande peut saturer une machine en quelques secondes.

20. Aide intégrée

3 cmds
man commande # Ouvrir le manuel complet
commande --help # Voir les options principales
info commande # Documentation GNU détaillée si disponible

Aucune commande ne correspond à ce filtre.