Commandes bash
Cette liste de commandes est un mémo personnel construit à partir de pages de manuel ou de codes trouvés ça et là sur le net. Noter qu'ils s'appliquent principalement au système Debian et dérivés.
SYSTEME
Purger les fichiers de configurations laissés par des paquets supprimés:
sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`
Lister les HEADERS, IMAGES et MODULES installés mais plus utilisés:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'
Même commande avec purge:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Lister le matériel du système au format HTML hardware.html:
lshw -html > hardware.html
Trouver les 20 plus gros dossiers de l'emplacement actuel:
du -xk | sort -n | tail -20
Générer un fichier "lourd.dat" de 1Go:
dd if=/dev/zero of="lourd.dat" bs=1024k count=1024
Passer le contenu de pages '*.php' de ISO-8859-1 en UTF-8:
for x in `find . -name '*.php'` ; do iconv -f ISO-8859-1 -t UTF-8 $x > "$x.utf8"; rm -f $x; mv "$x.utf8" $x; done
Lister les fichiers installés par un paquet debian vlc-nox:
dpkg -L vlc-nox
Retrouver le paquet debian ayant installé le fichier vlc:
which vlc
dpkg -S /usr/bin/vlc
dpkg -S /usr/bin/vlc
RESEAU
Lister l'ensemble des IP utilisées sur le réseau 192.168.100.0/24:
nmap -sP 192.168.100.0/24
Lister les noms Wikipedia:Netbios NETBIOS sur la plage 192.168.1.100-150
nbtscan 192.168.1.100-150
Lister les requêtes Google:define:arp ARP sur circulant sur l'interface eth0
tcpdump -i eth0 arp
Envoyer un fichier fichier.body.txt par email (corps de texte) à adresse@email.com avec le sujet sujet en provenance de "mon nom <nom@dom.tld>" :
cat fichier.body.txt | mailx -a "from:mon nom <nom@dom.tld>" -s "sujet" adresse@email.com
Envoyer par email la pièce jointe fic1.tar.gz à adresse@email.com avec le sujet sujet et le corps de message "mon corps de texte" (le "pipe" uuencode n'est plus valide):
echo "mon corps de texte" | mutt -x -a fic1.tar.gz -s "sujet" adresse@email.com
Envoyer le résultat de la commande `who` par GOOGLE TALK (JABBER) au compte moncompte@gmail.com (après avoir accepté les invitations réciproques):
echo "Résultat de la commande 'who':\n`who`" | centerim -s msg -p jab -t moncompte@gmail.com
MULTIMEDIA
Lire une vidéo monfilm.avi avec la lib-caca:
mplayer -framedrop -nosound -vo zrbw -lavdopts gray -vo caca monfilm.avi
Extraire une séquence newfile débutant à 00:01:30 pour une durée de 0:0:20 depuis une vidéo orginalfile existante:
ffmpeg -vcodec copy -acodec copy -i orginalfile -ss 00:01:30 -t 0:0:20 newfile
Lire une vidéo YOUTUBE $youtube_url avec MPLAYER:
mplayer -fs $(echo "http://youtube.com/get_video.php?$(curl -s $youtube_url | sed -n "/watch_fullscreen/s;.*\(video_id.\+\)&title.*;\1;p")")
Permettre la lecture fluide de vidéos haute définition sur un processeur lent:
mplayer -framedrop -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all
Ripper une piste audio <output-file> d'une vidéo <input-file>:
mplayer -ao pcm -vo null -vc dummy -dumpaudio -dumpfile <output-file> <input-file>
Idem, mais extraction depuis une vidéo FLV input.flv et encodage en MP3 sur ouput.mp3:
ffmpeg -i input.flv -f mp3 -vn -acodec copy ouput.mp3
Enregistrer un flux audio "http://example.com/flux" au format mp3 station.mp3:
mplayer "http://example.com/flux" -vc null -vo null -ao pcm:fast:file=station.mp3 -af pan=1:0.5:0.5,resample=11025:0:1
Enregistrer un flux REALPLAYER http://example.com/LENOIR20080303.ram en fichier mp3 LENOIR20080303.mp3:
mplayer -playlist http://example.com/LENOIR20080303.ram -ao pcm:file=LENOIR20080303.wav -vo null -vc null && lame -f LENOIR20080303.wav LENOIR20080303.mp3
Produire un flux vidéo sur le port 12345 depuis le périphérique /dev/video0 (accessible sur http://hote:12345 ou mms://hote:12345 ):
vlc v4l:/dev/video0:size=160x120 --sout "#transcode{vcodec=WMV1,vb=60,scale=1}:duplicate{dst=display, dst=std{access=http,mux=ogg,dst=:12345}}" -v --noaudio
Télécharger toutes les images ".gif,.jpg" depuis une URL http://example.com/images :
wget -r -l1 --no-parent -nH -nd -P/tmp -A".gif,.jpg" http://example.com/images
OFFICE
Convertir un lot d'images *.jpeg en document PDF multipage.pdf (nécessite Google:Imagemagick):
convert -adjoin -page A4 *.jpg multipage.pdf