AIX : historique horodaté des commandes sous ksh

Un petit billet rapide pour présenter une commande bien sympatique et un peu méconnu. La commande fc qui permet de manipuler l'historique des commandes sous le shell ksh.

Elle est capable de lister les commandes déjà passés

# fc -l
779 df
780 df -k
781 df -g
782 echo test
783 echo vi
784 which vi
785 fc -l
On peut aussi lui spécifier l'interval des commandes à lister
# fc -l 780 784
780 df -k
781 df -g
782 echo test
783 echo vi
784 which vi
Je reconnais que jusqu'ici cette commande n'est qu'un équivalent de la commande history.

Là où cette commande devient vraiment intéressante c'est lorsque l'on positionne la variable EXTENDED_HISTORY à ON. On obtient alors un horodatage des commandes exécutés.
Le mieux est d'ajouter dans /etc/profile la ligne suivante :
EXTENDED_HISTORY=ON; export EXTENDED_HISTORY
Il suffit d'exécuter la commande suivante pour avoir l'horodatage :
# fc -t
777 2007/09/27 13:19:25 :: fc -t
778 2007/09/27 13:20:59 :: fc -l
779 2007/09/27 13:21:04 :: df
780 2007/09/27 13:21:06 :: df -k
781 2007/09/27 13:21:08 :: df -g
782 2007/09/27 13:21:11 :: echo test
783 2007/09/27 13:21:24 :: echo vi
784 2007/09/27 13:21:26 :: which vi
On peut aussi positionner la variable HISTDATEFMT avec la syntaxe de la commande date pour changer le format des dates.
# export HISTDATEFMT="jour %d mois %m annee %y"
# fc -t
800 jour 27 mois 09 annee 07 :: df -g


fc permet pas mal d'autres choses , comme lister les commandes à partir de la première occurence de l'exécution d'une commande
# fc -l date
Ou éditer une commande (il est mieux de positionner la variable FCEDIT sur l'éditeur que l'on veut utiliser)
export FCEDIT=/usr/bin/vi
fc df

Et voilà qui termine la présentation de cette commande. On a un horodatage sympathique des commandes exécutées. Bien que cela ne remplace pas un vrai mécanisme d'auditing (car on peut modifier les fichiers d'historiques), tout administrateur à qui l'on a déjà demandé de retrouver qu'elle commande avait été exécuté et à quel heure devrait apprécier.

Commentaires

1. Le jeudi, mars 6 2008, 09:37 par SD-Asc

Très bonne commande, un rêve !

2. Le mercredi, février 4 2009, 13:50 par les vaubanriens

Un petit coucou des Lillois du Groupe Vauban !!!, j'espere que tu vas bien, toujours acharné d'informatique !!!, on garde ton blog en marque page car il est interessant.

Philippe et Xavier avec nos meilleurs souvenirs.

3. Le mercredi, février 4 2009, 20:50 par Alain Dejoux

Hello et merci,

C'est amusant que vous ayez posté sur cet article car j'avais découvert cette commande lors de mon passage chez vous :-)

Passez le bonjour à tout le monde de ma part :-)

Alain

4. Le mardi, septembre 1 2009, 16:51 par pepse

C'est bizarre j'ai essayé ton petit tutoriel et je n'ai pas d'historique daté des commande dans ma commande fc.
Je suis en Aix 5.3 et il n'y a pas d'option -t a fc d'après le man.

5. Le mercredi, septembre 2 2009, 18:45 par Alain Dejoux

Hello,

Le paramètre a peut être été introduit dans un TL. Je n'ai plus d'AIX 5.3 avec un tl plus ancien que le tl 5 donc je ne peux pas vérifier. Mais à partir du tl5 au moins le paramètre -t est bien là et présent dans le man.

Bye,

Alain

6. Le vendredi, octobre 2 2009, 14:35 par Fab

Très intéressant ce blog, je bookmark !
En plus je vois que t'es passé à Groupe-Vauban toi aussi d'après le message de Philippe et Xavier, j'étais dans l'équipe de Philippe de 2000 à septembre 2003, comme le monde est petit !
Salut les Vaubanriens si vous passez sur le blog :)