#droits
Droitsrwx
Propriétaire400200100
Groupe402010
Autres421
#find jpg mv
find . -name "*.jpg" -exec mv{}. \;
#Search &Replace dans des fichiers en ligne de commande (-name facultatif)
find . -name *.php -exec sed -i s@require_once@//require_once@g{}\;
#applying a patch
Place the .diff file in the same directory as the source tarball. Ungzip/untar the source, and run
patch -p0 <some-patch-file.diff
The -p0 indicates the paths in the file are relative to the current directory, if you place the .diff file in the some-soft-source dir you need -p1.
#purge des fichiers de conf orphelins
# aptitude purge $(dpkg --get-selections | grep deinstall | awk '{print $1}')
#liste les fichiers avec un md5 différent
find . -maxdepth 1 -type f -print0 | xargs -0 md5sum | sort | uniq -w 32 | awk '{print $2}' >./distinct.txt
#pdf to jpg
chaque page en image
convert fichier.pdf image%d.jpg
#grep
dpkg -l | grep '(15|16)' | grep linux
#egrep multiple
cat fichier.txt | egrep -i '(motif1|motif2)'
#optimiser sqlite firefox
find ~/.mozilla/firefox/ -type f -name "*.sqlite" -exec sqlite3{}VACUUM \;
#cp dir1 >dir2
cp -ruv /dir1/ /dir2/
les options permettent d'afficher les fichiers copiés, de copier l'intégralité des repertoires, de mettre à jour les fichiers deja copiés.
#list dir
find . -type d
#cpu load en %
top -b -n 1 | grep Cpu | awk '{print $2}' | cut -c1-4
#capture tty
fbgrab capture.png
#ajouter un mot au début de chaque ligne
for i in `cat fichier.txt` ;do mot_a_ajouter $i ;done
#cat sans doublon
cat fichier1.txt fichier2.txt| sort -n | uniq -u
#extraire que les trucs "lisibles" avec strings
strings fichier.doc | less
et
strings -e b fichier.doc | less
#iso to utf
iconv -f ISO-8859-1 -t UTF-8 -o output.txt input.txt
iconv -f UTF-8 -t ISO-8859-1 -o output.txt input.txt
recode ISO-8859-15..UTF-8 input.txt
#somme avec awk
Par exemple, pour connaître la place utilisée en mémoire par le processus apache2 :
ps -ely | grep '\<apache2\>' | awk '{SUM += $8}END{print SUM}'
ou pour connaître la place en Ko prise par tous les fichiers PNG du répertoire :
ls -l *.png | awk '{SUM += $5}END{print SUM/1024}'
#affiche le dernier fichier .txt
ls -t1 *.txt | head -1
#affiche tous les fichiers .txt sauf fichier.txt
ls *.txt | grep -v fichier.txt | xargs ls
#affiche tous les fichiers .txt sauf le dernier fichier .txt
ls *.txt | grep -v `ls -t1 *.txt | head -1`
#syntaxe sed pour afficher le texte compris entre "motif1" et "motif2" :
sed -n '/motif1/,/motif2/p' /chemin/vers/fichier
#Raccourcis clavier pour Bash
Certaines de ces commandes fonctionnent également sous des éditeurs de fichiers en ligne de commandes. On pourra prendre l'exemple de Emacs et les commandes de déplacement ou de copier / coller.
1. Déplacement
Ctrl + a : aller au début de la ligne
Ctrl + e : aller à la fin de la ligne
Alt + b : se déplacer mot par mot dans la ligne de commande en arrière (b pour backward)
Alt + f : se déplacer mot par mot dans la ligne de commande en avant (f pour forward)
ctrl + xx : positionner le curseur au début du mot ou à la fin
2. Couper / Coller
Ctrl + k : couper la chaîne du curseur jusqu'à la fin de la ligne
Ctrl + u : couper la chaîne du curseur jusqu'au début de la ligne
Ctrl + w : couper le mot avant le curseur
Ctrl + y : coller une chaîne
3. Modification
Ctrl + t : inverser la position des deux caractères avant le curseur (pratique quand on tape par exemple, sl au lieu de ls)
Alt + t : inverser la position des deux mots avant le curseur
Alt + c : mettre une lettre en majuscule
Alt + l : mettre un mot en en minuscule (l pour lowercase)
Alt + u : mettre un mot en majuscule (u pour uppercase)
Alt + . : réécrire le paramètre de la dernière commande
4. Divers
Ctrl + l : effacer le contenu de l'écran
Ctrl + r : rechercher une commande déjà tapée
Ctrl + _ : annuler la dernière modification
Ctrl + c : arrêter la commande en court
Ctrl + d : quitter le shell en court