- - Hvordan sikkerhetskopiere Linux-terminalhistorikken

Slik sikkerhetskopierer du Linux-terminalhistorikken

Linux-terminalen har en "historie" -funksjon. Med denne funksjonen sikkerhetskopieres alle kommandoperasjoner du legger inn senere. Siden alle terminalkommandoene dine er lagret i "historie", er det viktig å ha en sikkerhetskopi av den for sikkerhetsoppbevaring.

I denne guiden viser vi deg hvordan du sikkerhetskopierer Linux-terminalhistorikken og hvordan du også gjenoppretter sikkerhetskopier. Så, åpne opp din favoritt Linux-terminalemulator og følg med!

Hvor er Linux terminalhistorikk lagret?

Linux-terminalen lagrer historikken i en fil. Denne filen heter ".bash_history." Alle kan redigere den, og den er lagret i hjemmekatalogen. Siden terminalhistorikkfilen for Linux er lagret i en brukerkatalog, har hver enkelt bruker på systemet en fil.

Spesielle tillatelser beskytter ikke denne historikkenfiler, og enhver bruker på systemet kan se på historien til en annen med en enkel kommando. Så hvis jeg for eksempel vil se på terminalen / kommandolinjeloggen for brukernavnet "bruker" på Linux-systemet mitt, ville jeg gjøre det:

cat /home/user/.bash_history

Brukere kan også se historikken til den nåværende brukeren de er logget på i Linux-terminalshellet, ved å bare utføre "historikk" -kommandoen.

history

Det beste av alt, siden "historie" bare er en fil, kan den søkes som en vanlig tekstfil ved hjelp av grep-funksjonen. Så for eksempel å finne forekomster av “git klone” i brukernavn med kommandoen nedenfor.

cat /home/user/.bash_history | grep "git clone"

Det fungerer også som den nåværende påloggede brukeren med "historikk" -kommandoen.

history | grep "search term"

Lagre terminalhistorikk i en sikkerhetskopi

I forrige del av denne guiden snakket jegom hvordan "historikken" for Linux-terminalen bare er en pent skjult tekstfil som inneholder alle kommandoer som er lagt inn av brukeren. Vel, siden det bare er en fil, betyr det at det er superenkelt å ta sikkerhetskopi for sikkerhet.

For å lage en sikkerhetskopi, bruk katt kommando. Hvorfor? Med katt, kan du se helheten i en tekstfil rett i terminalen. Vi kan bruke denne kommandoen i kombinasjon med symbolet ">" for å omdirigere visningsutgangen til en sikkerhetskopifil.

Så for eksempel for å ta sikkerhetskopi av din nåværende historie, kjører du katt kommandoen mot “~ / .bash_history” og lagre den i en fil med etiketten “history_backup.”

cat ~/.bash_history > history_backup

Du kan også kjøre historie kommando i kombinasjon med ">" og lagre den på den måten.

history > history_backup

Til slutt er det mulig å sikkerhetskopiere kommandolinjen / terminalhistorikken til en annen bruker som ikke er logget inn ved å kjøre kommandoen nedenfor.

Merk: Husk å endre "brukernavn" til brukeren du vil lagre historikken fra.

cat /home/username/.bash_history > history_backup

Sikkerhetskopierer bare visse historieobjekter

Det kan være lurt å sikkerhetskopiere bestemte kommandoer i Linux-terminalhistorikken. Måten å gjøre dette på er å vise historiefilen og kombinere den med grep kommando, som vil filtrere spesifikke nøkkelord.

For eksempel bare å ta sikkerhetskopikommandoer i Linux-terminalen din som inneholder git klon eller git kommandoer, kan du kjøre operasjonen nedenfor.

Merk: i disse eksemplene bruker vi ">>" i stedet for ">." Årsaken til ">>" er at det ikke vil overskrive innholdet i sikkerhetskopifilen av historikkfilen, og kan kjøres flere ganger for å legge til i backup.

cat ~/.bash_history | grep "git" >> history_backup

Eller

cat /home/username/.bash_history | grep "git" >> history_backup

Filtrering med grep kan også brukes på historie kommandoen, som det.

history | grep "git" >> history_backup

Hvis du vil sikkerhetskopiere bestemte nøkkelord fra historikkfilen, erstatter du "git" i eksemplene ovenfor med hvilke kommandoer du vil sikkerhetskopiere. Kjør gjerne denne kommandoen på nytt så mye som nødvendig.

Slik gjenoppretter du sikkerhetskopien av historien

Å gjenopprette historisk sikkerhetskopi er så enkelt som å slette den originale filen og sette sikkerhetskopien på sin plass. Hvis du vil slette den opprinnelige historiefilen, bruker du rm kommando i et terminalvindu for å slette ".bash_history."

rm ~/.bash_history

Når den originale historiefilen er slettet fra hjemmemappen til brukeren du vil gjenopprette historikken i, bruker du mv kommando for å gi nytt navn til "history_backup" til ".bash_history."

mv history_backup ~/.bash_history

Nå som den nye historiefilen er på plass, kjør historie -rw kommando for å laste opp terminalen sin historikkfunksjon.

history -rw

Du vil da kunne se terminalhistorikken din med:

history

Gjenopprett sikkerhetskopier for andre brukere

Trenger du å gjenopprette historiske sikkerhetskopier fra andre brukere på systemet? For å gjøre dette, begynn med å logge på brukeren deres ved å bruke su kommando.

su username

Etter å ha logget på brukeren, sletter du den gjeldende historikkfilen som ligger i brukerens hjemmekatalog (~).

rm ~/.bash_history

Derfra kan du gi nytt navn til historikk-sikkerhetskopifilen som den nye ".bash_history" -filen i brukerkatalogen.

mv /path/to/backup/file/history-backup ~/.bash_history

Skriv endringene med:

history -rw

Når du er ferdig, løp historie for å se de gjenopprettede kommandoene i terminalvinduet.

kommentarer