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
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
NETBIOS sur la plage
192.168.1.100-150
nbtscan 192.168.1.100-150
Lister les requêtes
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
There are 8 comments on this page. [Display comments]