A la découverte de 5 Commandes Linux Sympa
Par eMerzh le mardi 10 février 2009, 22:12 - Lien permanent
Voici 5 commandes rencontrées ici ou là que j'ai récemment découvert et que je voudrais vous partager....
Le bash {} expansion:
Petite fonction sympa de bash qui va nous éviter de réecrire certaines info. Par exemple, vous voulez faire un le backup de votre /etc/postgresql/8.3/main/postgresql.conf mais vous êtes dans votre /home.
utilisez alors le/chemin/du/fichier{,votreajout}
donc en gros :
$ cp /etc/postgresql/8.3/main/postgresql.conf{,.bak}
va en faite faire un
$ cp /etc/postgresql/8.3/main/postgresql.conf /etc/postgresql/8.3/main/postgresql.conf.bak
Et ca marche aussi pour mv ou diff par exemple :
diff fichiermodifie{,.old}
pv :
Pv est une commande qui va permettre de monitorer l'avancement des commandes un peu longue à l'aide de pipe ( | ). C'est la seule commande de ce lot à requérir une installation. Rien de plus simple pour l'installer que :
sudo aptitude install pv
Pour l'utiliser faite simplement passer le contenu de votre commande par un pipe que vous envoyez vers "pv" qui agira un peu à la façon de "cat".
exemple:
tar cfz - mesphotos | pv > photo.tar.gz
resultat :
65,8MO 0:00:08 [9,31MO/s] [ <=> ]
Ou encore :
pv /var/log/messages | gzip > log.gz
Résultat :
171kO 0:00:00 [18,2MO/s] [========================================================================>] 100%
Plus D'info? ==> man pv
Fichier ouvert par un programme?
Celui-ci est plutôt simple, on utilisera juste "ls" et le répertoire /proc :
remplacez <pid> par le Id du processus du programme que vous voulez scruter
ls -al /proc/<pid>/fd
Quel programme utilise le fichier X ?
utilisons fuser pour cette tâche:
lsof /home/emerzh/photo.png
Plus D'info? ==> man lsof
cd -
Pour revenir simplement au dossier ou vous étiez avant votre dernier "cd", utilisez "cd -" exemple:
emerzh@germaine:/var/www/sites1/apps/test/modules$ cd /home/emerzh
emerzh@germaine:/home/emerzh$ cd -
emerzh@germaine:/var/www/sites1/apps/test/modules$

Commentaires
Il le manquerait pas une virgule à :
diff fichiermodifie{,.old}@djib :oups merci....corrigé!
En passant pour améliorer le "cd -", carrément taper '"-"' avec ça dans le .bashrc :
function - { cd - }(pas réussi à faire ça avec un alias)
Et on peut rajouter, dans le même esprit :
Pas mal
Sur 5 j'en découvre 4 dont 2 qui me rendrons bien service au quotidien!
Merci!
Et pour revenir dans son home, il suffit de taper :
cd
;o)
Merci pour ces astuces, la bash expansion risque de m'être très utile.