Linux-terminalen har en "historik" -funktion. Med den här funktionen säkerhetskopieras alla kommandoprocesser som du anger för senare. Eftersom alla dina terminalkommandon sparas i "historik", är det viktigt att ha en säkerhetskopia av den för säkerhetsskydd.
I den här guiden visar vi dig hur du säkerhetskopierar Linux-terminalhistoriken och hur du också återställer säkerhetskopior. Så öppna upp din favorit Linux-terminalemulator och följ med!
Var lagras Linux-terminalhistoriken?
Linux-terminalen lagrar sin historik i en fil. Denna fil heter ".bash_history." Vem som helst kan redigera den och den lagras i hemkatalogen. Eftersom terminalhistorikfilen för Linux lagras i en användarkatalog har varje användare på systemet en fil.
Speciella behörigheter skyddar inte denna historikfiler, och alla användare på systemet kan titta på historien för en annan med ett enkelt kommando. Så, till exempel, om jag vill titta på terminalen / kommandoradshistoriken för användarnamnet "användare" på mitt Linux-system, skulle jag göra det:

cat /home/user/.bash_history
Användare kan också visa historiken för den aktuella användaren som de är inloggade i Linux-terminalskalet genom att helt enkelt utföra kommandot "historia".
history
Bäst av allt, eftersom "historia" bara är en fil kan du söka som en vanlig textfil med grep-funktionen. Så, till exempel, för att hitta förekomster av "git klon" i användarnamn med kommandot nedan.
cat /home/user/.bash_history | grep "git clone"
Det fungerar också som den nuvarande inloggade användaren med kommandot "historik".
history | grep "search term"
Spara terminalhistorik i en säkerhetskopia
I det föregående avsnittet i den här guiden pratade jagom hur "historiken" för Linux-terminalen bara är en snyggt dold textfil som innehåller alla användarinmatade kommandon. Tja, eftersom det bara är en fil, betyder det att det är superlätt att säkerhetskopiera.
För att skapa en säkerhetskopia, använd katt kommando. Varför? Med katt, kan du se hela textfilen direkt i terminalen. Vi kan använda det här kommandot i kombination med symbolen ">" för att omdirigera visningsutgången till en säkerhetskopia.
Så, till exempel, för att säkerhetskopiera din nuvarande historik, kör katt kommando mot “~ / .bash_history” och spara den i en fil med etiketten “history_backup.”

cat ~/.bash_history > history_backup
Du kan också köra historia i kombination med ">" och spara det på så sätt.
history > history_backup
Slutligen är det möjligt att säkerhetskopiera kommandoraden / terminalhistoriken för en annan användare som inte är inloggad genom att köra kommandot nedan.
Obs! Se till att du ändrar "användarnamn" till den användare som du vill spara historik från.
cat /home/username/.bash_history > history_backup
Säkerhetskopierar bara vissa historikobjekt
Du kanske bara vill säkerhetskopiera specifika kommandon i din Linux-terminalhistorik. Så här gör du är att visa historikfilen och kombinera den med grep kommando, som kommer att filtrera specifika sökord.
Till exempel endast för att göra säkerhetskopior i din Linux-terminalhistorik som innehåller git klon eller git kommandon, kan du köra åtgärden nedan.
Notera: i dessa exempel använder vi ">>" snarare än ">. Anledningen till" >> "är att det inte kommer att skriva över innehållet i historikfilens säkerhetskopia och kan köras om flera gånger för att lägga till i säkerhetskopiering.
cat ~/.bash_history | grep "git" >> history_backup
Eller
cat /home/username/.bash_history | grep "git" >> history_backup
Filtrera med grep kan också tillämpas på historia som så.
history | grep "git" >> history_backup
För att säkerhetskopiera vissa sökord från historikfilen, ersätt "git" i exemplen ovan med de kommandon du vill säkerhetskopiera. Känn dig fri att köra det här kommandot så mycket som behövs.
Hur återställer du historikens säkerhetskopia
Återställa historikens säkerhetskopia är lika enkelt som att ta bort originalfilen och sätta säkerhetskopian på plats. Om du vill ta bort den ursprungliga historikfilen använder du rm kommando i ett terminalfönster för att radera ".bash_history."
rm ~/.bash_history
När den ursprungliga historikfilen raderas från hemmappen för den användare där du vill återställa historiken använder du mv kommando för att byta namn på "history_backup" till ".bash_history."
mv history_backup ~/.bash_history
Nu när den nya historikfilen är på plats körs historia -rw kommando för att ladda om terminalens historikfunktion.
history -rw
Du kommer då att kunna se din terminalhistorik med:
history
Återställ säkerhetskopior för andra användare
Behöver du återställa historiska säkerhetskopior från andra användare på systemet? För att göra detta, börja med att logga in på deras användare med hjälp av su kommando.
su username
När du har loggat in på användaren tar du bort den aktuella historikfilen som finns i användarens hemkatalog (~).
rm ~/.bash_history
Därifrån byter du namn på historikens säkerhetskopieringsfil som den nya ".bash_history" -filen i användarens katalog.
mv /path/to/backup/file/history-backup ~/.bash_history
Skriv ändringarna med:
history -rw
När du är klar, kör historia för att se de återställda kommandona i terminalfönstret.
kommentarer