Как восстановить историю терминала в Linux

Операционная система Linux – это многофункциональная среда операционной системы. Одна только командная строка способна превратить обычного пользователя в суперпользователя.

Команда истории Linux

В операционной системе Linux есть командная строка, история которой находится в файле под названием history. Этот файл используется для отслеживания ввода команд пользователя, связанных с использованием терминала.

history

<br />Как создать резервную копию и восстановить историю терминала Linux

Операционная система Linux имеет скрытый файл .bash_history, который сохраняет все команды пользователя, используемые в командной строке. Каждый пользователь Linux имеет уникальную копию файла истории, которую можно найти в домашнем каталоге пользователя.

ls -l $HOME/.bash_history

<br />Как создать резервную копию и восстановить историю терминала Linux

После выполнения приведенной выше команды становится ясно, что никакие специальные системные разрешения не защищают ваш файл истории. Поэтому любой пользователь, имеющий доступ к открытой учетной записи Linux, может предварительно просмотреть содержимое файла .bash_history.

Резервное копирование и восстановление истории терминалов Linux

Этот раздел статьи демонстрирует, как отображать, резервировать и восстанавливать историю терминалов в Linux.

Просмотр файла истории Linux

Чтобы отобразить файл истории для текущего пользователя, выполните следующую команду:

cat $HOME/.bash_history

<br />Как создать резервную копию и восстановить историю терминала Linux

Альтернативно, чтобы получить представление о том, что содержит вышеупомянутый файл, выполним следующую команду:

history

<br />Как создать резервную копию и восстановить историю терминала Linux

Для поиска определенного шаблона команды, например update, в файле истории, мы используем команду grep:

history | grep 'update'

<br />Как создать резервную копию и восстановить историю терминала Linux

Тоже самое можно получить командой:

cat $HOME/.bash_history | grep 'update'

Резервное копирование истории терминала Linux

Теперь, когда мы можем отобразить содержимое файла истории, пришло время создать его резервную копию. Здесь мы можем использовать команду cat и использовать ей для созданной резервной копии.

cat $HOME/.bash_history > my_backup_history
ls -l my_backup_history

<br />Как создать резервную копию и восстановить историю терминала Linux

Альтернативно, мы можем создать резервную копию файла истории с помощью команды history:

history > my_backup2_history
ls -l my_backup2_history

<br />Как создать резервную копию и восстановить историю терминала Linux

Если вы системный администратор и вам нужна копия команды 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

<br />Как создать резервную копию и восстановить историю терминала Linux

Альтернативно, мы можем достичь той же цели с помощью команды 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

<br />Как создать резервную копию и восстановить историю терминала Linux

Понимание процесса резервного копирования и восстановления истории терминала Linux помогает системному администратору Linux проводить аудит действий пользователя в сети. Кроме того, это облегчает повторное использование ранее выполненных команд, которые могут быть слишком длинными для запоминания.

Комментарии (0)