Posts tagged with unix

Recompiler plus vite ?

Feb 22, 2009 in cpp, linux, programmation, unix | Informatique

Si il vous arrive régulièrement de recompiler un logiciel développé en C ou C++, ccache pourrait vous intéresser. Concrètement, il s’agit d’un programme que vous allez appeler à la place du compilateur et qui va regarder si il n’a pas déjà dans son cache un objet binaire correspondant au fichier à compiler. Ainsi, vous éviterez le temps de compilation pour ce fichier! Au final, on obtient un gain plus ou moins sensible en fonction des projets.

Le cache est par défaut stocké dans le répertoire ~/.ccache/.

Pour utiliser ccache, rien de plus simple sous Debian et ses dérivés comme Ubuntu :)

Il suffit de l’installer

sudo aptitude install ccache

et d’ajouter la ligne suivante dans son fichier ~/.bashrc

PATH=/usr/lib/ccache/:$PATH

Voilà, maintenant ccache remplacera de manière transparente votre gcc qui ne sera appelé qu’en cas de besoin réel :)

What is "watch" ?

Aug 29, 2007 in shell, unix | Informatique

watch est un simple commande shell qui permet d’exécuter périodiquement une commande et d’afficher son résultat sur le terminal.

Par exemple, watch -n 5 df -h exécute la commande df -h toute les 5 secondes. Utile pour avoir un affichage qui se rafraichit, comme avec la commande top, alors que la commande initiale ne le prévoit pas. Plus d’infos : man watch ;)

La commande split

Jul 31, 2007 in shell, unix | Informatique

Pour découper un fichier, il existe une commande : split. Ma copine s’en est servi aujourd’hui même pour m’envoyer un fichier trop gros par mail.

Exemple bidon : découpage d’un fichier iso d’environ 700 Mo dans le but de le transporter sur 3 clés USB de 256 Mo.

split -b256m ubuntu-7.04-desktop-i386.iso ubuntu-7.04-desktop-i386.iso.frag- Au final, on obtient dans le répertoire,

-rw-rw-r-- 1 matt matt 698M 2007-04-15 15:52 ubuntu-7.04-desktop-i386.iso
-rw-rr 1 matt matt 256M 2007-07-31 20:51 ubuntu-7.04-desktop-i386.iso.frag-aa
-rw-rr 1 matt matt 256M 2007-07-31 20:52 ubuntu-7.04-desktop-i386.iso.frag-ab
-rw-rr 1 matt matt 186M 2007-07-31 20:52 ubuntu-7.04-desktop-i386.iso.frag-ac

Pour reconstruire le fichier,

cat ubuntu-*-aa ubuntu-*-ab ubuntu-*-ac > ubuntu-7.04-desktop-i386-copie.iso

Et voilà :-)

Vive le shell!

Mar 07, 2007 in shell, unix | Informatique

J’ai découvert hier que la commande basename acceptait plus d’un argument :)

Exemple: basename /home/matt/signature.txt renvoie signature.txt, dirname /home/matt/signature.txt renvoie /home/matt

Mais basename sait faire beaucoup mieux :

  • basename /home/matt/signature.txt .txt renvoie signature.
  • basename /home/matt/signature.txt ure.txt renvoie signat.

Le renommage massif de fichiers devient facile!

[bash]
 for fichier in *.TXT; do
      nom=`basename $fichier .TXT`
      mv $fichier $nom.txt
 done

Le renommage mais aussi la conversion ou autre ;)

[bash]
 for fichier in *.gif; do
     nom=`basename $fichier .gif`
     convert $fichier $nom.png
     rm $fichier
 done