Näppäinoikotiet
Voit selata bash-historiaasi käyttämällä joitakin bashin monia hyödyllisiä pikanäppäimiä. Paina näitä pikavalintoja ja aiemmin käyttämiäsi komentoja ilmestyy kehotteeseen.
- Nuoli ylöspäin tai Ctrl + P: Siirry historian edelliseen komentoon. Paina näppäintä useita kertoja kävelemään taaksepäin käyttämäsi komennoilla.
- Alaspäin tai Ctrl + N: Siirry seuraavaan komentoon historiassasi. Paina näppäintä useita kertoja kävelemään eteenpäin käyttämiesi komentojen kautta.
- Alt + R: Palauta kaikki muutokset, jotka olet poistanut historiastasi, jos olet muokannut sitä nykyisellä rivillä.
Bashilla on myös erityinen "muistutustila", jolla voit etsiä aikaisemmin suorittamiasi komentoja, eikä vieritä niitä yksitellen.
- Ctrl + R: Nollaa viimeinen komento, joka vastaa antamasi merkkejä. Paina tätä pikakuvaketta ja aloita kirjoittamalla etsiä bash-historia komennolle.
- Ctrl + O: Suorita löytämäsi komento Ctrl + R: llä.
- Ctrl + G: Jätä historian hakutila käyttämättä komentoa.
Tarkastele Bash-historiaa
Voit tulostaa koko koiran historian näytölle suorittamalla yhden komennon:
history
Näet listan kaikista kommenteista sinun bash-historiassasi sekä numeron vasemmalla puolella. Sen vieressä oleva "1" -komento on vanhin komento bash-historiassasi, kun taas suurin määrä komento on viimeisin.
grep
komento hakea komentohistoriasi.
history | grep your_search
Voit myös putkea sen
tail
komento näyttää vain pienen määrän viimeisimpiä komentojasi, joita olet suorittanut. Esimerkiksi seuraava komento näyttäisi historiasi viimeiset 5 merkintää.
history | tail -5
Suorita komentojasi historiastasi
Bash voi nopeasti laajentaa aiempia komentoja tai laajentaa niitä ja muokata niitä. Tätä ominaisuutta kutsutaan nimellä "historian laajennus" ja käytetään huutomerkkiä, joka tunnetaan nimellä "bang". Kirjoita ne vain kehotteeseen ja paina Enter-näppäintä, jotta heidät voidaan suorittaa, kuten mitä tahansa muuta komentoa.
Jotta voit suorittaa tietyn komennon historiastasi numeron perusteella, käytä seuraavaa komentoa:
!#
Oletetaan esimerkiksi, että halusit suorittaa 12. komennon bash-historiastasi. Se on komento, jonka vasemmalla puolella on "12", kun suoritat
history
komento. Kirjoita seuraava komento.
!12
!!
Voit myös viitata komentoon tietyn määrän viivoja takaisin. Esimerkiksi,
!-2
suorittaisi toisen viimeisen komennon suorittamisen.
!!
tarkoittaa samaa kuin
!-1
!!
tai jollekin muulle tämän jakson muulle lausekkeelle. Voit esimerkiksi kirjoittaa seuraavan komennon uudestaan viimeisen suorittamasi komennon
sudo
antamalla sille root-oikeudet. Tämä on erityisen hyödyllinen, jos unohdat lisätä
sudo
ennen kuin suoritat komennon.
sudo !!
Tai voit esimerkiksi toistaa edellisen komennon ja pudottaa sen lähdön grepiksi etsimään jotain tekstiä.
!! | grep text
!text
Joten, jos olet äskettäin suorittanut komennon, joka alkoi
ping
voit suorittaa seuraavan komennon etsimällä sitä. Tämä etsii taaksepäin historianne läpi, etsi viimeisin komento, joka alkaa"
pi
, Ja suorita se heti:
!pi
:p
mihin tahansa edellä mainituista laajennuksista ja bash tulostaa komennon päätelaitteelle suorittamatta sitä. Tämä on hyödyllistä, jos haluat vahvistaa, että valitset oikean komennon ennen sen suorittamista.
!12:p
!!:p
!text:p
Käytä uudelleen argumentteja historiastasi
Bashin avulla voit myös suorittaa uuden komennon, mutta käytä aiempien komentojen argumentteja historiassasi. Tämä voi auttaa sinua käyttämään pitkään tai monimutkaisia argumentteja nopeasti ilman, että ne on kirjoitettava uudelleen.
command !$
Oletetaan esimerkiksi, että suoritit komennon
touch /home/chris/some_long_file_name_you_dont_want_to_type_again
. Nyt haluat suorittaa komennon
nano /home/chris/some_long_file_name_you_dont_want_to_type_again
. Sen sijaan, että kirjoittaisit kaiken tyhjästä, voit suorittaa:
nano !$
!$
tekee bash automaattisesti täyttää edellisen komennon viimeisen argumentin.
ping google.com -c 4
ja sitten ajaa
ping !$
tämä vain laajennettaisiin"
ping 4
“.
Tämän tilanteen korjaamiseksi voit käyttää seuraavaa temppua laajentamaan rivin ensimmäistä argumenttia viimeisen sijaan:
command !^
Joten, jos suoritit
ping google.com -c 4
ja sitten juoksi
ping !^
bash laajentaa tämän"
ping google.com'
command !*
Joten, jos suoritit
ping !*
sen sijaan bash täyttää automaattisesti kaikki argumentit, joita käytit edellisessä komennossa.
command !abc:#
Esimerkiksi suoritimme komennon
sudo hostname ubuntu
aikaisemmin. Jos suoritamme seuraavan komennon, bash etsii taaksepäin historian kautta löytääksesi viimeisen komennon, joka alkaa kirjaimistamme ja täyttää määrittelemämme argumentin. Joten, jos me juoksemme
echo !su:2
bash etsii takaisin etsimään viimeisen komennon, joka alkaa"
su
"Ja täytä toinen argumentti, joka on"
ubuntu
“.
Muut temput toimivat kuten odotit. Esimerkiksi korvaaminen numerolla tähdellä, joka tunnetaan nimellä jokerimerkki, saa bashin täyttämään kaikki argumentit komennosta:
command !abc:*
Toista edellinen komento ja muokkaa sitä
Bashin avulla voit myös toistaa edellisen komennon ja määritellä jotain, jota pitäisi muuttaa. Tämä voi olla hyödyllinen korjaamaan typo komennossa. Esimerkiksi seuraava komento toistaa edellisen komennon, korvaa tekstin"
abc
"Siinä tekstissä"
xyz
“.
^abc^xyz
Esimerkiksi, jos vahingossa suoritat
ping gogle.com
voit sitten ajaa
^gog^goog
ja bash suoritti komennon
ping google.com
sen sijaan.
Jossa historia tallennetaan ja miten se poistetaan
Yhteyskuori tallentaa oletusarvoisesti käyttäjätunnuksesi historiatiedostoon suorittamat komennot, jotka ovat ~ /.bash_history. Jos esimerkiksi käyttäjänimesi on bob, löydät tämän tiedoston osoitteessa /home/bob/.bash_history.
Koska historia tallennetaan tiedostoon, se säilyy istuntojen välillä. Voit suorittaa joitain komentoja, kirjautua ulos, palata seuraavana päivänä ja nämä komennot ovat edelleen historiatiedostossa, jotka ovat valmiita katselemaan ja käyttämään. Jokaisella käyttäjätilillä on oma historiatiedosto erillisellä komentohistorialla.
Voit tyhjentää bash-historian, mutta voit suorittaa seuraavan komennon. Tämä poistaa käyttäjätunnuksen.bash_history-tiedoston sisällön:
history -c
HISTSIZE
muuttuja. Oletuksena on yleensä 500 tai 1000 merkintää. Voit suorittaa seuraavan komennon nähdäksesi koiran historian koon järjestelmässäsi.
echo $HISTSIZE
Jos haluat asettaa historian nollaksi, suorita seuraava komento.
HISTSIZE=0
Nykyisessä istunnossa bash ei tallenna mitään historiatietoja, ellet suorita komentoa
HISTSIZE=1000
asettaa sen takaisin tietylle määrälle merkintöjä.
Kuinka sivuuttaa tilat ja kaksoiskappaleet
Bashin avulla voit ohittaa historiatiedot, jotka alkavat avaruudella, jos asetat
HISTCONTROL
muuttuvaa
ignorespace.
HISTCONTROL=ignorespace
Kirjoita tilaa ennen komentoa ennen sen suorittamista bash-kuvalle ja komento toimii normaalisti, mutta se ei näy historiassasi, jos tämä muuttuja on käytössä. Näin voit pitää historianne hieman puhtaampana valitsemalla komentojen näyttämisen ilman, että ne näkyvät historiassasi.
HISTCONTROL
että
ignoredups.
HISTCONTROL=ignoredups
ignorespace
ja
ignoredups
ominaisuus, aseta
HISTCONTROL
muuttuvaa
ignoreboth.
HISTCONTROL=ignoreboth
Huomaa, että asetetut bash-muuttujat pysyvät vain nykyisessä istunnossa. Sinun on lisättävä nämä käyttäjätiliin.bashrc-tiedostoon, jotta nämä arvot asetetaan automaattisesti jokaiseen käynnissä olevaan bash-istuntoon, jos haluat.