Не сохраняется история в терминале Ubuntu

0 Comments
linux-logo

Если вы столкнулись с ситуацией, когда после закрытия терминала, а затем его открытия история введенных вами команд отсутствует, т.е. при нажатии на стрелочку вверх или вниз, или поиск по CTRL+r ничего не происходит,  такой причиной может быть то, что у вас отсутствуют права на запись в файл .bash_history расположенного в домашней директории пользователя. Данная ситуация чаще всего возникает в следствии неоднократной переустановки операционной системы, при которой указывается один и тот же пользователь. Ну или стоит запрет на запись для данного файла в следствии переназначения привилегий для файлов в домашней директории пользователя.

Я не буду углубляться, как и почему это могло произойти, каждый теперь сам понял в следствии каких манипуляций возникла данная ситуация.  Мы же разберём как её устранить.

Для начала ведем данную команду в терминале:

ls -l ~/.bash_history

Вывод данной команды покажет какие права доступа назначенный на данный файл, а также кому он принадлежит.

Вывод команды:

dark@my-server:~$ ls -l ~/.bash_history
rw-r--r-- 1 root root 0 янв 15 18:09 .bash_history

Как можно увидеть, файл принадлежит пользователю root, хотя вход произведён как пользователь dark, также на файл назначены права доступа rw-r--r-- (644), т.е. читать могут все, а изменять только пользователь root.

Для того чтобы переназначить пользователя набираем в терминале:

sudo chown ваш_пользователь ~/.bash_history

Также в целях безопасности назначим права доступа 600.

sudo chmod 600 ~/.bash_history

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

Если же с правами на файл всё в порядке, т.е. файл принадлежит вашему пользователю и выставленные права доступа 6xx, но все равно история в терминале так и не сохраняется, то убедитесь, что команда histappend установлена на on. Для этого в терминале выполните:

shopt -s

Вывод команды должен выглядеть следующим образом:

checkwinsize on
cmdhist on
complete_fullquote on
expand_aliases on
extglob on
extquote on
force_fignore on
histappend on
interactive_comments on
login_shell on
progcomp on
promptvars on
sourcepath on

Если же команда установлена на off, то для включения выполните:

history -a

После данных манипуляций история в терминале должна начать сохраняться.

Если есть вопросы, то пишем в комментариях в Телеграмм и ВК.

Ссылки в шапке страницы.
Заранее всем спасибо!!!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Русифицируем Ubuntu Server 16.04/18.04/20.04 LTS
linux-logo

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

Вносим CAA запись в DNS (bind9)
dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

Обновления Ubuntu Server 16.04 до 18.04
linux-logo

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать

Защита OpenVPN с помощью Fail2Ban
fail2ban-logo

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать

5 1 голос
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

1 Комментарий
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии
Паша
Паша
21.09.2019 21:21

Ура помогло!!!!

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: