We gaan verder met de interessante en nuttige commando's die we soms vergeten te gebruiken, omdat ze impliciet in ons systeem aanwezig zijn. In dit geval zullen we er een gebruiken waarmee we een beetje met onze geschiedenis kunnen spelen.
Laten we een eenvoudig voorbeeld nemen, een terminal openen en plaatsen:
$ nano /etc/sudoers
Ze zullen zich kunnen realiseren dat we het bestand niet kunnen bewerken als we geen beheerders zijn. Dus laten we sudo gebruiken, maar om het commando niet te herhalen dat we plaatsen:
$ sudo !!
En dit zal herhalen:
$ sudo nano /etc/sudoers
Dat wil zeggen, het commando !! herhaalt de opdracht die we eerder in de terminal hebben uitgevoerd. We kunnen ook een ander commando uitvoeren dat niet eerder het nummer in de geschiedenis kende.
Open een terminal en plaats:
$ history
In mijn geval komt het er ongeveer zo uit:
[code] 495 cd Desktop /496 ls
497 wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
498 cd
499 cvlc Muziek / Jamendo / The \ Patinettes \ - \ Bliss \ - \ 2011.06.03 /
500 cvlc Muziek / Rock /
[/ Code]
Als ik het commando uitvoer !! het vorige commando wordt uitgevoerd, wat in dit geval zou zijn:
$ cvlc Música/Rock/
Maar als u bijvoorbeeld het commando wilt uitvoeren:
$ wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
Ik zou gewoon moeten zeggen:
$ !497
497 is het nummer voor het commando. Simpel toch?
Wauw, ik wist dit niet, heel goede info, bedankt.
Hierdoor hoef ik niet op de pijl omhoog | start te drukken. Bedankt voor de info.
Ik vind het erg handig, dit in combinatie met de Ctrl + R voor het zoeken naar opdrachten maakt de ervaring in de ttys nog aangenamer.
Ik gebruik meestal een alias filteren:
alias h='history | egrep -i'
Nu ik erover nadenk, is het misschien beter om een functie als deze toe te voegen aan het .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
}
Gebruik op deze manier gewoon h om alle opdrachten in de geschiedenis weer te geven, of h parameter om de opdrachten weer te geven die overeenkomen met de parameter (die overigens reguliere expressies toestaat).
Ik gebruik de directionals. Dan probeer ik het.