Bashin ja Powershellin komentohistorian käyttö
Unix-komentotulkeissa kuten Bashissa on ollut vuosikaudet varsin monipuoliset tavat palata komentotulkin historiasta löytyviin komentoihin. Nuoli ylös palaa komentohistoriassa taaksepäin ja nuoli alas vie eteenpäin. Koko historian näkee komennolla “history”:
$ history
1257 git remote -v
1258 cd /tmp/
--- snip ---
2242 id -un 0
2243 id -gn 0
Tämän voi yhdistää grepin kanssa:
$ history|grep remote
1264 git remote -v
--- snip --
Yksi kätevimmistä on haku historiasta: ensin painetaan Ctrl-R ja sen jälkeen syötetään hakusana (alla “gpg”):
(reverse-i-search)`gpg': gpg -v --verify openvpn-2.4.6.tar.xz.asc
Mikäli järkevän oloinen komento löytyy, ajetaan se Return-näppäimellä. Jos komentoa halutaan muokata ajamatta sitä, painetaan Tab. Jos halutaan etsiä muita osumia, painetaan Ctrl-R uudelleen. Ctrl-R on erityisen kätevä silloin, kun on rakennettu rakkaudella valtavan pitkä komentorivi, joka on liian kaukana komentotulkin historiassa nuolinäppäimillä löydettäväksi.
Myös Powershellissä on mahdollista käyttää nuolinäppäimiä Bashin tapaan. Myös history-komento löytyy:
PS> Get-History
Id CommandLine
-- -----------
1 cd $HOME
2 Get-ChildItem -Recurse
3 cd opt
--- snip ---
PS> Get-History | Where-Object { $_.CommandLine -like "*HOME*" }
Id CommandLine
-- -----------
1 cd $HOME
Historiasta haku onnistuu myös kirjoittamalla # ja syöttämällä hakusana…
PS> #history
… ja painalla Tab:
PS> Get-History | Where-Object { $_.CommandLine -like "*HOME*" }
Tab-näppäimellä voi etsiä muita osumia ja Return-näppäimellä valitaan tämänhetkinen komentorivi.