BASH programiranje

Korištenje i prilagođavanje povijesti naredbi Bash

Korištenje i prilagođavanje povijesti naredbi Bash
Bash ljuska zadana je okolina naredbenog retka dostupna u većini Linux distribucija. Slično svim okruženjima ljuske, čuva evidenciju naredbi koje je korisnik prethodno izvršio. Ova se evidencija čuva i održava čak i kad ponovno pokrenemo sustav.

Možda znate osnovnu upotrebu naredbe history, ali može i puno više od toga. Povijest basha obično se pohranjuje u datoteku ~ /.bash_history. Omogućuje vam opoziv i ponovnu upotrebu pohranjenog zapisa na učinkovit način kako biste najbolje iskoristili značajku uštede povijesti basha. Ne samo to, već možete prilagoditi i kontrolirati izlaz bash naredbe na način koji želite.

U ovom ćemo članku objasniti kako učinkovito koristiti i prilagoditi povijest naredbi bash kako biste na najbolji način iskoristili njegove značajke.

Koristili smo Debian 10 za pokretanje naredbi i procedura spomenutih u ovom članku.

Korištenje bash povijesti naredbi

1. Pregled bash povijesti

Da biste pogledali cijelu povijest naredbi ljuske, u terminalu možete pokrenuti sljedeću naredbu:

$ povijest

Popisat će cjelokupnu povijest za određenog korisnika iz datoteke povijesti pohranjene posebno za tog korisnika. Vidjet ćete sve naredbe koje počinju brojem dodijeljenim svakoj od njih. Navest će starije naredbe na vrhu počevši s brojem 1 i novije naredbe na dnu.

2. Traženje rezultata povijesti

Također možete potražiti određenu ključnu riječ iz rezultata povijesti. Uparite naredbu povijesti s grepom i određenom ključnom riječi da biste pretražili naredbe koje se podudaraju s navedenom ključnom riječi na sljedeći način:

$ povijest | grep [ključna riječ]

Na primjer, za popis svih naredbi koje uključuju ključnu riječ "pronađi", naredba bi bila:

$ povijest | pronađi grep

3. Pregled zadnjih n naredbi

Naredba povijesti prema zadanim postavkama navodi zadnjih 1000 broja naredbi koje je izvršio korisnik. U slučaju da želite navesti samo određeni broj, recimo n broj posljednje izvršene naredbe, pokrenite sljedeću naredbu u terminalu:

$ povijest n

Na primjer, za popis zadnjih 7 izvršenih naredbi naredba bi bila:

$ povijest 7

Da biste pogledali broj posljednjih n izvršenih naredbi koje uključuju određenu ključnu riječ, možete koristiti sljedeću sintaksu:

$ povijest | grep ključna riječ | tail -n

Primjer za to bio bi pregled zadnjih 4 izvršenih naredbi s ključnom riječi "java".

$ povijest | grep java | rep -n

4. Pregled najstarijih naredbi

Da biste pogledali najstariji n broj naredbi, možete upotrijebiti sljedeću sintaksu u terminalu:

$ povijest | glava -n

Za prikaz najstarijeg broja naredbi koje sadrže određenu ključnu riječ upotrijebite sljedeću sintaksu:

$ povijest | grep ključna riječ | head -n

Primjer toga bio bi pregled najstarijih 4 izvršenih naredbi s ključnom riječi "java".

$ povijest | grep java | glava -4

5. Potpuno očistite povijest Basha

Da biste uklonili cijelu povijest basha, pokrenite sljedeću naredbu u terminalu:

$ povijest -cw

Prilagođavanje povijesti naredbi bash

Da bismo prilagodili povijest naredbi bash, morat ćemo unijeti promjene u ~ /.bashrc datoteka. Za uređivanje ~ /.bashrc datoteku, upotrijebite sljedeću naredbu:

$ nano ~ /.bashrc

Kada završite s izmjenom datoteke, upotrijebite Ctrl + O i Ctrl + X za spremanje i zatvaranje nano uređivača.

Zatim pokrenite sljedeću naredbu da primijenite izmjene:

$ izvor ~ /.bashrc

1. Dodajte datum i vremensku oznaku u povijest basha

Ako želite prikazati datum i vremensku oznaku zajedno s poviješću naredbi, to možete učiniti dodavanjem sljedećeg retka u ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Sada pokrenite povijesti naredba i ona će prikazati povijest naredbe s odgovarajućim podacima i vremenskom oznakom.

2. Povećavanje veličine Bash povijesti

Bash prema zadanim postavkama drži 500 naredbi na popisu povijesti. Međutim, ovu vrijednost možemo promijeniti pomoću vrijednosti HISTSIZE.

Da biste pogledali trenutnu veličinu povijesti basha, pokrenite sljedeću naredbu u terminalu:

$ echo $ HISTSIZE

Slično tome, zadana veličina datoteke povijesti basha je 500. To je maksimalni broj unosa koji se nalaze u datoteci povijesti.

Da bismo povećali veličinu bash povijesti, recimo 10000, dodajte sljedeće retke u ~ /.bashrc datoteka:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

Da biste provjerili je li se veličina povijesti basha uspješno promijenila, pokrenite sljedeće naredbe u terminalu:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Dodavanje naredbi Bash u datoteku povijesti

Kada je bash sesija zatvorena, možete odabrati želite li prepisati ili dodati naredbe u datoteku povijesti pomoću varijable histappend. Da biste pogledali trenutne postavke, u terminalu pokrenite sljedeću naredbu:

$ shopt histappend

"Uključeno" u izlazu pokazuje da je omogućena opcija histappend i naredbe će biti dodane u datoteku povijesti umjesto prepisivanja. Dok se prikazuje "isključeno", opcija histappend je onemogućena i datoteka će se prebrisati.

Otvorite ~ /.bashrc datoteka i:

Dodajte sljedeći redak ako želite dodati naredbe u datoteku povijesti umjesto prepisivanja:

$ shopt -s histappend

Ili dodajte sljedeći redak ako želite onemogućiti opciju dodavanja i želite prebrisati datoteku na izlazu:

$ shopt -u histappend

4. Pohranite povijest Bash-a odmah

Bash prema zadanim postavkama sprema sesiju u datoteku povijesti basha samo nakon završetka sesije. Da biste promijenili ovo zadano ponašanje i omogućili trenutno spremanje svake izvršene naredbe, možete koristiti PROMPT_COMMAND.

Uredi ~ /.bashrc datoteku i dodajte sljedeći redak:

$ PROMPT_COMMAND = 'povijest -a'

Sad kad god izvršite bilo koju naredbu, ona će se odmah dodati u datoteku povijesti.

5. Kontrola povijesti basha

Možemo kontrolirati način na koji bash sprema našu povijest naredbi putem varijable HISTCONTROL. Možemo ga odrediti za zanemarivanje dvostrukih unosa i / ili za zanemarivanje unosa s vodećim razmacima.

Da biste primijenili ove funkcije, otvorite ~ /.bashrc i dodajte sljedeći redak s vrijednostima odvojenim dvotočkom kako slijedi:

$ export HISTCONTROL = ignorespace: ignoredups

6. Zanemari određene naredbe

Također možemo kontrolirati koje naredbe zanemariti u povijesti pomoću varijable HISTIGNORE. To je popis uzoraka odvojenih dvotačkom u kojem možemo odrediti sve naredbe koje želimo zanemariti iz povijesti.

Na primjer, ako na popisu povijesti ne želimo navesti osnovne naredbe kao što su history, ls, pwd naredbe, tada u ~ /.bashrc datoteka:

$ export HISTIGNORE = "povijest: ls: pwd:"

S Linuxom bash povijesti naredbi možete učiniti puno više od pukog ponavljanja starih naredbi. U ovom smo članku naučili kako koristiti povijest basha za pregled naredbi koje su prethodno izvršene, a također smo naučili kontrolirati način na koji bash sprema povijest povijesti naredbi.

Microsoft Sculpt Touch bežični miš pregled
Nedavno sam čitao o Microsoft Sculpt Touch bežični miš i odlučio ga kupiti. Nakon što sam ga neko vrijeme koristio, odlučio sam s njim podijeliti svoj...
Trackpad i pokazivač miša na ekranu AppyMouse za Windows tablete
Korisnicima tableta često nedostaje pokazivač miša, posebno kada su navični koristiti prijenosna računala. Pametni telefoni i tableti osjetljivi na do...
Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...