Как очистить историю в Ubuntu

Фотография тонкого жесткого диска с миниатюрными фигурами на нем.

Очистка журналов истории вашей системы Linux жизненно важна для поддержания здоровья машины. Это позволяет вам сэкономить драгоценное дисковое пространство и защитить ваши цифровые действия от любопытных глаз. Здесь мы покажем вам, как очистить данные истории в вашей оболочке Bash, файловом менеджере и текстовом редакторе в Ubuntu Linux.

Содержание

  • Очистка истории команд в Bash
  • Очистка истории недавних файлов в Nautilus
  • Отключение недавних резервных копий в Gedit

Очистка истории команд в Bash

Linux — это операционная система, управляемая командной строкой. От управления файлами до настройки программ, почти каждое действие внутри Linux принимает какую-либо форму терминальной команды. Со временем эти команды накапливаются в вашей оболочке Bash, что может занять много дискового пространства.

Самый простой способ очистить историю команд Bash в Ubuntu — использовать UNIX-конвейер для перенаправления пустой строки в ваш файл “.bash_history”:

echo""> ~/.bash_history

Тем не менее, это не очистит буфер истории для текущей сессии Bash. Чтобы сделать это, выполните следующую команду:

history-cw

Примечание: вам нужно повторно выполнить эту команду для каждой активной оболочки Bash в вашей текущей сессии рабочего стола.

Подтвердите, что ваша текущая история Bash очищена, выполнив команду history без аргументов.

Отключение журналов истории в Bash

Вы можете заставить Bash не сохранять никакую историю команд из любых ваших будущих сессий. Это может быть полезно, если вы настраиваете общий компьютер и не хотите, чтобы другие пользователи знали команды, которые вы выполняете в своей учетной записи.

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

history-cw

Откройте файл .bashrc с помощью вашего любимого текстового редактора:

nano ~/.bashrc

Вставьте следующие строки кода в конец вашего файла .bashrc:

exportHISTSIZE=0  
exportHISTFILESIZE=0

Примечание: переменная HISTSIZE определяет количество строк, которые Bash будет хранить во время активной сессии. Между тем, HISTFILESIZE устанавливает количество строк, которые файл журнала истории будет поддерживать со временем.

Сохраните ваш файл .bashrc, затем выполните следующую команду, чтобы применить ваши новые настройки к текущей сессии оболочки:

source ~/.bashrc

Проверьте ваши новые настройки, выполнив команду ls в текущем каталоге, затем повторно выполните команду history:

ls&&history

Терминал, показывающий полностью очищенный файл истории Bash и кэш.

Полезно знать: узнайте больше о сценариях оболочки, прочитав о самых важных специальных символах Bash.

Удаление конкретных записей истории Bash

Команда history также может удалять конкретные записи из своего кэша и журнала истории. Это может быть полезно, если вы хотите исключить лишь несколько команд, а не очищать всю историю вашей оболочки.

Используйте команду history, чтобы найти номер индекса команды, которую вы хотите очистить. В моем случае я хочу удалить 7-ю команду в своей истории оболочки.

Терминал, выделяющий седьмую запись истории в текущей сессии оболочки.

Примечание: вы можете искать конкретную команду, которую хотите удалить, перенаправив команду history в grep: history | grep my-history-command.

Выполните следующую команду вместе с номером индекса записи, которую вы хотите удалить:

history-d7

Подтвердите, что запись истории исчезла, повторно выполнив команду history.

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

Очистка истории недавних файлов в Nautilus

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

Нажмите на категорию Недавние в левой боковой панели менеджера.

Скриншот, выделяющий местоположение категории

Нажмите Ctrl + A, чтобы выбрать все недавно открытые файлы в Nautilus.

Щелкните правой кнопкой мыши, затем выберите Удалить из недавних, чтобы удалить текущую историю файлового менеджера.

Скриншот, выделяющий запись

Откройте меню системы в верхнем левом углу рабочего стола, затем нажмите на значок шестеренки на всплывающей панели.

Скриншот, выделяющий значок шестеренки в системном трее Ubuntu.

Выберите Конфиденциальность и безопасность в левой боковой панели окна.

Скриншот, выделяющий категорию

Это откроет новую подкатегорию на правой панели окна. Нажмите на категорию История файлов и корзина.

Скриншот, выделяющий настройки

Отключите переключатель История файлов, затем нажмите кнопку Очистить историю.

Скриншот, выделяющий переключатель

Совет: узнайте, как сделать Nautilus еще более полезным с помощью плагинов и расширений.

Автоматическое удаление истории файлов в Nautilus

Другой способ очистить историю файлов в Ubuntu — удалить файлы, которые хранят данные для категории “Недавние” с помощью Bash.

Начните с создания локальной папки бинарников в вашем домашнем каталоге:

mkdir-p ~/.local/bin/&&cd ~/.local/bin/

Создайте новый Bash-скрипт в вашей новой папке с помощью вашего любимого текстового редактора:

nano ./user-clear-history.sh

Вставьте следующий блок кода в ваш файл скрипта:

#!/bin/bash  
rm-f ~/.recently-used.xbel  
rm-f ~/.recently-used.xbel.*  
rm-f ~/.local/share/recently-used.xbel  
rm-f ~/.local/share/recently-used.xbel.*

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

chmod +x ./user-clear-history.sh

Откройте приложение вашего системы, затем выберите Автозагрузка приложений.

Скриншот, выделяющий программу

Нажмите кнопку Добавить в верхнем левом углу окна.

Скриншот, выделяющий кнопку

Укажите имя скрипта, который вы хотите запустить. В моем случае я назову его: “Автоочистка истории файлов пользователя”.

Нажмите кнопку Обзор… под текстовым полем имени.

Скриншот, выделяющий кнопку

Нажмите Ctrl + H в меню выбора файла, затем перейдите в ваш каталог “~/.local/bin/“.

Выберите ваш shell-скрипт, затем нажмите Открыть, чтобы добавить его в вашу новую запись автозагрузки.

Нажмите Добавить, чтобы подтвердить его в вашей текущей пользовательской сессии.

Скриншот, выделяющий кнопку

Кстати: узнайте, как вы можете запустить свой скрипт из GUI, используя .desktop файлы в Linux.

Очистка истории файлов для всех пользователей

Одним из недостатков удаления истории файлов через GUI является то, что она очищается только для текущего пользователя. Это может быть проблемой, если вы обслуживаете машину, которая используется несколькими людьми.

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

sudo-s

Перейдите в домашний каталог пользователя root, затем создайте локальную папку bin внутри него:

cd ~ &&mkdir-p ~/.local/bin/&&cd ~/.local/bin/

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

nano ./system-clear-history.sh

Вставьте следующий блок кода в ваш файл скрипта:

#!/bin/bash  
rm-f/home/*/.recently-used.xbel  
rm-f/home/*/.recently-used.xbel.*  
rm-f/home/*/.local/share/recently-used.xbel  
rm-f/home/*/.local/share/recently-used.xbel.*

Сохраните ваш новый файл скрипта, затем установите его права на выполнение:

chmod +x ./system-clear-history.sh

Создайте новый файл службы systemd в “ /etc/systemd/system” для вашего нового скрипта:

sudonano/etc/systemd/system/system-clear-history.service

Вставьте следующий блок кода в ваш новый файл службы:

[Unit]  
Description=Очистить историю файлов перед завершением работы  
DefaultDependencies=no  
Before=shutdown.target  
  
[Service]  
Type=oneshot  
ExecStart=/root/.local/bin/system-clear-history.sh  
  
[Install]  
WantedBy=halt.target reboot.target shutdown.target

Сохраните ваш новый файл службы, затем выполните следующие команды, чтобы загрузить его в демон systemd:

sudo systemctl daemon-reload  
sudo systemctl enable--now system-clear-history.service

Подтвердите, что служба работает правильно, проверив ее текущий статус:

systemctl status system-clear-history.service

Терминал, показывающий вывод пользовательской службы systemd в systemctl.

Отключение недавних резервных копий в Gedit

Gedit — это простой текстовый редактор, который по умолчанию поставляется в некоторых последних версиях Ubuntu. В некоторых случаях этот редактор создает резервную копию каждого файла, который вы открыли и сохранили в системе. Это может быть проблемой, если вы хотите сэкономить место на вашем компьютере.

Чтобы отключить это, нажмите меню Опции в верхнем правом углу приложения, затем выберите Настройки.

Скриншот, выделяющий местоположение меню

Нажмите на вкладку Редактор в окне настроек Gedit, затем снимите флажок Создавать резервную копию файлов перед сохранением.

Скриншот, выделяющий местоположение флажка резервного копирования в Gedit.

Закройте окно настроек, затем перезагрузите Gedit, чтобы применить ваши новые настройки.

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

rm"$(find ~ -regex '.*~$')"

Наконец, подтвердите, что в вашем домашнем каталоге не осталось резервных файлов Gedit:

find ~ -regex'.*~$'

Удаление различных журналов истории из вашей системы — это всего лишь один шаг к поддержанию и обеспечению безопасности вашего компьютера с Linux. Исследуйте удивительный мир безопасности системы, узнав, как анонимизировать вашу дистрибуцию Linux с помощью Whoami.

Кредит изображения: Samu Lopez через Unsplash. Все изменения и скриншоты сделаны Ramces Red.