Как сделать резервную копию истории терминала Linux
Терминал Linux имеет функцию «истории». Благодаря этой функции каждая вводимая вами командная операция будет сохранена на будущее. Поскольку все команды вашего терминала сохраняются в «истории», важно сохранить их резервную копию для сохранности.
В этом руководстве мы покажем вам, как создать резервную копию истории терминала Linux, а также как восстановить резервные копии. Итак, откройте свой любимый эмулятор терминала Linux и следуйте за ним!
Где хранится история терминала Linux?
Терминал Linux хранит свою историю в файле. Этот файл называется «.bash_history». Кто угодно может его редактировать, и он хранится в домашнем каталоге. Поскольку файл истории терминала для Linux хранится в пользовательском каталоге, каждый пользователь в системе имеет файл.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Специальные разрешения не защищают эти файлы истории, и любой пользователь в системе может просмотреть историю другого с помощью простой команды. Так, например, если я хочу взглянуть на историю терминала / командной строки имени пользователя «user» в моей системе Linux, я бы сделал:
cat /home/user/.bash_history
Пользователи также могут просматривать историю текущего пользователя, под которым они вошли в терминальную оболочку Linux, просто выполнив команду «history».
history
Лучше всего то, что «история» – это просто файл, его можно искать, как в обычном текстовом файле, с помощью функции grep. Так, например, чтобы найти экземпляры «git clone» в имени пользователя с помощью приведенной ниже команды.
cat /home/user/.bash_history | grep 'git clone'
Он также работает как текущий вошедший в систему пользователь с помощью команды «history».
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. Для этого нужно просмотреть файл истории и объединить его с grep команда, которая будет фильтровать определенные ключевые слова.
Например, для резервного копирования в истории вашего терминала Linux только тех команд, которые содержат git clone или мерзавец команд, вы можете выполнить операцию, указанную ниже.
Примечание: в этих примерах мы используем «>>», а не «>». Причина «>>» в том, что он не будет перезаписывать содержимое резервной копии файла истории и может быть повторно запущен несколько раз для добавления в резервную копию.
cat ~/.bash_history | grep 'git' >> history_backup
Или
cat /home/username/.bash_history | grep 'git' >> history_backup
Фильтрация с grep также может применяться к история команда, вот так.
history | grep 'git' >> history_backup
Чтобы создать резервную копию определенных ключевых слов из файла истории, замените «git» в приведенных выше примерах любыми командами, резервную копию которых вы хотите создать. Не стесняйтесь повторно запускать эту команду сколько угодно раз.
Как восстановить резервную копию истории
Восстановить резервную копию истории так же просто, как удалить исходный файл и поместить резервную копию на его место. Чтобы удалить исходный файл истории, используйте rm в окне терминала, чтобы удалить «.bash_history.»
rm ~/.bash_history
После того, как исходный файл истории будет удален из домашней папки пользователя, историю которого вы хотите восстановить, используйте мв команда для переименования «history_backup» в «.bash_history.»
mv history_backup ~/.bash_history
Теперь, когда новый файл истории на месте, запустите history -rw команда для перезагрузки функции истории терминала.
history -rw
После этого вы сможете просмотреть историю своего терминала с помощью:
history
Восстановить резервные копии для других пользователей
Необходимо восстановить резервные копии истории от других пользователей в системе? Для этого начните с входа в систему своего пользователя, используя вс команда.
su username
После входа в систему для пользователя удалите текущий файл истории, который находится в домашнем каталоге пользователя (~).
rm ~/.bash_history
Оттуда переименуйте файл резервной копии истории в новый файл «.bash_history» в каталоге пользователя.
mv /path/to/backup/file/history-backup ~/.bash_history
Запишите изменения с помощью:
history -rw
Когда закончите, бегите история для просмотра восстановленных команд в окне терминала.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)