Vous êtes sur la page 1sur 21

fevrierdorian.

com

Commandes utiles (Linux) FdWiki

Bash

Augmenter le nombre de lignes stock dans l'historique

Editez:

.bash_profile

Ajoutez:

HISTSIZE=10000
HISTFILESIZE=10000

Source: 15 Examples To Master Linux Command Line History

Programmes

Systme

Lister les entres d'un dossier par ordre de modification

rt (ordre invers) peut tre remplace par t et permet de lister en fonction de la date
de modification.

Lister les appels systme

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 accs sur un dossier/fichier

Pour rcuprer les diffrents accs fait sur les fichiers d'un dossier:

inotifywatch --recursive /my/path/

Faire ensuite les oprations 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

Retourne quelque chose comme:

Description: Ubuntu 10.04.4 LTS

Retrouver le pid d'un programme depuis son nom

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:

Renvoi:

Classer les processus par utilisation mmoire

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 rsultats:

-k2: Classer la seconde colonne (size dans notre cas).

-r: Reverse result.

-n: Trier en temps que valeur numrique.

Et head -10 n'affiche que les 10 premiers rsultats.

Lister les fichiers ouvert sur le systme

Plus d'exemples ici: lsof - list open files examples

Lister les fichiers ouvert par un programme:

Repeter toute les 3 secondes:

Compter le nombre de fichiers ouverts:

Compte le nombre de lignes renvoyes en fait.

Exemples d'utilisation de find

Cherche les fichiers/dossiers dont les noms contiennent "foo":

Cherche un fichier ou la dernire modification a t faite il y a moins de sept jours:

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:

Rechercher en rcursif:

Printer le rsultat dans un fichier:

grep --line-buffered "word" ./ > output.txt

Ne pas afficher les messages d'erreurs:

Rechercher un pattern a lintrieur des fichiers (source):

-r pour la rcursion, -n pour afficher la ligne.

Lister le hardware

Lister uniquement le contenu du sous menu network:

Hardware Lister (lshw)

Page Wikipedia

Lister les valeurs de S.M.A.R.T. d'un disque dur

sudo smartctl -a /dev/sda

Soyez encore plus lcoute de vos disques

Test If Linux Server SCSI / SATA Hard Disk Going Bad

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

Il faut dabord rcuprer 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:

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 dmonter:

sudo umount /mnt/iso


sudo rm /mnt/iso

Connatre le poids d'un dossier

du -hs /path/to/directory
Source: how to check folder size

Connatre l'espace disque restant

Source: Commande espace disque libre

Supprimer rcursivement 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.

Trs pratique pour virer les caches de Nuke sans le faire rler.:)

find /tmp/nuke/ -type f -exec rm -v '{}' \;

Source: rm files only - retain directory structure

Utiliser les liens symboliques pour stocker des infos courtes

J'avoue que c'est un peu dgueulasse mais le fait de pouvoir stocker/accder a une
information sans faire d'ouverture de fichier sur le systme est trs intressant.

$ ln -s "the data" ./a_file


$ readlink ./a_file
the data

Dplacer tous les fichiers d'un certain type vers un dossier

find ./ -iname "*.pdf" -exec mv {} /your/dst \;

Dmarrage

Quelques outils/conseils pour grer le dmarrage de Linux.

sysv-rc-conf

Ce petit tool permet de grer le lancement des services Linux facilement.


Source:

sysv-rc-conf sur sourceforge

Activer/dsactiver les services au dmarrage

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:

Puis ditez le fichier des groupes:

Verifiez que votre user est dans le groupe sudo:

sudo:x:27:narann

Relogguez vous, le problme devrait tre rsolu.

Notez que le problme est le mme si vous avez le message d'erreur suivant:

Le mcanisme d'autorisation sous-jacent (sudo) ne vous


autorise pas lancer ce programme.

Rseau

Lister les ports ouverts sur la machine

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:Quels sont mes ports ouverts sous Ubuntu?

Rcuprer les ports ouverts depuis lextrieur

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

Empcher de lister les lments d'un dossier:

IndexIgnore *

Empcher de lister les .pdf d'un dossier:

IndexIgnore *.pdf

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 installe

Source: http://snipplr.com/view/5068/

Regnrer un fichier xorg.conf

Source: 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/

Tester un fichier xorg.conf

X -config -retro /root/xorg.conf.new


X -config -retro /etc/X11/xorg.conf

Rcuprer des informations sur une fentre

>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 particulirement gnant si nautilus est lanc aprs le dmarrage d'une session.
Dans mon cas, nautilus et xfdestop sont lanc tout les deux au dmarrage et c'tait
nautilus (et donc le desktop Gnome) qui avaient l'avantage.

Le problme c'est qu'il n'est pas forcment ais de s'assurer que tout les nautilus
lancs le soit bien avec l'option --no-desktop. Il existe donc une option pour a.
Ouvrez 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:

<entry name="show_desktop" mtime="1326487410" type="bool"


value="true"/>

Et passez la valeur false.

Mettre a jour cache des fonts

Si vous mettez une nouvelle police de caractre (dans .fonts par exemple), il faut
mettre a jour le cache:

Rinitialiser la sensibilit et lacclration de la souris


Vous pouvez placer cette commande dans votre .xsession pour en profiter chaque
dmarrage.

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 alphabtique): . Faites quelques essais pour trouver
les diffrents 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: Getting your way with setxkbmap

Reinitialiser les options de setxkbmap

Audio

Supprimer PulseAudio au profit d'ALSA

Si vous dsinstallez PulseAudio, il peut arriver que vous ayez des soucis de son. Un
exemple flagrant est une lenteur au dmarrage 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 dire avec quel matriel, 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 matriel spcial, 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 rfrence a pulse. De cette faon, ALSA n'essaiera pas
de lancer PulseAudio.

Compression/Dcompression

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.

Dcompresser une archive tar

Decompresser dans un sous dossier myArchive:

Lister le contenu d'une archive tar

Pour afficher la liste du contenu d'un fichier myArchive.tar:

Source: http://fr.wikipedia.org/wiki/Tar_%28informatique%29

Compresser/Dcompresser une archive zip

Compresser rcursivement le dossier myArchive:


zip -r myArchive.zip myArchive

Dcompresser dans un sous dossier myArchive:

unzip myArchive.zip -d myArchive

Dcompresser tout les fichier zip d'un dossier:

Ou bien:

for z in *.zip; do unzip $z; done

Compresser/Dcompresser une archive rar

unrar e myArchive.rar
unrar x myArchive.rar

Source: 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

Dcompresser:

Divers

Logiciels divers

Clipboard managers
Ces petits logiciels se calent souvent dans la barre des taches et stockent le contenu
des copier/coller. Trs pratique pour les utilisateurs avancs.

Klipper - KDE

Clipman - XFCE

Parcellite - GTK+

Source: http://www.webupd8.org/2010/08/best-linux-clipboard-manager.html

Changer la rsolution de grub2

Il faut d'abord connatre la rsolution 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

Dcommentez:

#GRUB_GFXMODE=640x480

Et mettez:

GRUB_GFXMODE=1400x1050x24
GRUB_GFXPAYLOAD_LINUX=keep

GRUB_GFXPAYLOAD_LINUX dit a grub2 de ne pas changer la rsolution si on


lance linux (cela permet d'avoir des terminaux tty en haute rsolution).

C'est fini! Faite un:

Puis redmarrez votre ordinateur.

Des liens en vrac:

Ubuntu-fr - GRUB2

Ubuntu-fr - Comment activer le framebuffer?

UbuntuForums - Grub 2 Basics

UbuntuForums - 1920x1080 resolution monitor: does it support grub?

Lancer nedit en utf8

Cette manip marche srement pour d'autres logiciels.

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

Liste de logiciels de screencasting

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

Crer un nouveau Wineprefix


Pour crer un nouveau dossier Wine prt 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 crant un fichier wrapper.cfg avec le nom du


prfixe dedans (pour qu'il apparaisse dans Winetricks:

echo ww_name=\"My Foo\" > ~/.local/share/wineprefixes


/wrapper.cfg

Le format WebM est un container Matroska qui empaqute un (ou plusieurs) flux
vidos encods en VP8 et un (ou plusieurs) flux audios encods en Vorbis. Le 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
mthode ici consiste utiliser jDownloader pour tlcharger une vido Youtube au
format WebM dans sa plus haute rsolution disponible (Ici, 720p).

Une fois le fichier tlcharg, il suffit d'extraire la piste audio grce cette commande
(ncessite 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 numro 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/

ffmpeg -i myVideo.mp4 -vn -acodec copy mySound.aac

Source Best way to extract AAC from mp4 losslessly

Convertir un CD audio en wav

Cette commande fait un rapport des pistes disponibles:

Cette commande va extraire le CD audio en wav en mode batch (les fichiers sont
spars: Un par piste).

Cette commande extrait du dbut de la piste deux la fin de la piste deux (soit, juste
la piste deux).

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 gnr et
de le resauvegarder en wav.

Source: http://www.cyberciti.biz/faq/linux-ripping-and-encoding-audio-files/

Reprer des fichiers identiques

Trs pratique pour trouver des photos identiques.


Exemple:

$ fdupes -r ./
./IMG_7608 (copie).JPG
./IMG_7608.JPG

Dumper un CD

Il y a plusieurs faons 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
mthode:

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 dmonter le lecteur CD avant de faire cette manipulation:

Source: 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: Renommer une srie 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

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: Extract images from a PDF document

Crer 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 dbut en seconde.

-t est le nombre de seconde extraire.

-i le fichier vido en entr.

-vf crop=width:heigh:left:top la taille croper et le decalage partir du coin


suprieure gauche.

-r le nombre d'image seconde en sortie ( placer aprs le input).

Voyez large et supprimez les images en trop au dbut et en fin de vido.

Puis:

convert -delay 6.666 -resize 200x200 toto*.png -loop 0


toto.gif

-delay le temps en centime 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 rduit 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


<your_jar_file>

Liens utiles

List of KDE applications

List of GNOME applications

x11-apps

x11-utils