Mogoče poznate osnovno uporabo ukaza history, vendar lahko naredi veliko več kot to. Zgodovina Bash je običajno shranjena v datoteki ~ /.bash_history. Omogoča vam, da učinkovito prikličete in ponovno uporabite shranjeni zapis, da kar najbolje izkoristite funkcijo shranjevanja zgodovine bash. Ne samo to, lahko tudi prilagodite in nadzirate izhod ukaza bash na način, ki ga želite.
V tem članku bomo razložili, kako učinkovito uporabiti in prilagoditi zgodovino ukazov bash, da kar najbolje izkoristite njene funkcije.
Za izvajanje ukazov in postopkov, omenjenih v tem članku, smo uporabili Debian 10.
Uporaba zgodovine ukazov bash
1. Ogled bash zgodovine
Če si želite ogledati celotno zgodovino ukazov lupine, lahko v terminalu zaženete naslednji ukaz:
$ zgodovinaV zgodovinski datoteki, shranjeni posebej za tega uporabnika, bo navedena celotna zgodovina za določenega uporabnika. Videli boste vse ukaze, ki se začnejo s številko, dodeljeno vsakemu od njih. Na vrhu bodo navedeni starejši ukazi, začenši s številko 1, in novejši ukazi spodaj.
2. Iskanje po zgodovini
Prav tako lahko poiščete določeno ključno besedo v izhodu zgodovine. Povežite zgodovinski ukaz z grep in določeno ključno besedo, da poiščete ukaze, ki se ujemajo z določeno ključno besedo, kot sledi:
$ zgodovina | grep [ključna beseda]Če bi na primer navedli vse ukaze, ki vključujejo ključno besedo »najdi«, bi bil ukaz:
$ zgodovina | najdi grep
3. Ogled zadnjih n ukazov
Privzeto je v ukazu zgodovine navedeno zadnjih 1000 števila ukazov, ki jih je izvedel uporabnik. V primeru, da želite navesti samo določeno številko, recimo n število nazadnje izvedenega ukaza, v terminalu zaženite naslednji ukaz:
$ zgodovina nČe bi na primer navedli zadnjih 7 izvršenih ukazov, bi bil ukaz:
$ zgodovina 7Če si želite ogledati število zadnjih n ukazov, ki vključujejo določeno ključno besedo, lahko uporabite naslednjo sintakso:
$ zgodovina | ključna beseda grep | tail -nPrimer tega bi bil ogled zadnjih 4 izvršenih ukazov s ključno besedo "java".
$ zgodovina | grep java | rep -n
4. Ogled najstarejših ukazov
Za ogled najstarejšega števila n ukazov lahko v terminalu uporabite naslednjo sintakso:
$ zgodovina | glava -nZa ogled najstarejšega števila n ukazov, ki vključuje določeno ključno besedo, uporabite naslednjo sintakso:
$ zgodovina | ključna beseda grep | head -nPrimer tega bi bil ogled najstarejših 4 izvršenih ukazov s ključno besedo "java".
$ zgodovina | grep java | glava -4
5. Počisti zgodovino Basha v celoti
Če želite odstraniti celotno zgodovino bash, v terminalu zaženite naslednji ukaz:
$ zgodovina -cwPrilagajanje zgodovine ukazov bash
Če želite prilagoditi zgodovino ukazov bash, bomo morali spremeniti ~ /.datoteka bashrc. Če želite urediti ~ /.bashrc, uporabite naslednji ukaz:
$ nano ~ /.bashrcKo končate s spreminjanjem datoteke, uporabite Ctrl + O in Ctrl + X, da shranite in zaprete urejevalnik nano.
Nato zaženite naslednji ukaz, da uveljavite spremembe:
$ vir ~ /.bashrc1. V zgodovino Bash dodajte datum in časovni žig
Če želite prikazati datum in časovni žig skupaj z zgodovino ukazov, lahko to storite tako, da dodate ~ vrstico v ~ /.bashrc:
$ export HISTTIMEFORMAT = '% F,% T'Zdaj zaženite zgodovino ukaz in bo prikazal zgodovino ukaza z ustreznimi podatki in časovnim žigom.
2. Povečanje velikosti zgodovine Bash
Bash privzeto hrani 500 ukazov na seznamu zgodovine. Vendar lahko to vrednost spremenimo z uporabo vrednosti HISTSIZE.
Če si želite ogledati trenutno velikost zgodovine bash, v terminalu zaženite naslednji ukaz:
$ echo $ HISTSIZEPodobno je privzeta velikost datoteke zgodovine bash 500. To je največje število vnosov, ki jih vsebuje datoteka zgodovine.
Če želite povečati velikost zgodovine bash, recimo 10000, dodajte naslednje vrstice v ~ /.datoteka bashrc:
$ HISTSIZE = 10000$ HISTFILESIZE = 10000
Če želite preveriti, ali se je velikost zgodovine bash uspešno spremenila, v terminalu zaženite naslednje ukaze:
$ echo $ HISTSIZE$ echo $ HISTFILESIZE
3. Ukaze Bash dodajte v zgodovino
Ko je seja bash zaprta, lahko s spremenljivko histappend izberete, ali želite prepisati ali dodati ukaze v zgodovinski datoteki. Če si želite ogledati trenutne nastavitve, v terminalu zaženite naslednji ukaz:
$ shopt histappendVključeno v izhodu prikazuje možnost histappend je omogočena in ukazi bodo dodani v zgodovino, namesto da bi jih prepisali. Medtem ko se prikaže »off«, je možnost histappend onemogočena in datoteka bo prepisana.
Odprite ~ /.datoteka bashrc in:
Če želite ukaze dodati datoteki zgodovine, namesto da bi prepisali, dodajte naslednjo vrstico:
$ shopt -s histappendAli pa dodajte naslednjo vrstico, če želite onemogočiti možnost dodajanja in želite prepisati datoteko ob izhodu:
$ shopt -u histappend4. Takoj shranite zgodovino Bash
Bash privzeto shrani sejo v datoteko zgodovine bash, samo ko se seja konča. Če želite spremeniti to privzeto vedenje in takoj shraniti vsak ukaz, ki ste ga izvedli, lahko uporabite PROMPT_COMMAND.
Uredi ~ /.bashrc in dodajte naslednjo vrstico:
$ PROMPT_COMMAND = 'zgodovina -a'Zdaj, ko izvedete kateri koli ukaz, bo ta takoj dodan v zgodovinsko datoteko.
5. Control Bash History
Način, kako bash shranjuje zgodovino ukazov, lahko nadzorujemo s spremenljivko HISTCONTROL. Določimo ga lahko za prezrtje podvojenih vnosov in / ali za prezrtje vnosov z vodilnimi presledki.
- ignorespace - odstrani ukaze, ki se začnejo s seznamom zgodovine presledkov.
- ignoredups - odpravite podvojene ukaze.
- ignoreboth - omogočite prezrte in prezrte prostore
- izbrisati - odstraniti dvojnike s celotnega seznama
Če želite uporabiti te funkcije, odprite ~ /.bashrc in dodajte naslednjo vrstico z vrednostmi, ločenimi s dvopičjem, kot sledi:
$ export HISTCONTROL = ignorespace: ignoredups6. Prezri določene ukaze
Katere ukaze v zgodovini prezremo lahko nadziramo tudi s spremenljivko HISTIGNORE. To je seznam vzorcev, ločenih z debelo črevo, v katerem lahko določimo vse ukaze, ki jih želimo prezreti iz zgodovine.
Če na primer na seznamu zgodovine ne želimo navajati osnovnih ukazov, kot so ukazi history, ls, pwd, potem v ~ /.datoteka bashrc:
$ export HISTIGNORE = "zgodovina: ls: pwd:"Z zgodovino ukazov bash za Linux lahko naredite veliko več kot le ponavljanje starih ukazov. V tem članku smo se naučili, kako uporabljati zgodovino bash za ogled ukazov, ki so se že izvajali, in se tudi naučili nadzirati način, kako bash shranjuje zgodovino ukazov.