Linux CheatSheet
Texte
Ubuntu : quelle aide utiliser ? Commence par type
typeSur Ubuntu, le shell par défaut est Bash. Avant de chercher de l'aide, demande-lui comment il exécute la commande avec type.
1. Identifier la commande : type
type cd→cd is a shell builtin: commande interne, intégrée à Bash, sans fichier sur le disque.type ls→ls is aliased to 'ls --color=auto': Ubuntu définit souvent un alias par défaut.type -a ls: liste toutes les définitions, ici l'alias puis le fichier réel, souvent/usr/bin/ls.type -t cd: donne seulement le type :builtin,file,alias,functionoukeyword.
2. Choisir l'aide selon le résultat
- Commande interne (
builtin) :help cdaffiche l'aide Bash. Pour la documentation complète,man bash, puis tape/cdpour chercher. - Programme externe (un fichier) :
man lsouvre la page de manuel,ls --helpdonne un résumé rapide. - Outils GNU :
info lsouinfo coreutilsouvrent une documentation plus détaillée, si le paquetinfoest installé. - Alias ou fonction :
typemontre la définition ; l'aide porte sur la commande réelle qu'elle appelle.
Exemple : help ls répond no help topic matching 'ls'. Ce n'est pas une erreur : ls n'est pas une commande interne, il faut utiliser man ls ou ls --help.
Navigation et recherche
- Dans
manetinfo:qquitte,/motcherche,nva à l'occurrence suivante. man -k compressionouapropos compressioncherche une commande d'après un mot-clé.- Si
man lsrépondNo manual entry, le paquetman-dboumanpagesmanque :sudo apt install man-db manpages.
À retenir : type nom d'abord. Si le résultat est builtin, utilise help ou man bash. Si c'est un fichier, utilise man, --help ou info. Les réponses exactes peuvent varier selon le shell (zsh, fish) et les paquets installés.
Enchaîner les commandes de texte : exemples
Le principe : chaque commande lit une entrée, la transforme et écrit une sortie. | (pipe) branche la sortie de l'une sur l'entrée de la suivante. Le texte circule ainsi d'une étape à l'autre, sans fichier intermédiaire.
1. Filtrer, trier, compter
grep -i erreur app.log | sort | uniq -c | sort -rn: les messages d'erreur, comptés, du plus fréquent au moins fréquent.cut -d, -f2 données.csv | sort | uniq -c: nombre d'occurrences de chaque valeur de la colonne 2.cut -d, -f2 données.csv | sort -u: valeurs distinctes de la colonne 2 (équivalent àuniqaprèssort).sort liste.txt | uniq -d: affiche seulement les lignes en double.grep -v '^#' /etc/ssh/sshd_config | grep -v '^$': retire les commentaires (lignes commençant par #) et les lignes vides.
2. Enregistrer au passage : tee
grep ERROR app.log | tee erreurs.txt | wc -l: écrit les erreurs dans erreurs.txt, et affiche leur nombre.ls -l | tee liste.txt | grep '\.sh$': enregistre toute la liste, mais n'affiche que les scripts.date | tee -a journal.txt: ajoute la date au journal, sans l'écraser (-a).
3. Extraire des colonnes : cut, sort -t
cut -d: -f1,3 /etc/passwd: nom et UID de chaque compte (séparateur deux-points).cut -d: -f1,3 /etc/passwd | sort -t: -k2,2n: même chose, trié par UID numérique.sort -t, -k3,3nr ventes.csv: trie un CSV par la colonne 3, en numérique et du plus grand au plus petit.
4. Les mots les plus fréquents
tr -cs '[:alpha:]' '\n' < texte.txt | tr 'A-Z' 'a-z' | sort | uniq -c | sort -rn | head -10: découpe le texte en mots, les met en minuscules, puis garde les 10 plus fréquents.
5. Extraire et limiter la largeur
ps -eo pid,comm | grep sshd | cut -c1-20: PID et nom des processus sshd, en limitant la largeur.
Pièges à éviter :
uniqne voit que les lignes voisines : trie avant avecsort.cutprend chaque délimiteur à la lettre : deux espaces de suite font deux colonnes vides. Pour des espaces multiples, réduis-les d'abord avectr -s ' '.teeécrase le fichier, sauf avec-a.- Ne fais jamais
sort f.txt > f.txt: le shell vide f.txt avant que sort ne le lise. Écris dans un autre fichier, ou utilisesort -o f.txt f.txt. - Le délimiteur de
cutet desort -test un seul caractère. Pour une tabulation :cut -f2utilise la tabulation par défaut.