Terminal Linux ma funkcję „historii”. Dzięki tej funkcji każda wpisana operacja polecenia zostanie utworzona w celu późniejszego wykonania kopii zapasowej. Ponieważ wszystkie polecenia terminala są zapisywane w „historii”, ważne jest, aby zachować jego kopię zapasową w celu przechowywania.
W tym przewodniku pokażemy, jak wykonać kopię zapasową historii terminali systemu Linux, a także jak przywrócić kopie zapasowe. Więc otwórz swój ulubiony emulator terminala Linux i śledź dalej!
Gdzie jest przechowywana historia terminali Linuksa?
Terminal Linux przechowuje swoją historię w pliku. Ten plik ma nazwę „.bash_history”. Każdy może go edytować i jest przechowywany w katalogu domowym. Ponieważ plik historii terminali dla systemu Linux jest przechowywany w katalogu użytkowników, każdy użytkownik w systemie ma plik.
Specjalne uprawnienia nie chronią tej historiipliki i każdy użytkownik w systemie może przeglądać historię innego za pomocą prostego polecenia. Na przykład, jeśli chcę rzucić okiem na historię terminala / wiersza poleceń nazwy użytkownika „użytkownik” w moim systemie Linux, zrobiłbym:
cat /home/user/.bash_history
Użytkownicy mogą również przeglądać historię bieżącego użytkownika, do którego są zalogowani, w powłoce terminalu Linux, po prostu wykonując polecenie „historia”.
history
Najlepsze jest to, że ponieważ „historia” to tylko plik, można go przeszukiwać jak zwykły plik tekstowy za pomocą funkcji grep. Na przykład, aby znaleźć wystąpienia „git clone” w nazwie użytkownika za pomocą poniższego polecenia.
cat /home/user/.bash_history | grep "git clone"
Działa również jako bieżący zalogowany użytkownik za pomocą polecenia „historia”.
history | grep "search term"
Zapisz historię terminali w kopii zapasowej
W poprzedniej części tego przewodnika mówiłemo tym, jak „historia” terminala Linuksa jest po prostu starannie ukrytym plikiem tekstowym, który zawiera wszystkie polecenia wprowadzone przez użytkownika. Ponieważ jest to tylko plik, oznacza to, że tworzenie kopii zapasowej jest bardzo łatwe.
Aby utworzyć kopię zapasową, skorzystaj z kot dowództwo. Czemu? Z kot, możesz wyświetlić całość pliku tekstowego bezpośrednio w terminalu. Możemy użyć tego polecenia w połączeniu z symbolem „>”, aby przekierować oglądane dane wyjściowe do pliku kopii zapasowej.
Na przykład, aby wykonać kopię zapasową bieżącej historii, uruchom kot polecenie przeciwko „~ / .bash_history” i zapisz go w pliku z etykietą „history_backup”.
cat ~/.bash_history > history_backup
Możesz także uruchomić historia polecenie w połączeniu z „>” i zapisz w ten sposób.
history > history_backup
Wreszcie można wykonać kopię zapasową historii wiersza polecenia / terminala innego użytkownika, który nie jest zalogowany, wykonując poniższe polecenie.
Uwaga: pamiętaj, aby zmienić „nazwę użytkownika” na użytkownika, od którego chcesz zapisać historię.
cat /home/username/.bash_history > history_backup
Tworzy kopie zapasowe tylko niektórych elementów historii
Możesz wykonać kopię zapasową tylko określonych poleceń w historii terminali Linuksa. Można to zrobić, przeglądając plik historii i łącząc go z grep polecenie, które odfiltruje określone słowa kluczowe.
Na przykład, aby wykonać tylko kopie zapasowe poleceń w historii terminali Linux, które zawierają klon gita lub git polecenia, możesz uruchomić operację poniżej.
Uwaga: w tych przykładach używamy „>>” zamiast „>”. Powodem „>>” jest to, że nie zastąpi on zawartości kopii zapasowej pliku historii i może być wielokrotnie uruchamiany ponownie, aby dodać do utworzyć kopię zapasową.
cat ~/.bash_history | grep "git" >> history_backup
Lub
cat /home/username/.bash_history | grep "git" >> history_backup
Filtrowanie za pomocą grep można również zastosować do historia polecenie, tak jak.
history | grep "git" >> history_backup
Aby wykonać kopię zapasową niektórych słów kluczowych z pliku historii, zastąp „git” w powyższych przykładach dowolnymi poleceniami, których kopię zapasową chcesz wykonać. Ponownie uruchom tę komendę w razie potrzeby.
Jak przywrócić kopię zapasową historii
Przywrócenie kopii zapasowej historii jest tak proste, jak usunięcie oryginalnego pliku i umieszczenie kopii zapasowej na swoim miejscu. Aby usunąć oryginalny plik historii, użyj rm polecenie w oknie terminala, aby usunąć „.bash_history”.
rm ~/.bash_history
Po usunięciu oryginalnego pliku historii z folderu domowego użytkownika, w którym chcesz przywrócić historię, użyj mv polecenie zmiany nazwy „history_backup” na „.bash_history”.
mv history_backup ~/.bash_history
Teraz, gdy nowy plik historii jest już uruchomiony, uruchom historia -rw polecenie, aby ponownie załadować funkcję historii terminala.
history -rw
Będziesz wtedy mógł zobaczyć swoją historię terminali dzięki:
history
Przywróć kopie zapasowe dla innych użytkowników
Chcesz przywrócić kopie zapasowe historii od innych użytkowników w systemie? Aby to zrobić, zacznij od zalogowania się do użytkownika za pomocą su Komenda.
su username
Po zalogowaniu się do użytkownika usuń bieżący plik historii, który znajduje się w katalogu osobistym użytkownika (~).
rm ~/.bash_history
Następnie zmień nazwę pliku kopii zapasowej historii na nowy plik „.bash_history” w katalogu użytkownika.
mv /path/to/backup/file/history-backup ~/.bash_history
Zapisz zmiany za pomocą:
history -rw
Po zakończeniu uruchom historia aby wyświetlić przywrócone polecenia w oknie terminala.
Komentarze