Kommandohistorikken hjelper deg med å se kommandoer du tidligere har kjørt inne i terminalen. Her er hvordan du kan administrere kommandohistorikken på Linux.
På Linux blir hver kommando du skriver lagret i historiefilen. Historiekommandoen lar deg se og gjenbruke disse kommandoene uten å måtte skrive dem på nytt. Du kan navigere gjennom historikklisten ved å bruke Opp og Ned nøkler. Det kan imidlertid være tider du ønsker å slette noen kommandoer fra loggen eller permanent deaktivere historikklagringsfunksjonen.
Heldigvis lar Linux deg kontrollere kommandologgingsfunksjoner, for eksempel å deaktivere den midlertidig eller permanent, sletting av hele historien, eller forhindrer at visse kommandoer lagres i loggen liste. La oss se hvordan.
Slett hele kommandohistorikken på Linux
For å slette hele kommandohistorikk på Linux fra begynnelsen, bruk historiekommandoen med -c alternativ:
historie -c
Dette vil slette hele historien til kommandoene du tidligere har kjørt.
Slett spesifikke kommandoer fra historien
Noen ganger vil du kanskje fjerne spesifikke kommandoer i stedet for å slette hele historien. I dette tilfellet må du bestemme nummeret knyttet til den aktuelle kommandoen i historikklisten. Du kan gjøre dette ved å skrive:
historie
Eller du kan også overføre historikken til grep for å finne den ønskede informasjonen enklere:
historie | grep ifconfig
Når du har funnet kommandonummeret, kan du slette det ved å bruke historiekommandoen med -d alternativ etterfulgt av kommandonummeret:
historie -d
Utfør en kommando uten å inkludere den i historien
For å utføre en kommando uten at den er registrert i historikken, legg til en Rom før kommandoen. Men for at denne funksjonen skal fungere, må du stille inn HISTKONTROLL miljøvariabel til ignorer space ved å bruke følgende kommando:
eksport HISTCONTROL=ignorespace
Denne endringen vedvarer ikke etter en omstart. For å gjøre den permanent, legg den til i din .bashrc fil ved å bruke følgende kommando:
echo 'HISTCONTROL=ignorespace' >> ~/.bashrc
Ved å aktivere denne funksjonen vil ikke Bash ta opp kommandoer som begynner med et mellomrom i historiefilen.
Følgende kommando vil for eksempel ikke bli registrert av skallet:
[mellomrom] ekko 'hei, dette er den første linjen'
Hvis du kjører den samme kommandoen uten mellomrom, vil Bash registrere den i historien:
echo 'hei, dette er den første linjen'
På samme måte kan du også la Bash fjerne påfølgende dupliserte kommandoer fra historien med:
echo 'HISTCONTROL=ignoredups' >> ~/.bashrc
Denne funksjonen lagrer de påfølgende duplikatene bare én gang i historikklisten.
Hvordan aktivere/deaktivere kommandohistorikk på Linux
Selv om den forrige metoden kan forhindre at skallet logger kommandoer i historikken, er det kanskje ikke praktisk når man arbeider med et stort antall kommandoer.
Å sette inn et mellomrom før hver kommando kan bli monotont og tyngende. I et slikt scenario kan du midlertidig deaktivere skallhistorikk ved å utføre følgende kommando:
angi +o-historikk
For å slå den på igjen, bruk følgende kommando:
sett -o historikk
For å deaktivere Linux-kommandohistorikk permanent, bruk:
echo 'sett +o historie' >> ~/.bashrc
Ignorer visse kommandoer fra å bli registrert i historien
Det kan være visse kommandoer du ønsker å ekskludere, da de kan rote historikklisten og gjøre det vanskelig å navigere. Noen av de vanlige eksemplene er pwd, ls, mann, katt og cd-kommandoen da det kan være repeterende og overflødig.
Bruker HISTIGNORE miljøvariabel, kan du kontrollere hvilke kommandoer som ikke skal legges til i historikklisten. For å ekskludere visse kommandoer som historie, pwd og cat fra lagring i historikklisten, skiller du dem for eksempel med et kolon og omslutter dem i doble anførselstegn som følger:
eksport HISTIGNORE="historie: pwd: katt"
For å gjøre endringen permanent, legg til kommandoen i .bashrc fil ved hjelp av:
echo 'HISTIGNORE="history: pwd: cat"' >> .bashrc
Kontroller Bash Command History på Linux
Linux tilbyr omfattende kontroll over administrasjon av kommandolinjehistorikk, slik at brukere kan spesifisere hvilke kommandoer som skal lagres i historikk, slett spesifikke kommandoer fra loggen, aktiver eller deaktiver historikk midlertidig eller slett hele historie.
Dette bidrar ikke bare til å beskytte brukerens personvern, men forhindrer også at irrelevante eller repeterende kommandoer roter til Bash-historien.
En enda bedre måte å få tilgang til kommandolinjehistorikk på er å bruke McFly, en nevrale nettverksdrevet erstatning til standard reverse-i-search på Linux.