Nous continuons avec les commandes intéressantes et utiles que nous oublions parfois d'utiliser, les ayant implicites dans notre système. Dans ce cas, nous en utiliserons un qui nous permettra de jouer un peu avec notre histoire.
Prenons un exemple simple, ouvrez un terminal et mettez:
$ nano /etc/sudoers
Ils pourront se rendre compte que nous ne pouvons pas éditer le fichier si nous ne sommes pas administrateurs. Alors utilisons sudo, mais pour ne pas répéter la commande, nous mettons:
$ sudo !!
Et cela va se répéter:
$ sudo nano /etc/sudoers
Autrement dit, la commande !! répétera la commande que nous avons exécutée plus tôt dans le terminal. On peut aussi exécuter une autre commande qui n'est pas antérieure connaissant son numéro dans l'historique.
Ouvrez un terminal et mettez:
$ history
Dans mon cas, il en ressort quelque chose comme ceci:
[code] Bureau 495 cd /496 ls
497 wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
498 cd
499 cvlc Music / Jamendo / Les \ Patinettes \ - \ Bliss \ - \ 2011.06.03 /
500 cvlc Musique / Rock /
[/ Code]
Si j'exécute la commande !! la commande précédente est exécutée, ce qui dans ce cas serait:
$ cvlc Música/Rock/
Mais si vous souhaitez exécuter par exemple la commande:
$ wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
Je devrais juste mettre:
$ !497
497 est le nombre devant la commande. Simple non?
Wow, je ne savais pas ça, très bonne info, merci.
Cela m'évite d'appuyer sur la flèche vers le haut | démarrer. Merci pour l'info.
Je trouve cela très utile, cela en conjonction avec Ctrl + R pour la recherche de commandes rend l'expérience dans les ttys encore plus agréable.
J'utilise habituellement un alias à filtrer:
alias h='history | egrep -i'
En fait, maintenant que j'y pense, il vaut peut-être mieux ajouter une fonction comme celle-ci au .bashrc:
h () {
# Función para listar comandos del historial
HISTERROR="Se puede utilizar como máximo un parámetro."
if [ $# -eq 0 ] ; then
history | less
elsif [ $# -eq 1 ] ; then
history | egrep -i $1 | less
else
echo $HISTERROR
fi
}
De cette façon, utilisez simplement h pour lister toutes les commandes de l'historique, ou paramètre h pour lister les commandes qui correspondent au paramètre (qui d'ailleurs autorise les expressions régulières).
J'utilise le directionnel. Ensuite, je l'essaye.