BASH-programmering

Brug og tilpasning af Bash Command History

Brug og tilpasning af Bash Command History
Bash-shell er standardkommandolinjemiljøet, der er tilgængeligt i de fleste Linux-distributioner. I lighed med alle shell-miljøer registrerer det kommandoer, der tidligere er blevet udført af brugeren. Denne registrering opbevares og vedligeholdes, selvom vi genstarter vores system.

Du kender muligvis den grundlæggende brug af historik-kommandoen, men det kan gøre meget mere end det. Bash-historik gemmes normalt i filen ~ /.bash_history. Det giver dig mulighed for at tilbagekalde og genbruge den gemte post på en effektiv måde for at få det bedste ud af bash historikbesparende funktion. Ikke kun dette, men du kan også tilpasse og kontrollere bash-kommandooutputtet på den måde, du ønsker.

I denne artikel vil vi forklare, hvordan man effektivt bruger og tilpasser bash-kommandohistorikken for at få mest muligt ud af dens funktioner.

Vi har brugt Debian 10 til at køre de kommandoer og procedurer, der er nævnt i denne artikel.

Brug af bash-kommandohistorik

1. Visning af bash-historikken

For at se hele historikken over shell-kommandoer kan du køre følgende kommando i Terminal:

$ historie

Den viser hele historikken for en bestemt bruger fra historikfilen, der er gemt specielt til den pågældende bruger. Du vil se alle kommandoer, der starter med et nummer, der er tildelt hver af dem. Den viser de ældre kommandoer øverst med nummer 1 og de nyere kommandoer nederst.

2. Søgning efter historikoutput

Du kan også søge efter et bestemt nøgleord fra historikoutputtet. Par historik-kommandoen med grep og et specifikt nøgleord for at søge efter kommandoer, der matcher dit angivne nøgleord som følger:

$ historie | grep [nøgleord]

For eksempel, for at liste alle kommandoer, der inkluderer nøgleordet "find", ville kommandoen være:

$ historie | grep find

3. Visning af sidste n kommandoer

Historik-kommandoen viser som standard det sidste 1000 antal kommandoer, der udføres af en bruger. I tilfælde af at du kun vil liste et specifikt nummer, lad os sige n antallet af sidst udførte kommando, kør følgende kommando i Terminal:

$ historie n

For eksempel, for at liste de sidste 7 udførte kommandoer, ville kommandoen være:

$ historie 7

For at se antallet af de sidste n run-kommandoer, der inkluderer et bestemt nøgleord, kan du bruge følgende syntaks:

$ historie | grep nøgleord | hale -n

Et eksempel på dette ville være at se de sidste 4 udførte kommandoer med nøgleordet “java”.

$ historie | grep java | hale -n

4. Visning af ældste kommandoer

For at se det ældste antal kommandoer kan du bruge følgende syntaks i Terminal:

$ historie | hoved -n

For at se det ældste antal kommandoer, der inkluderer et bestemt nøgleord, skal du bruge følgende syntaks:

$ historie | grep nøgleord | head -n

Et eksempel på dette ville være at se de ældste 4 udførte kommandoer med nøgleordet "java".

$ historie | grep java | hoved -4

5. Ryd Bash-historien fuldstændigt

For at fjerne hele bash-historikken skal du køre følgende kommando i Terminal:

$ historie -cw

Tilpasning af bash-kommandohistorik

For at tilpasse bash-kommandohistorikken bliver vi nødt til at foretage ændringer i ~ /.bashrc-fil. For at redigere ~ /.bashrc-fil, brug følgende kommando:

$ nano ~ /.bashrc

Når du er færdig med at ændre filen, skal du bruge Ctrl + O og Ctrl + X for at gemme og lukke nano-editoren.

Kør derefter følgende kommando for at anvende ændringerne:

$ kilde ~ /.bashrc

1. Føj dato og tidsstempel til Bash History

Hvis du vil vise dato og tidsstempel sammen med kommandohistorikken, kan du gøre det ved at tilføje følgende linje i ~ /.bashrc:

$ eksport HISTTIMEFORMAT = '% F,% T'

Kør nu historie kommando, og den viser kommandohistorikken med tilsvarende data og tidsstempel.

2. Stigende størrelse på Bash History

Bash gemmer som standard 500 kommandoer i historiklisten. Vi kan dog ændre denne værdi ved hjælp af HISTSIZE-værdien.

For at se den aktuelle størrelse af bash-historie skal du køre følgende kommando i Terminal:

$ echo $ HISTSIZE

Tilsvarende er standardstørrelsen på bash-historikfilen 500. Det er det maksimale antal poster, der er indeholdt i historikfilen.

For at øge størrelsen på bash-historien, lad os sige 10000, tilføj følgende linjer i ~ /.bashrc-fil:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

For at kontrollere, om bash-historikstørrelsen er ændret med succes, skal du køre følgende kommandoer i Terminal:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Tilføj Bash-kommandoer til historikfilen

Når en bash-session er lukket, kan du vælge at overskrive eller tilføje kommandoerne i historikfilen ved hjælp af variablen histappend. For at se de aktuelle indstillinger skal du køre følgende kommando i Terminal:

$ shopt histappend

"On" i output viser, at histappend-indstillingen er aktiveret, og kommandoerne tilføjes i historikfilen i stedet for at overskrive. Mens “off” vises, er indstillingen histappend deaktiveret, og filen overskrives.

Åbn ~ /.bashrc-fil og:

Tilføj følgende linje, hvis du vil føje kommandoerne til historikfilen i stedet for at overskrive:

$ shopt -s histappend

Eller tilføj følgende linje, hvis du vil deaktivere tilføjelsesindstillingen og vil overskrive filen ved afslutning:

$ shopt -u histappend

4. Opbevar straks Bash-historien

Bash gemmer som standard kun sessionen i bash-historikfilen, når sessionen slutter. For at ændre denne standardadfærd og gøre det til øjeblikkeligt at gemme hver kommando, du har udført, kan du gøre brug af PROMPT_COMMAND.

Rediger ~ /.bashrc-fil og tilføj følgende linje:

$ PROMPT_COMMAND = 'historie -a'

Nu når du udfører en kommando, føjes den straks til historiefilen.

5. Kontrol Bash-historie

Vi kan styre den måde, bash gemmer vores kommandohistorik gennem HISTCONTROL-variablen. Vi kan specificere det for at ignorere duplikerede poster og / eller for at ignorere poster med førende hvide mellemrum.

For at anvende disse funktioner skal du åbne ~ /.bashrc og tilføj følgende linje med værdier adskilt af tyktarmen som følger:

$ export HISTCONTROL = ignorerer område: ignoreret ups

6. Ignorer specifikke kommandoer

Vi kan også kontrollere, hvilke kommandoer der skal ignoreres i historien ved hjælp af en variabel HISTIGNORE. Det er en kolon-adskilt liste over mønstre, hvor vi kan specificere alle de kommandoer, som vi vil ignorere fra historien.

For eksempel, hvis vi ikke ønsker at liste de grundlæggende kommandoer såsom historie, ls, pwd-kommandoer i historiklisten, tilføjer vi følgende linje i ~ /.bashrc-fil:

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

Med Linux bash-kommandohistorik kan du gøre meget mere end bare at gentage de gamle kommandoer. I denne artikel har vi lært, hvordan man bruger bash-historikken til at se de kommandoer, der tidligere er udført, og også lært at kontrollere den måde, bash gemmer kommandohistorikken.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...