Как восстановить историю терминала в Linux
Операционная система Linux – это многофункциональная среда операционной системы. Одна только командная строка способна превратить обычного пользователя в суперпользователя.
Команда истории Linux
В операционной системе Linux есть командная строка, история которой находится в файле под названием history. Этот файл используется для отслеживания ввода команд пользователя, связанных с использованием терминала.
history
Операционная система Linux имеет скрытый файл .bash_history
, который сохраняет все команды пользователя, используемые в командной строке. Каждый пользователь Linux имеет уникальную копию файла истории, которую можно найти в домашнем каталоге пользователя.
ls -l $HOME/.bash_history
После выполнения приведенной выше команды становится ясно, что никакие специальные системные разрешения не защищают ваш файл истории. Поэтому любой пользователь, имеющий доступ к открытой учетной записи Linux, может предварительно просмотреть содержимое файла .bash_history
.
Резервное копирование и восстановление истории терминалов Linux
Этот раздел статьи демонстрирует, как отображать, резервировать и восстанавливать историю терминалов в Linux.
Просмотр файла истории Linux
Чтобы отобразить файл истории для текущего пользователя, выполните следующую команду:
cat $HOME/.bash_history
Альтернативно, чтобы получить представление о том, что содержит вышеупомянутый файл, выполним следующую команду:
history
Для поиска определенного шаблона команды, например update, в файле истории, мы используем команду grep:
history | grep 'update'
Тоже самое можно получить командой:
cat $HOME/.bash_history | grep 'update'
Резервное копирование истории терминала Linux
Теперь, когда мы можем отобразить содержимое файла истории, пришло время создать его резервную копию. Здесь мы можем использовать команду cat
и использовать ей для созданной резервной копии.
cat $HOME/.bash_history > my_backup_history ls -l my_backup_history
Альтернативно, мы можем создать резервную копию файла истории с помощью команды history:
history > my_backup2_history ls -l my_backup2_history
Если вы системный администратор и вам нужна копия команды history, принадлежащая определенному пользователю, выполните:
cat /home/targeted_system_username/.bash_history > my_backup_history
Для резервного копирования конкретных команд истории, мы отфильтруем файл истории на предмет определенного шаблона команды с помощью команды grep
и создадим резервную копию.
cat $HOME/.bash_history | grep 'update' >> my_backup3_history cat my_backup3_history
Альтернативно, мы можем достичь той же цели с помощью команды history
:
cat $HOME/.bash_history | grep 'update' >> my_backup3_history history | grep 'update' >> my_backup4_history
Для резервного копирования определенных команд для определенных пользователей:
cat /home/targeted_system_username/.bash_history | grep 'update' >> my_backup3_history
Восстановление истории терминала Linux
Первым шагом будет удаление оригинального файла истории и восстановление созданной резервной копии файла истории.
rm $HOME/.bash_history mv my_backup_history $HOME/.bash_history
Следующим шагом будет перезагрузка файла истории и подтверждение того, что файл истории был восстановлен:
history -r history
Понимание процесса резервного копирования и восстановления истории терминала Linux помогает системному администратору Linux проводить аудит действий пользователя в сети. Кроме того, это облегчает повторное использование ранее выполненных команд, которые могут быть слишком длинными для запоминания.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.linuxshelltips.com
Комментарии (0)