ls et tkDesk : halte au colonialisme culturel nord américain !

ls

Par défaut, les dates des fichiers listés sont affichées de manière incomplète et difficilement compréhensible pour un esprit cartésien.
On peut préciser l'option --full-time, mais alors, les dates s'affichent selon les habitudes nord américaines, et on n'y comprend pas grand chose non plus.

Mais pourquoi ne pourrait-on pas spécifier son propre format d'affichage ? hein ?
Rien de plus simple ! Il suffit de se procurer les sources des fileutils en version 3.16 ou 4.0, et appliquer ce patch (pour la version 3.16) ou celui-ci (pour la version 4.0) à ls.c
Pour cela, copiez ls-<numéro de version>.patch.gz dans /tmp/, par exemple, dé-gzippez le :
gunzip -c ls-<numéro de version>.patch.gz >ls.patch
puis placez vous dans le répertoire src des filesutils :
cd fileutils-3.16/src
ou
cd fileutils-4.0/src
et appliquez le patch :
patch ls.c /tmp/ls.patch

Compilez ensuite le tout en suivant les instructions. On obtient alors une version de ls qui accepte un nouveau paramètre : --time-fmt=<time-format> (on peut remplacer '=' par un ' ').
Ne pas oublier de recopier le ls nouveau en lieu et place de l'ancien (/bin/ls).

La valeur à donner à <time-format> suit la syntaxe de strftime (donc, voir man strftime).

Comme je trouve que les pages de man et d'info manquent cruellement d'exemples, en voici quelques uns :

ls -la --time-fmt "%c" donne quelque chose comme ça :
-rw-r--r--   1 etienne  root         2470 Sat Jun  5 21:47:48 1999 RUB_06_ouinedoze.html

C'est pas forcément mieux. C'est juste pour montrer que ce n'est pas si compliqué que ça.

ls -la --time-fmt "%d/%m/%y %H:%M" donne quelque chose comme ça :
-rw-r--r--   1 etienne  root         1504 01/06/99 00:30 RUB_01_macflyincaster.html

Ca commence à être lisible, non ?

Et pour éviter de devoir se souvenir du format, et de taper je ne sais combien de caractères, pourquoi ne pas faire un alias ? Allez hop ! On édite ~/.bashrc ou /etc/bashrc, et on tape :
alias ls='ls --time-fmt "%d/%m/%y %H:%M"'
par exemple, et à chaque fois que vous taperez ls -la, c'est la commande ls --time-fmt "%d/%m/%y %H:%M" -la qui sera effectivement passée.

tkDesk

Les mêmes causes produisant les mêmes effets, après ls, c'est au tour de TkDesk.
Avec ce patch, applicable à la version 1.1, les dates seront affichées selon un format bien de chez nous, à savoir : jj/mm/aa hh:mm.

Le mode opératoire est le suivant :

 

Voilà, comme écrivent si bien nos amis anglo ou américano-phones ;-)

 


Etienne Herlent, le 28/9/99.