Vi fortsætter med de interessante og nyttige kommandoer, som vi nogle gange glemmer at bruge, idet vi har dem implicitte i vores system. I dette tilfælde bruger vi en, der giver os mulighed for at lege lidt med vores historie.
Lad os tage et simpelt eksempel, åbne en terminal og sætte:
$ nano /etc/sudoers
De vil være i stand til at indse, at vi ikke kan redigere filen, hvis vi ikke er administratorer. Så lad os bruge sudo, men for ikke at gentage den kommando, vi lægger:
$ sudo !!
Og dette gentager:
$ sudo nano /etc/sudoers
Det vil sige kommandoen !! gentager den kommando, vi kørte tidligere i terminalen. Vi kan også udføre en anden kommando, der ikke tidligere kender dens nummer i historien.
Åbn en terminal og læg:
$ history
I mit tilfælde kommer noget som dette ud:
[kode] 495 cd Desktop /496 ls
497 wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
498 cd
499 cvlc Music / Jamendo / The \ Patinettes \ - \ Bliss \ - \ 2011.06.03 /
500 cvlc musik / rock /
[/kode]
Hvis jeg kører kommandoen !! den forrige kommando udføres, hvilket i dette tilfælde ville være:
$ cvlc Música/Rock/
Men hvis du f.eks. Vil udføre kommandoen:
$ wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
Jeg bliver bare nødt til at sætte:
$ !497
497 er nummeret foran kommandoen. Simpel, ikke?
Wow, jeg vidste ikke dette, meget god info, tak.
Dette sparer mig for at trykke på pil op | start. Tak for info.
Jeg finder det meget nyttigt, dette i forbindelse med Ctrl + R til kommandosøgning gør oplevelsen i ttys endnu mere behagelig.
Jeg bruger normalt en alias at filtrere:
alias h='history | egrep -i'
Faktisk, nu hvor jeg tænker over det, er det måske bedre at tilføje en funktion som denne til .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
}
På denne måde skal du bare bruge h for at liste alle kommandoer i historikken eller h-parameter for at liste de kommandoer, der matcher parameteren (som forresten tillader regelmæssige udtryk).
Jeg bruger retningsbestemt. Så prøver jeg det.