BASH programiranje

Uporaba in prilagajanje zgodovine ukazov Bash

Uporaba in prilagajanje zgodovine ukazov Bash
Lupina bash je privzeto okolje ukazne vrstice, ki je na voljo v večini distribucij Linuxa. Podobno kot v vseh okoljih lupine hrani evidenco ukazov, ki jih je uporabnik prej izvedel. Ta evidenca se hrani in vzdržuje tudi, ko ponovno zaženemo sistem.

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:

$ zgodovina

V 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 -n

Primer 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 -n

Za ogled najstarejšega števila n ukazov, ki vključuje določeno ključno besedo, uporabite naslednjo sintakso:

$ zgodovina | ključna beseda grep | head -n

Primer 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 -cw

Prilagajanje zgodovine ukazov bash

Če želite prilagoditi zgodovino ukazov bash, bomo morali spremeniti ~ /.datoteka bashrc. Če želite urediti ~ /.bashrc, uporabite naslednji ukaz:

$ nano ~ /.bashrc

Ko 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 ~ /.bashrc

1. 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 $ HISTSIZE

Podobno 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 histappend

Vključ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 histappend

Ali pa dodajte naslednjo vrstico, če želite onemogočiti možnost dodajanja in želite prepisati datoteko ob izhodu:

$ shopt -u histappend

4. 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.

Če želite uporabiti te funkcije, odprite ~ /.bashrc in dodajte naslednjo vrstico z vrednostmi, ločenimi s dvopičjem, kot sledi:

$ export HISTCONTROL = ignorespace: ignoredups

6. 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.

Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...
Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...
Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...