User Tools

Site Tools


bash_cheatsheet

This is an old revision of the document!


ANTI-SÈCHE BASH

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/


Commandes

Rechercher les lignes en commun sur deux fichiers

awk 'NR==FNR{arr[$0];next} $0 in arr' file1 file2
cat file1 file2 | sort | uniq -d

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

Scripting

Itérer sur des entiers

for i in $(seq 1 5); do quelque_chose; done

SUBSTITUTIONS

  • echo ${foo%?} supprime le dernier caractère de foo
bash_cheatsheet.1578678783.txt.gz · Last modified: 2020/01/10 18:53 by nasikimi