Saatat tietää historian komennon peruskäytön, mutta se voi tehdä paljon enemmän. Bash-historia tallennetaan yleensä tiedostoon ~ /.bash_historia. Sen avulla voit hakea tallennetun tietueen takaisin ja käyttää sitä uudelleen tehokkaalla tavalla, jotta saat parhaan hyödyn bash-historian tallennusominaisuudesta. Ei vain tätä, mutta voit myös muokata ja hallita bash-komennon lähtöä haluamallasi tavalla.
Tässä artikkelissa selitämme, kuinka bash-komentohistoriaa voidaan käyttää ja mukauttaa tehokkaasti sen ominaisuuksien hyödyntämiseksi.
Olemme käyttäneet Debian 10: tä tässä artikkelissa mainittujen komentojen ja menettelyjen suorittamiseen.
Bash-komentohistorian käyttäminen
1. Bash-historian tarkasteleminen
Voit tarkastella shell-komentojen koko historiaa suorittamalla seuraavan komennon Terminalissa:
$ historiaSe luetteloi tietyn käyttäjän koko historian historiatiedostosta, joka on tallennettu nimenomaan tälle käyttäjälle. Näet kaikki komennot, jotka alkavat kullekin osoitetulla numerolla. Se listaa vanhemmat komennot ylhäältä alkaen numerosta 1 ja uudemmat komennot alhaalta.
2. Haku historiatiedostosta
Voit myös etsiä tiettyä avainsanaa historian tuotoksesta. Yhdistä historiakomento grep: n ja tietyn avainsanan kanssa etsiäksesi määritettyä avainsanaa vastaavia komentoja seuraavasti:
$ historia | grep [avainsana]Esimerkiksi, jos haluat luetella kaikki komennot, jotka sisältävät avainsanan "etsi", komento olisi:
$ historia | grep löytää
3. Viimeisten n komennon tarkastelu
Historia-komento näyttää oletusarvoisesti käyttäjän suorittamat viimeiset 1000 komentoa. Jos haluat listata vain tietyn numeron, sanotaan n viimeisen suoritetun komennon numero, suorita seuraava komento Terminalissa:
$ historia nEsimerkiksi viimeisten seitsemän suoritetun komennon luetteloimiseksi komento olisi:
$ historia 7Voit tarkastella viimeksi määritetyn avainsanan sisältävien n ajokomennon määrää käyttämällä seuraavaa syntaksia:
$ historia | grep-avainsana | häntä -nEsimerkki tästä olisi tarkastella viimeisiä 4 suoritettua komentoa avainsanalla “java”.
$ historia | grep java | häntä -n
4. Katso vanhimmat komennot
Voit tarkastella vanhinta n komentojen määrää käyttämällä terminaalin seuraavaa syntaksia:
$ historia | pää -nVoit tarkastella vanhinta n komentojen määrää, jotka sisältävät tietyn avainsanan, käyttämällä seuraavaa syntaksia:
$ historia | grep avainsana | head -nEsimerkki tästä olisi tarkastella vanhimpia 4 suoritettua komentoa avainsanalla “java”.
$ historia | grep java | pää -4
5. Tyhjennä Bash-historia kokonaan
Poista koko bash-historia suorittamalla seuraava komento Terminalissa:
$ historia -cwBash-komentohistorian mukauttaminen
Bash-komentohistorian mukauttamiseksi meidän on tehtävä muutoksia ~ /.bashrc-tiedosto. ~ /.bashrc-tiedosto, käytä seuraavaa komentoa:
$ nano ~ /.bashrcKun olet muokannut tiedostoa, tallenna ja sulje nanoeditori painamalla Ctrl + O ja Ctrl + X.
Suorita sitten seuraava komento soveltaa muutoksia:
$ lähde ~ /.bashrc1. Lisää päivämäärä ja aikaleima Bash-historiaan
Jos haluat näyttää päivämäärän ja aikaleiman sekä komentohistorian, voit tehdä sen lisäämällä seuraavan rivin ~ /.bashrc:
$ export HISTTIMEFORMAT = '% F,% T'Suorita nyt historia komento ja se näyttää komentohistorian vastaavilla tiedoilla ja aikaleimalla.
2. Bash-historian koko kasvaa
Bash pitää oletuksena 500 komentoa historialuettelossa. Voimme kuitenkin muuttaa tätä arvoa käyttämällä HISTSIZE-arvoa.
Voit tarkastella bash-historian nykyistä kokoa suorittamalla seuraava komento Terminalissa:
$ echo $ HISTSIZESamoin bash-historiatiedoston oletuskoko on 500. Se on historiatiedostossa olevien merkintöjen enimmäismäärä.
Jos haluat lisätä bash-historian kokoa, sanotaan 10000, lisää seuraavat rivit ~ /.bashrc-tiedosto:
$ HISTSIZE = 10000$ HISTFILESIZE = 10000
Suorita seuraavat komennot Terminalissa varmistaaksesi, että bash-historian koko on muuttunut onnistuneesti:
$ echo $ HISTSIZE$ echo $ HISTFILESIZE
3. Liitä Bash-komennot historiatiedostoon
Kun bash-istunto on suljettu, voit valita, korvataanko vai lisätäänkö historiatiedoston komennot histappend-muuttujan avulla. Voit tarkastella nykyisiä asetuksia suorittamalla seuraavan komennon Terminalissa:
$ shopt histappendLähdön ”päällä” -vaihtoehto osoittaa, että histappend-vaihtoehto on käytössä ja komennot liitetään historiatiedostoon korvaamisen sijaan. Kun “off” näkyy, histappend-vaihtoehto on poistettu käytöstä ja tiedosto korvataan.
Avaa ~ /.bashrc-tiedosto ja:
Lisää seuraava rivi, jos haluat liittää komennot historiatiedostoon korvaamisen sijaan:
$ shopt -s histappendTai lisää seuraava rivi, jos haluat poistaa lisäysasetuksen käytöstä ja haluat korvata tiedoston poistuttaessa:
$ shopt -u histappend4. Säilytä Bash-historiaa välittömästi
Bash tallentaa oletusarvoisesti istunnon bash-historiatiedostoon vasta, kun istunto on päättynyt. Voit muuttaa tätä oletuskäyttäytymistä ja saada jokaisen suorittamasi komennon tallentamaan välittömästi käyttämällä PROMPT_COMMAND -ohjelmaa.
Muokkaa ~ /.bashrc-tiedosto ja lisää seuraava rivi:
$ PROMPT_COMMAND = 'historia -a'Nyt kun suoritat minkä tahansa komennon, se lisätään välittömästi historiatiedostoon.
5. Ohjaa Bash-historiaa
HISTCONTROL-muuttujan avulla voimme hallita tapaa, jolla bash tallentaa komentohistoriamme. Voimme määrittää sen ohittamaan päällekkäiset merkinnät ja / tai ohittamaan merkinnät, joissa on etureunaa.
- ignorespace - eliminoi komennot, jotka alkavat avaruushistorialuettelosta.
- ignoredups - poista päällekkäiset komennot.
- ignoreboth - Ota käyttöön sekä ohitetut lisäykset että ohitustila
- pyyhi - poista kopiot koko luettelosta
Voit käyttää näitä toimintoja avaamalla ~ /.bashrc ja lisää seuraava rivi arvoilla, jotka on erotettu kaksoispisteellä seuraavasti:
$ export HISTCONTROL = ignorespace: ignoredup6. Ohita tietyt komennot
Voimme myös hallita mitä komentoja ohittaa historiassa käyttämällä muuttujaa HISTIGNORE. Se on kaksoispisteellä erotettu luettelo malleista, joissa voimme määrittää kaikki komennot, jotka haluamme ohittaa historiasta.
Esimerkiksi, jos emme halua luetella peruskomentoja, kuten historia-, ls-, pwd-komentoja historialuettelossa, lisätään seuraava rivi ~ /.bashrc-tiedosto:
$ export HISTIGNORE = "historia: ls: pwd:"Linux bash -komentohistorian avulla voit tehdä paljon enemmän kuin vain toistaa vanhat komennot. Tässä artikkelissa olemme oppineet käyttämään bash-historiaa aiemmin suoritettujen komentojen tarkastelemiseen ja oppineet myös hallitsemaan tapaa, jolla bash tallentaa komentohistorian.