Linux терминалът има функция „история“. С тази функция всяка командна операция, която въведете, ще бъде архивирана за по-късно. Тъй като всичките ви терминални команди са запазени в „историята“, е важно да запазите резервно копие за него.
В това ръководство ще ви покажем как да архивирате историята на терминалите на Linux и как да възстановите архивирането. Така че, отворете любимия си емулатор на терминали за Linux и следвайте след това!
Къде се съхранява историята на терминалите на Linux?
Linux терминалът съхранява историята си във файл. Този файл е кръстен „.bash_history.“ Всеки може да го редактира и той се съхранява в началната директория. Тъй като историята на терминалния файл за Linux се съхранява в потребителска директория, всеки един потребител в системата има файл.
Специалните разрешения не защитават тази историяфайлове и всеки потребител в системата може да разгледа историята на друг с проста команда. Така че, например, ако искам да разгледам историята на терминала / командния ред на потребителското име „потребител“ в моята Linux система, ще направя:

cat /home/user/.bash_history
Потребителите могат също така да видят историята на текущия потребител, в който са влезли в обвивката на терминала на Linux, като просто изпълнят командата „история“.
history
Най-доброто от всичко, тъй като „историята“ е само файл, той може да се търси като обикновен текстов файл с помощта на функцията grep. Така че, например, да намерите копия на „git clone“ в потребителско име с командата по-долу.
cat /home/user/.bash_history | grep "git clone"
Той също работи като текущо влезли в системата с командата "история".
history | grep "search term"
Запишете историята на терминала в резервно копие
В предишния раздел на това ръководство говорихза това как „историята“ за терминала на Linux е просто спретнато скрит текстов файл, който съдържа всички въведени от потребителя команди. Е, тъй като това е просто файл, това означава, че е много лесно да направите резервно копие за съхраняване.
За да създадете резервно копие, използвайте котка команда. Защо? с котка, можете да прегледате целия текстов файл направо в терминала. Можем да използваме тази команда в комбинация със символа ">", за да пренасочим изходния изход към резервен файл.
Така например, за да архивирате текущата си история, стартирайте котка командвайте срещу „~ / .bash_history“ и го запишете във файл с надпис „history_backup“.

cat ~/.bash_history > history_backup
Можете също да стартирате история команда в комбинация с ">" и го запишете по този начин.
history > history_backup
И накрая, е възможно да архивирате историята на командния ред / терминала на друг потребител, който не е влязъл в системата, като изпълните командата по-долу.
Забележка: не забравяйте да промените „потребителско име“ на потребителя, от който искате да запазите историята.
cat /home/username/.bash_history > history_backup
Архивиране само на определени елементи от историята
Може да искате само да архивирате конкретни команди в историята на вашия терминал на Linux. Начинът да направите това е да видите файла с историята и да го комбинирате с Впиши команда, която ще филтрира конкретни ключови думи.
Например, само за да архивирате команди в историята на вашия терминал на Linux, които съдържат git клон или Git команди, можете да стартирате операцията по-долу.
Забележка: в тези примери ние използваме „>>”, а не „>.” Причината за „>>” е, че няма да презапише съдържанието на архивното копие на файла с историята и може да се рестартира няколко пъти, за да се добави към резервно.
cat ~/.bash_history | grep "git" >> history_backup
Или
cat /home/username/.bash_history | grep "git" >> history_backup
Филтриране с Впиши може да се приложи и към история команда, така е.
history | grep "git" >> history_backup
За да архивирате определени ключови думи от историческия файл, заменете „git“ в примерите по-горе с каквито команди искате да архивирате. Не се колебайте да изпълните отново тази команда, колкото е необходимо.
Как да възстановите архивирането на историята
Възстановяването на архивното копие на историята е толкова просто, колкото изтриването на оригиналния файл и поставянето на резервното копие на негово място. За да изтриете оригиналния файл с история, използвайте RM команда в терминален прозорец, за да изтриете „.bash_history.“
rm ~/.bash_history
След като оригиналният файл на историята бъде изтрит от началната папка на потребителя, в който искате да възстановите историята, използвайте MV команда да преименувате „history_backup“ в „.bash_history.“
mv history_backup ~/.bash_history
Сега, когато новият файл на историята е на място, стартирайте история -rw команда за презареждане на историята на терминала.
history -rw
След това ще можете да видите историята на терминала си с:
history
Възстановяване на архиви за други потребители
Трябва ли да възстановите архивирането на историята от други потребители в системата? За да направите това, започнете с влизането в техния потребител с помощта на су команда.
su username
След като влезете в потребителя, изтрийте текущия файл с история, който се намира в домашната директория на потребителя (~).
rm ~/.bash_history
Оттам преименувайте файла за архивиране на историята като новия „.bash_history“ файл в потребителската директория.
mv /path/to/backup/file/history-backup ~/.bash_history
Напишете промените с:
history -rw
Когато сте готови, стартирайте история за да видите възстановените команди в прозореца на терминала.
Коментари