Kuinka suorittaa Linux-komento tallentamatta sitä historiaan


Oletusarvon mukaan komentotulkki (komentotulkki) tallentaa kaikki päätteessäsi suorittamasi komennot tiettyyn tiedostoon, jota kutsutaan historiatiedostoksi tai komentotulkkikomentohistoriaksi. Bashissa (Linux-järjestelmien suosituin komentotulkki) historiassa säilyneiden komentojen määrä on oletuksena 1000, ja joissakin Linux-jakeluissa on 500<..

Voit tarkistaa historiasi koon Bashissa suorittamalla tämän komennon:

echo $HISTSIZE

Jos haluat nähdä suorittamasi vanhemmat komennot, voit käyttää historiakomentoa näyttääksesi komentotulkkikomentohistorian:

history

Joskus saatat haluta poistaa komentotulkin kirjaamasta komentoja sen komentohistoriaan. Voit tehdä sen seuraavasti.

Poista Linux-komento historiasta suorituksen jälkeen

Voit poistaa komennon heti komentotulkkihistoriasta sen jälkeen, kun se on suoritettu komentorivillä liittämällä siihen komennon history -d $ (history 1).

$ (history 1)-alikomento hakee nykyisen pääteistunnon historian viimeisimmän merkinnän, jossa 1 on offset ja -d -vaihtoehto auttaa poistamaan sen.

Kaikki suoritetut komennot tallennetaan normaalisti komentotulkkihistoriaan.

echo "This command is saved in history"
history | tail

Kuitenkin, kun liität komentoriville komennon history -d $ (history 1), se poistetaan heti komentotulkkihistoriasta seuraavan kuvakaappauksen mukaisesti:

echo "This command is not saved in history";history -d $(history 1)
history | tail

Toinen tapa estää komentotulkkia tallentamasta komentoa historiaan on etuliite komento välilyönnillä. Mutta tämä riippuu täysin ~/.bashrc Bash-käynnistystiedostossa määritetyn kuorimuuttujan $HISTCONTROL arvosta. Sillä on oltava jokin seuraavista arvoista: ignorespace tai ignoreboth, jotta tämä menetelmä toimisi.

Voit tarkistaa $HISTCONTROL-muuttujan arvon kuvan osoittamalla tavalla.

echo $HISTCONTROL
OR
cat ~/.bashrc | grep $HISTCONTROL

Jos edellä mainittu shell-muuttuja on asetettu, mitään komentoa, jossa on välilyönti, ei tallenneta historiaan:

echo "This command is not prefixed with space, it will be saved in history!"
echo "This command is prefixed with space, it will not be saved in history!"

Tässä on joitain muita mielenkiintoisia artikkeleita Bashin history- ja history-komennoista:

  • 2 tapaa suorittaa viimeksi suoritetut komennot uudelleen Linuxissa
  • Kuinka tyhjentää BASH-komentorivihistoria Linuxissa
  • Aseta päivämäärä ja aika jokaiselle Bash History -komennolle

Siinä se toistaiseksi! Käytä alla olevaa kommenttilomaketta jakaaksesi ajatuksesi kanssamme tästä aiheesta. Seuraavaan kertaan asti, pysy kanssamme.