Posts tagged with shell

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à :-)

Réglage de la luminosité sur portable HP Pavilion 2215

May 04, 2007 in linux, shell | Informatique

Sous Linux, plus précisément avec le noyau 2.6.20, le réglage de la luminosité par les touches spéciales de l’ordinateur ne fonctionne pas correctement. C’est là qu’intervient un script! sudo light_up.sh pour monter la luminosité et sudo light_up.sh down pour la baisser. Je conseille également la modification de la configuration de sudo pour permettre de ne pas taper son mot de passe pour ce script.

Dans le fichier /etc/sudoers, j’ai donc modifié la ligne :

%admin ALL=(ALL) ALL

en

%admin ALL=(ALL) ALL, NOPASSWD: /home/matt/bin/light_up.sh

Et voici enfin le script!

[bash]
#!/bin/bash

# get the current light level
level=`grep current /proc/acpi/video/GFX0/LCD/brightness | cut -d: -f2 | tr -d " "`

# compute the future light level
if [ "$1" = "down" ]; then
    future_level=$[$level-8];
else
    future_level=$[$level+8];
fi

# adjust to the screen properties
if [ "$future_level" -lt 20 ]; then
    future_level=20;
fi

if [ "$future_level" -eq 85 ]; then
    future_level=84;
fi

if [ "$future_level" -gt 84 ]; then
    future_level=93;
fi

# set the level
echo $future_level > /proc/acpi/video/GFX0/LCD/brightness

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