===== Bash =====
==== Find + chmod ====
To change all the directories to 755 (drwxr-xr-x):
find . -type d -exec chmod 755 {} \;
To change all the files to 644 (-rw-r--r--):
find . -type f -exec chmod 644 {} \;
==== Augmenter le nombre de lignes stocké dans l'historique ====
Editez:
.bash_profile
Ajoutez:
HISTSIZE=10000
HISTFILESIZE=10000
Source: [[http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/|15 Examples To Master Linux Command Line History]]
===== Programmes =====
==== Système ====
=== Lister les entrées d'un dossier par ordre de modification ===
ls -l -rt
//rt// (ordre inversé) peut être remplace par //t// et permet de lister en fonction de la date de modification.
=== Lister les appels système ===
strace -p PID -e trace=all
Ou //PID// est le pid du programme a tracer.
L'argument //trace// peut prendre plusieurs valeurs (voir la page de man).
Par exemple, pour lister les ouvertures de fichier:
strace -p PID -e trace=open
=== Surveiller les accès sur un dossier/fichier ===
Pour récupérer les différents accès fait sur les fichiers d'un dossier:
inotifywatch --recursive /my/path/
Faire ensuite les opérations a tracker. Puis annuler le processus. En quittant, il affiche les informations suivantes:
total modify close_write open moved_from moved_to create filename
2877 2872 1 1 1 1 1 /my/path/
=== Connaitre la version de sa distrib ===
lsb_release -d
Retourne quelque chose comme:
Description: Ubuntu 10.04.4 LTS
=== Retrouver le pid d'un programme depuis son nom ===
ps aux | grep dolphin
Renvoi:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
toto 3033 0.3 0.2 472748 66516 ? Sl 15:04 0:57 dolphin
toto 7762 0.0 0.0 4304 756 pts/12 S+ 19:56 0:00 grep dolphin
Autre methode:
pidof dolphin
Renvoi:
3033
=== Classer les processus par utilisation mémoire ===
ps -eo user,size,command | sort -k2 -rn | head -10
* **-e**: //simple selection//: all processes.
* **-o**: //output format//: user-defined, suivi des valeurs a afficher.
//sort// trie les résultats:
* **-k2**: Classer la seconde colonne (//size// dans notre cas).
* **-r**: Reverse result.
* **-n**: Trier en temps que valeur numérique.
Et //head -10// n'affiche que les 10 premiers résultats.
=== Lister les fichiers ouvert sur le système ===
lsof
Plus d'exemples ici: [[http://www.serversignature.com/lsof-list-open-files-examples|lsof - list open files examples]]
Lister les fichiers ouvert par un programme:
lsof -p 3033
Repeter toute les 3 secondes:
lsof -p 3033 -r 3
Compter le nombre de fichiers ouverts:
lsof -p 3033 | wc -l
Compte le nombre de lignes renvoyées en fait.
=== Exemples d'utilisation de find ===
[[find|Page sur le fonctionnement de find]]
Cherche les fichiers/dossiers dont les noms contiennent "foo":
find / -name foo
Cherche un fichier ou la dernière modification a été faite il y a moins de sept jours:
find / -type f -mtime -7
Lister les fichiers dont le nom correspond a //pattern//:
find . -type f -name "*.py" | grep 'pattern'
Lister les fichiers contenant le //pattern// (recherche directement dans le fichier):
find . -type f -name "*.py" -exec grep -l 'pattern' {} \;
=== Exemples d'utilisation de grep ===
Skipper les fichiers binaires:
grep -I "word" ./
Rechercher en récursif:
grep -R "word" ./
Printer le résultat dans un fichier:
grep --line-buffered "word" ./ > output.txt
Ne pas afficher les messages d'erreurs:
grep -s "word" ./
Rechercher un pattern a l’intérieur des fichiers ([[https://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux|source]]):
grep -rn ./ -e "pattern"
//-r// pour la récursion, //-n// pour afficher la ligne.
=== Lister le hardware ===
lshw
Lister uniquement le contenu du sous menu //network//:
lshw -C network
* [[http://ezix.org/project/wiki/HardwareLiSter|Hardware Lister (lshw)]]
* [[http://fr.wikipedia.org/wiki/Lshw|Page Wikipedia]]
=== Lister les valeurs de S.M.A.R.T. d'un disque dur ===
sudo smartctl -a /dev/sda
* [[http://linux-attitude.fr/post/soyez-encore-plus-a-lecoute-de-vos-disques|Soyez encore plus à l’écoute de vos disques]]
* [[http://www.cyberciti.biz/tips/linux-find-out-if-harddisk-failing.html|Test If Linux Server SCSI / SATA Hard Disk Going Bad]]
* [[http://www.techrepublic.com/blog/opensource/using-smartctl-to-get-smart-status-information-on-your-hard-drives/1389|Using smartctl to get SMART status information on your hard drives]]
=== Compiler un package source sous Debian ===
Source ici: [[http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.html|http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.html]]
Il faut d’abord récupérer les fichiers sources du package:
* *.dsc
* *.tar.gz
* *.diff.gz (non obligatoire sur les packages Debian natifs).
dpkg-source -x foo_version-revision.dsc
Cela va extraire le package dans un dossier nommé //foo-version//.
Il suffit d'aller dans le dossier:
cd foo-version/
Puis de construire le package avec
dpkg-buildpackage -rfakeroot -b
Ce qui devrait vous creer un jolie .deb installable via:
dpkg -i ../foo_version-revision_arch.deb
=== Monter un image ISO ===
sudo mkdir /mnt/iso
sudo mount -o loop -t iso9660 '/path/to/isoFile.iso' /mnt/iso
Et pour démonter:
sudo umount /mnt/iso
sudo rm /mnt/iso
=== Connaître le poids d'un dossier ===
du -hs /path/to/directory
Source: [[http://www.computing.net/answers/linux/how-to-check-folder-size/26764.html|how to check folder size]]
=== Connaître l'espace disque restant ===
df -h
Source: [[http://www.commentcamarche.net/forum/affich-1638039-commande-espace-disque-libre|Commande espace disque libre]]
=== Supprimer récursivement tout les fichier d'un dossier ===
Cette commande permet de supprimer uniquement les fichiers d'un dossiers et ainsi de conserver la structure des dossiers.
Très pratique pour virer les caches de Nuke sans le faire râler. :)
find /tmp/nuke/ -type f -exec rm -v '{}' \;
Source: [[http://www.linuxquestions.org/questions/programming-9/rm-files-only-retain-directory-structure-385172/#post1962246|rm files only - retain directory structure]]
=== Utiliser les liens symboliques pour stocker des infos courtes ===
J'avoue que c'est un peu dégueulasse mais le fait de pouvoir stocker/accéder a une information sans faire d'ouverture de fichier sur le système est très intéressant.
$ ln -s "the data" ./a_file
$ readlink ./a_file
the data
=== Déplacer tous les fichiers d'un certain type vers un dossier ===
find ./ -iname "*.pdf" -exec mv {} /your/dst \;
==== Démarrage ====
Quelques outils/conseils pour gérer le démarrage de Linux.
=== sysv-rc-conf ===
Ce petit tool permet de gérer le lancement des services Linux facilement.
sudo sysv-rc-conf
Source:
* [[http://sysv-rc-conf.sourceforge.net/|sysv-rc-conf sur sourceforge]]
* [[http://www.commentcamarche.net/faq/6761-activer-desactiver-les-services-au-demarrage|Activer/désactiver les services au démarrage]]
=== Lister tous les services actifs ===
sudo service --status-all
==== Permissions ====
=== Impossible de lancer des commandes en sudo ===
Si vous rencontrez ce message:
user is not in the sudoers file. This incident will be reported.
Passez en //root//:
su
Puis éditez le fichier des groupes:
/etc/group
Verifiez que votre user est dans le groupe //sudo//:
sudo:x:27:narann
Relogguez vous, le problème devrait être résolu.
Notez que le problème est le même si vous avez le message d'erreur suivant:
Le mécanisme d'autorisation sous-jacent (sudo) ne vous autorise pas à lancer ce programme.
==== Réseau ====
=== Lister les ports ouverts sur la machine ===
netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 353/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 883/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 899/nginx
tcp6 0 0 :::22 :::* LISTEN 353/sshd
tcp6 0 0 :::9090 :::* LISTEN 1028/apache2
tcp6 0 0 :::443 :::* LISTEN 1028/apache2
udp 0 0 0.0.0.0:68 0.0.0.0:* 792/dhclient
udp 0 0 0.0.0.0:60370 0.0.0.0:* 697/avahi-daemon: r
udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r
Il y a aussi:
sudo netstat -lp --inet
Plus d'infos:[[http://www.commentcamarche.net/faq/6339-quels-sont-mes-ports-ouverts-sous-ubuntu|Quels sont mes ports ouverts sous Ubuntu ?]]
=== Récupérer les ports ouverts depuis l’extérieur ===
nmap supersite.com -p0-65500
Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-01 18:00 CET
Illegal character(s) in hostname -- replacing with '*'
Interesting ports on localhost* (127.0.0.1):
Not shown: 65496 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
9090/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 4.78 seconds
=== Configurer un .htaccess ===
Empêcher de lister les éléments d'un dossier:
IndexIgnore *
Empêcher de lister les .pdf d'un dossier:
IndexIgnore *.pdf
[[http://www.htpasswdgenerator.com/apache/htaccess.html|Using .htaccess]]
=== Rediriger le display d'un serveur X en ssh ===
Il est possible de rediriger la sortie display d'un serveur X pour ouvrir une application depuis ssh.
setenv DISPLAY hostname:0
Il faut que //hostname// soit accessible depuis la machine sur laquelle on est loggué.
=== Savoir si une extension PHP est installée ===
php -i | grep -i 'SSL'
Source: [[http://snipplr.com/view/5068/|http://snipplr.com/view/5068/]]
==== X ====
=== Regénérer un fichier xorg.conf ===
sudo Xorg -configure
Source: [[http://www.cyberciti.biz/tips/create-a-xorgconf-file.html|Create A xorg.conf File]]
=== Reconfigurer xserver ===
Sous Debian:
dpkg-reconfigure xserver-xorg
Sous les autres:
cd /etc/X11/ && Xorg -configure
Source: [[http://www.cyberciti.biz/faq/howto-linux-configure-xorg-x11/|http://www.cyberciti.biz/faq/howto-linux-configure-xorg-x11/]]
=== Tester un fichier xorg.conf ===
X -config -retro /root/xorg.conf.new
X -config -retro /etc/X11/xorg.conf
=== Récupérer des informations sur une fenêtre ===
>xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x1eac011 "bin - Dolphin"
Absolute upper-left X: 2135
Absolute upper-left Y: 26
Relative upper-left X: 0
Relative upper-left Y: 16
Width: 1490
Height: 919
Depth: 24
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +2135+26 -215+26 -215-135 +2135-135
-geometry 1490x919+2134+9
=== Conflit entre xfdestop et le desktop Gnome ===
Il faut savoir que lancer nautilus sans l'option //--no-desktop// force l'affichage du desktop Gnome...
C'est particulièrement gênant si nautilus est lancé après le démarrage d'une session. Dans mon cas, nautilus et xfdestop sont lancé tout les deux au démarrage et c'était nautilus (et donc le desktop Gnome) qui avaient l'avantage.
Le problème c'est qu'il n'est pas forcément aisé de s'assurer que tout les nautilus lancés le soit bien avec l'option //--no-desktop//. Il existe donc une option pour ça. Ouvrez //gconf-editor//.
gconf-editor
Puis d'aller dans:
apps/nautilus/preferences
Et de decocher l'option:
show_desktop
Si vous n'avez pas //gconf-editor//, ouvrez:
.gconf/apps/nautilus/preferences/%gconf.xml
Puis editez la ligne:
Et passez la valeur à //false//.
=== Mettre a jour cache des fonts ===
Si vous mettez une nouvelle police de caractère (dans //.fonts// par exemple), il faut mettre a jour le cache:
fc-cache
=== Réinitialiser la sensibilité et l’accélération de la souris ===
xset mouse 0 0
Vous pouvez placer cette commande dans votre .xsession pour en profiter à chaque démarrage.
=== Activer les compose key et faire des accents sous avec clavier anglais ===
setxkbmap -option compose:ralt
Faites ensuite un //AltDroite+`// (tilde) puis tapez la lettre //a// et vous obtenez un à. Vous pouvez aussi faire l'inverse: //AltDroite+a// puis tapez `(tilde). Pour le â: //AltDroite+a// puis tapez Shift+6 (du clavier alphabétique): â. Faites quelques essais pour trouver les différents accents.
Cette combine peut fonctionner pour les lettres suivantes:
* lalt: Left Alt, Alt Gauche.
* ralt: Right Alt, Alt Droite.
* lctrl: Left Ctrl, Ctrl Gauche.
* rctrl: Right Ctrl, Ctrl Droite.
Source: [[http://blog.ssokolow.com/archives/2011/12/24/getting-your-way-with-setxkbmap/|Getting your way with setxkbmap]]
=== Reinitialiser les options de setxkbmap ===
setxkbmap -option
==== Audio ====
=== Supprimer PulseAudio au profit d'ALSA ===
Si vous désinstallez PulseAudio, il peut arriver que vous ayez des soucis de son. Un exemple flagrant est une lenteur au démarrage d'une application sonore (VLC, Flash, etc...) car il essaye de se connecter au serveur PulseAudio alors que celui ci n'est plus la...
La faute a un fichier de config:
/etc/asound.conf
ou
~/.asoundrc
Qui est la version "user" du premier.
Ces fichiers servent a [[http://alsa.opensrc.org/.asoundrc|dire]] avec quel matériel, serveur sonore, etc... ALSA doit lire tel ou tel type de son. C'est vraiment la config de ALSA.
Si vous n'avez pas de matériel spécial, le plus simple est de le supprimer pour forcer l'utilisation de ALSA dans tout les cas (c'est ce que j'ai fait). Sinon vous pouvez supprimer les groupes faisant référence a //pulse//. De cette façon, ALSA n'essaiera pas de lancer PulseAudio.
==== Compression/Décompression ====
=== tar ===
== Compresser une archive tar ==
Compresser le dossier //myArchive// (en gzip):
tar -czvf myArchive.tar.gz myArchive
L'argument //z//, c'est pour compresser en gzip.
== Décompresser une archive tar ==
Decompresser dans un sous dossier //myArchive//:
tar -xvf myArchive.tar
== Lister le contenu d'une archive tar ==
Pour afficher la liste du contenu d'un fichier //myArchive.tar// :
tar -tvf myArchive.tar
Source: [[http://fr.wikipedia.org/wiki/Tar_%28informatique%29|http://fr.wikipedia.org/wiki/Tar_%28informatique%29]]
=== Compresser/Décompresser une archive zip ===
Compresser récursivement le dossier //myArchive//:
zip -r myArchive.zip myArchive
Décompresser dans un sous dossier //myArchive//:
unzip myArchive.zip -d myArchive
Décompresser tout les fichier zip d'un dossier:
unzip *.zip
Ou bien:
for z in *.zip; do unzip $z; done
=== Compresser/Décompresser une archive rar ===
unrar e myArchive.rar
unrar x myArchive.rar
Source: [[http://www.cyberciti.biz/faq/open-rar-file-or-extract-rar-files-under-linux-or-unix/|Open RAR File / Extract RAR Files Under Linux or UNIX]]
=== 7z ===
Compresser:
7z a -t7z -mx9 -mmt=on -pmypassword archive.7z files
Plus complexe:
7z a -t7z -mx9 -mfb=256 -md=256m -ms=on -mmt=on archive.7z files
Décompresser:
7z x stuff.7z
==== Divers ====
Logiciels divers
=== Clipboard managers ===
Ces petits logiciels se calent souvent dans la barre des taches et stockent le contenu des copier/coller. Très pratique pour les utilisateurs avancés.
* [[http://userbase.kde.org/Klipper|Klipper]] - KDE
* [[http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin|Clipman]] - XFCE
* [[http://parcellite.sourceforge.net/|Parcellite]] - GTK+
Source: [[http://www.webupd8.org/2010/08/best-linux-clipboard-manager.html|http://www.webupd8.org/2010/08/best-linux-clipboard-manager.html]]
=== Changer la résolution de grub2 ===
Il faut d'abord connaître la résolution VESA disponible (VESA ne supporte pas 1920x1080).
sudo hwinfo --framebuffer
Ce qui vous donne une liste.
Par exemple, chez moi je prend la plus haute disponible:
Mode 0x0346: 1400x1050 (+5632), 24 bits
Éditez le fichier:
sudo nano /etc/default/grub
Décommentez:
#GRUB_GFXMODE=640x480
Et mettez:
GRUB_GFXMODE=1400x1050x24
GRUB_GFXPAYLOAD_LINUX=keep
//GRUB_GFXPAYLOAD_LINUX// dit a grub2 de ne pas changer la résolution si on lance linux (cela permet d'avoir des terminaux tty en haute résolution).
C'est fini! Faite un:
sudo update-grub2
Puis redémarrez votre ordinateur.
Des liens en vrac:
* [[http://doc.ubuntu-fr.org/grub-pc|Ubuntu-fr - GRUB2]]
* [[http://doc.ubuntu-fr.org/tutoriel/comment_activer_le_framebuffer|Ubuntu-fr - Comment activer le framebuffer?]]
* [[http://ubuntuforums.org/showthread.php?t=1195275|UbuntuForums - Grub 2 Basics]]
* [[http://ubuntuforums.org/showthread.php?t=1535718|UbuntuForums - 1920x1080 resolution monitor: does it support grub?]]
=== Lancer nedit en utf8 ===
Cette manip marche sûrement pour d'autres logiciels.
LANG=fr_FR nedit&
=== Screencast ===
ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -s 1680x1050 -r 30 -i :0.0 -vcodec mpeg2video -sameq -acodec libmp3lame -ab 128k screencast.mpg
* [[http://fr.wikipedia.org/wiki/Liste_de_logiciels_de_screencasting|Liste de logiciels de screencasting]]
* [[http://github.com/nullkey/glc/wiki|GLC]]
=== Supprimer les associations de fichier Wine ===
rm -fr ~/.local/share/applications/wine-extension-*
rm -fr ~/.local/share/mime/packages/*wine-extension*
rm -fr ~/.local/share/icons/*wine-extension*
Source: [[https://linuxfr.org/forums/astucesdivers/posts/wine-extension-desktop|https://linuxfr.org/forums/astucesdivers/posts/wine-extension-desktop]]
=== Créer un nouveau Wineprefix ===
Pour créer un nouveau dossier Wine prêt a l'emploi:
WINEPREFIX=~/.wine-foo wineboot
Mais ce dossier ne sera pas accessible depuis le menu 'Winetricks//. Pour ça il faut lancer le faire dans le bon dossier://
WINEPREFIX=~/.local/share/wineprefixes/foo wineboot
On peut meme pousser le vice en créant un fichier //wrapper.cfg// avec le nom du préfixe dedans (pour qu'il apparaisse dans //Winetricks//:
echo ww_name=\"My Foo\" > ~/.local/share/wineprefixes/wrapper.cfg
=== Extraire la piste Ogg d'une vidéo WebM sans ré-encodage ===
Le format [[http://www.webmproject.org/|WebM]] est un container [[http://www.matroska.org/|Matroska]] qui empaquète un (ou plusieurs) flux vidéos encodés en [[https://fr.wikipedia.org/wiki/VP8|VP8]] et un (ou plusieurs) flux audios encodés en [[https://www.xiph.org/vorbis/|Vorbis]]. Le [[https://fr.wikipedia.org/wiki/Ogg|Ogg]] est un container principalement (de facto disons) utilisé pour l'audio encodé en Vorbis.
De ce fait, il est possible d'extraire la piste audio d'un fichier WebM de la placer dans un container Ogg sans avoir à la modifier, et donc, sans avoir à la ré-encoder. La méthode ici consiste à utiliser [[http://jdownloader.com/|jDownloader]] pour télécharger une vidéo Youtube au format WebM dans sa plus haute résolution disponible (Ici, 720p).
Une fois le fichier téléchargé, il suffit d'extraire la piste audio grâce à cette commande (nécessite le package //mkvtoolnix//).
$ mkvextract tracks "Avicii - Super Mario World Levels (Full Version)(720p_VP8-Vorbis).webm" 2:monSuperFichierOgg.ogg
Extracting track 2 with the CodecID 'A_VORBIS' to the file 'monSuperFichierOgg.ogg'. Container format: Ogg (Vorbis in Ogg)
Avancement : 100%
Le chiffre //2// correspond au numéro de la piste à extraire.
Et bam! Vous avez un fichier Ogg de super qualité!
Source: [[http://notepad.patheticcockroach.com/2430/extracting-a-vorbis-audio-track-to-an-ogg-audio-file/|http://notepad.patheticcockroach.com/2430/extracting-a-vorbis-audio-track-to-an-ogg-audio-file/]]
=== Extraire le son d'une vidéo MP4 sans ré-encodage ===
ffmpeg -i myVideo.mp4 -vn -acodec copy mySound.aac
Source [[http://www.linuxquestions.org/questions/linux-software-2/best-way-to-extract-aac-from-mp4-losslessly-852936/|Best way to extract AAC from mp4 losslessly]]
=== Convertir un CD audio en wav ===
Cette commande fait un rapport des pistes disponibles:
cdparanoia -vsQ
Cette commande va extraire le CD audio en wav en mode //batch// (les fichiers sont séparés: Un par piste).
cdparanoia -B
Cette commande extrait du début de la piste deux à la fin de la piste deux (soit, juste la piste deux).
cdparanoia "2-2"
Sur certains CD, il se peut que la derniere piste affiche des messages d'erreurs et que l'extraction ne finisse jamais. Il suffit d'ouvrir avec Audacity le fichier .wav généré et de le resauvegarder en wav.
Source: [[http://www.cyberciti.biz/faq/linux-ripping-and-encoding-audio-files/|http://www.cyberciti.biz/faq/linux-ripping-and-encoding-audio-files/]]
=== Repérer des fichiers identiques ===
Très pratique pour trouver des photos identiques.
fdupes -r repertoire
Exemple:
$ fdupes -r ./
./IMG_7608 (copie).JPG
./IMG_7608.JPG
=== Dumper un CD ===
Il y a plusieurs façons de dumper un CD. La plus simple étant celle ci:
dd if=/dev/cdrom of=mydump.iso
Cette methode fonctionne egalement avec des DVDs.
En revanche, si votre CD contient des pistes audios, il vaut mieux utiliser cette méthode:
cdrdao read-cd --read-raw --datafile mydump.bin --device /dev/cdrom --driver generic-mmc-raw mydump.toc
toc2cue mydump.toc mydump.cue
N'oubliez pas de démonter le lecteur CD avant de faire cette manipulation:
sudo umount /dev/cdrom
Source: [[http://www.tux-planet.fr/trouver-des-fichiers-identiques-sous-linux-avec-fdupes/|Trouver des fichiers identiques sous Linux avec fdupes]]
=== Renommer toutes les extensions des fichiers d'un dossier ===
Cet exemple renomme tout les //.txt// en //.dat//.
for i in *.txt;do mv $i ${i%txt}dat ;done
Source: [[http://linuxfr.org/forums/astucesdivers/posts/terminal-renommer-une-s%C3%A9rie-de-fichiers-sous-unix|Renommer une série de fichiers sous Unix]]
=== Convertir un PDF en fichier image ===
pdftoppm /path/to/the/my_file.pdf /path/to/extract/images
Vous pouvez extraire que les pages voulues:
pdftoppm -f 12 -l 12 /path/to/the/my_file.pdf /path/to/extract/images
=== Extraire les images d'un fichier PDF ===
pdfimages /path/to/the/my_file.pdf /path/to/extract/images
Vous pouvez extraire les images des pages uniquement voulues:
pdfimages -f 12 -l 12 /path/to/the/my_file.pdf /path/to/extract/images
Source: [[http://stefaanlippens.net/extract-images-from-pdf-documents|Extract images from a PDF document]]
=== Créer un gif animé depuis un movie ===
ffmpeg -ss 431 -t 20 -i my_movie.mp4 -vf crop=1280:536:0:92 -r 15 toto%05d.png
* -ss est le début en seconde.
* -t est le nombre de seconde à extraire.
* -i le fichier vidéo en entré.
* -vf crop=width:heigh:left:top la taille à croper et le decalage à partir du coin supèrieure gauche.
* -r le nombre d'image seconde en sortie (à placer après le input).
Voyez large et supprimez les images en trop au début et en fin de vidéo.
Puis:
convert -delay 6.666 -resize 200x200 toto*.png -loop 0 toto.gif
* -delay le temps en centième de seconde entre chaque image: (1/15)*100
* -resize la hauteur et la largeur maximum. Pour ne pas concerver le ration, placez un point d'exclamation (!) à la fin.
* -loop 0 pour faire tourner l'animation en boucle.
Et si je gif animé s'y prette, une ligne qui réduit le nombre de couleur, et donc, sa taille:
gifsicle --color-method median-cut --colors 256 --optimize=03 toto200.gif > toto200optim.gif
=== Activer l'anti-aliasing dans une application Java ===
java -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -jar
[[http://www.fevrierdorian.com/wiki/Commandes_utiles_(Linux)|Source]]