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