- - Hoe een back-up te maken van de geschiedenis van Linux-terminals

Een back-up maken van de geschiedenis van Linux-terminals

De Linux-terminal heeft een "geschiedenis" -functie. Met deze functie wordt van elke opdrachtbewerking die u invoert een back-up gemaakt voor later. Aangezien al uw terminalopdrachten worden opgeslagen in 'geschiedenis', is het van essentieel belang om een ​​back-up ervan te bewaren voor bewaring.

In deze gids laten we u zien hoe u een back-up kunt maken van de geschiedenis van Linux-terminals en hoe u ook back-ups kunt herstellen. Dus, open je favoriete Linux-terminalemulator en volg mee!

Waar wordt de geschiedenis van Linux-terminals opgeslagen?

De Linux-terminal slaat zijn geschiedenis op in een bestand. Dit bestand heeft de naam '.bash_history'. Iedereen kan het bewerken en het wordt opgeslagen in de thuismap. Aangezien het terminalhistoriebestand voor Linux wordt opgeslagen in een gebruikersmap, heeft elke gebruiker op het systeem een ​​bestand.

Speciale machtigingen beschermen deze geschiedenis nietbestanden en elke gebruiker op het systeem kan de geschiedenis van een ander bekijken met een eenvoudige opdracht. Dus als ik bijvoorbeeld de terminal- / opdrachtregelgeschiedenis van gebruikersnaam 'user' op mijn Linux-systeem wil bekijken, zou ik het volgende doen:

cat /home/user/.bash_history

Gebruikers kunnen ook de geschiedenis bekijken van de huidige gebruiker waarbij ze zijn aangemeld in de Linux-terminal shell, door eenvoudig de opdracht "geschiedenis" uit te voeren.

history

Het beste van alles is dat, omdat "geschiedenis" slechts een bestand is, het kan worden gezocht als een gewoon tekstbestand met behulp van de grep-functie. Dus, bijvoorbeeld, om instanties van "git clone" te vinden in gebruikersnaam met de onderstaande opdracht.

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

Het werkt ook als de huidige aangemelde gebruiker met de opdracht "geschiedenis".

history | grep "search term"

Terminalgeschiedenis opslaan in een back-up

In het vorige gedeelte van deze handleiding heb ik gepraatover hoe de "geschiedenis" voor de Linux-terminal gewoon een netjes verborgen tekstbestand is dat alle door de gebruiker ingevoerde opdrachten bevat. Omdat het slechts een bestand is, betekent dit dat het supergemakkelijk is om een ​​back-up te maken voor bewaring.

Gebruik de om een ​​back-up te maken kat commando. Waarom? Met kat, kunt u het volledige tekstbestand rechtstreeks in de terminal bekijken. We kunnen deze opdracht gebruiken in combinatie met het symbool ">" om de weergave-uitvoer om te leiden naar een back-upbestand.

Om bijvoorbeeld een back-up van uw huidige geschiedenis te maken, voert u de kat commando tegen "~ / .bash_history" en sla het op in een bestand met het label "history_backup".

cat ~/.bash_history > history_backup

U kunt ook de geschiedenis commando in combinatie met ">" en sla het op die manier op.

history > history_backup

Ten slotte is het mogelijk om een ​​back-up te maken van de opdrachtregel- / terminalgeschiedenis van een andere gebruiker die niet is ingelogd door de onderstaande opdracht uit te voeren.

Opmerking: zorg ervoor dat u 'gebruikersnaam' wijzigt in de gebruiker van wie u de geschiedenis wilt opslaan.

cat /home/username/.bash_history > history_backup

Alleen een back-up maken van bepaalde geschiedenisitems

Mogelijk wilt u alleen een back-up maken van specifieke opdrachten in uw Linux-terminalgeschiedenis. De manier om dit te doen is om het geschiedenisbestand te bekijken en te combineren met de grep commando, waarmee specifieke zoekwoorden worden gefilterd.

Om bijvoorbeeld alleen back-upopdrachten in uw Linux-terminalgeschiedenis te gebruiken die de git kloon of git commando's, kunt u de onderstaande bewerking uitvoeren.

Opmerking: in deze voorbeelden gebruiken we ">>" in plaats van ">". De reden voor ">>" is dat het de inhoud van de back-up van het geschiedenisbestand niet overschrijft en meerdere keren opnieuw kan worden uitgevoerd om toe te voegen aan de back-up.

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

Of

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

Filteren met grep kan ook worden toegepast op de geschiedenis commando, zo.

history | grep "git" >> history_backup

Als u een back-up van bepaalde trefwoorden uit het geschiedenisbestand wilt maken, vervangt u "git" in de bovenstaande voorbeelden door de opdrachten waarvan u een back-up wilt maken. U kunt dit commando zo vaak als nodig opnieuw uitvoeren.

Hoe de geschiedenisback-up te herstellen

De geschiedenisback-up herstellen is net zo eenvoudig als het verwijderen van het originele bestand en de back-up op zijn plaats zetten. Gebruik de om het originele geschiedenisbestand te verwijderen rm commando in een terminalvenster om ".bash_history" te verwijderen.

rm ~/.bash_history

Nadat het originele geschiedenisbestand is verwijderd uit de thuismap van de gebruiker waarin u de geschiedenis wilt herstellen, gebruikt u de mv commando om "history_backup" te hernoemen naar ".bash_history."

mv history_backup ~/.bash_history

Nu het nieuwe geschiedenisbestand is geïnstalleerd, voert u de geschiedenis -rw opdracht om de geschiedenisfunctie van de terminal opnieuw te laden.

history -rw

U kunt dan uw terminalgeschiedenis bekijken met:

history

Herstel back-ups voor andere gebruikers

Moet u geschiedenisback-ups van andere gebruikers op het systeem herstellen? Om dit te doen, begint u met het aanmelden bij hun gebruiker met behulp van de su commando.

su username

Nadat u bent aangemeld bij de gebruiker, verwijdert u het huidige geschiedenisbestand dat zich in de thuismap van de gebruiker bevindt (~).

rm ~/.bash_history

Vandaar, hernoem het geschiedenisback-upbestand als het nieuwe ".bash_history" -bestand in de map van de gebruiker.

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

Schrijf de wijzigingen met:

history -rw

Als je klaar bent, ren je geschiedenis om de herstelde opdrachten in het terminalvenster te bekijken.

Comments