This is an old revision of the document!
Ma collection de commandes Bash qui m'ont tiré d'affaire à la maison ou au travail, ou susceptibles de l'être. Certaines peuvent être évidentes, d'autres non. Cette page sera mon bloc-note perso.
Outil très chouette pour décortiquer des commandes à rallonge : https://explainshell.com/
Rechercher les lignes en commun sur deux fichiers
awk 'NR==FNR{arr[$0];next} $0 in arr' file1 file2
Afficher les fichiers volumineux (du plus gros au plus léger)
du -ak | sort -rn | more
Créer une session shell et enregistre la sortie standard dans un fichier
script file # Ctrl +D pour quitter
Afficher les librairies chargées d'un exécutable
ldd <path_to_exe>
Connaître sa distribution Linux
cat /etc/lsb-release ou lsb_release -a
Connaître la version du kernel utilisé
cat /proc/cmdline
Se connecter à une BDD Postgres
psql -h <machine_ou_localhost> -d <database> -U <user> -p <port>
Tracer les accès d'une application à mon home
strace -e trace=file APP 2>&1 | grep "/home" > trace.log
Basculer le clavier en QWERTY/AZERTY
setxkbmap en / fr
Couteau-suisse du traitement de lignes
sed -n 'x,yp' file # affiche le contenu entre les lignes x et y sed -n '/A/,/B/p' file # affiche le contenu entre l’occurrence A et B awk '/A/, B/' file # affiche le contenu entre l’occurrence A et B sed -e '/bash*/ s/bash/sh/g' # remplace 'bash' par 'sh' sur toutes les lignes finissant par 'bash' sed '/^$/d' file # retire les lignes vides grep -v '^$' file # retire les lignes vides sed /'foo'/d file # supprime le mot 'foo' d'un fichier tail -n+2 file # saute la première ligne
Troubleshooting réseau
netstat -su # affiche des infos sur les pertes de paquets netstat -g # affiche les groupes multicast écoutés sur chaque interface ethtool <nic> # récupère des infos sur une interface (branchement, ses modes supportés) fuser -v -n tcp 5000 # afficher des infos sur le process utilisant le port 5000
Troubleshooting mémoire
vmstat 1 free -m htop -d1 cat /proc/meminfo
Itérer sur des entiers
for i in $(seq 1 5); do quelque_chose; done
SUBSTITUTIONS