Как восстановить историю Ubuntu внутри Windows 10 Pro

По ранее разобранной, я отключил ведение истории в консоли bash которую запускаю из рабочей системы под управлением Windows 10 Pro:

C:\Users\olloa>bash ekzorchik@ADM-19:/mnt/c/Users/olloa$

Вход в консоль bash из Windows 10 Pro

Все конечно хорошо, но когда что-то выполняешь в этой псевдосреде Ubuntu то жутко подбешивает последующий ввод одного и того же.  Значит нужно вернуть ведение логов, просто буду по окончании рабочего дня удалять логи.

Вариант №1:

ekzorchik@ADM-19:/mnt/c/Users/olloa$ sed -i ‘s/HISTFILESIZE=0/HISTFILESIZE=100/’ ~/.bashrc ekzorchik@ADM-19:/mnt/c/Users/olloa$ sed -i ‘s/HISTSIZE=0/HISTSIZE=100/’ ~/.bashrc

или восстанавливаем все настройки файла ~/.bashrc разом, а не конкретные, как выше.

ekzorchik@ADM-19:/mnt/c/Users/olloa$ cp /etc/skel/.bashrc ~/.bashrc

После делаю Logoff & Logon

  ekzorchik@ADM-19:/mnt/c/Users/olloa$ exit logout C:\Users\olloa>bash ekzorchik@ADM-19:/mnt/c/Users/olloa$ ls ekzorchik@ADM-19:/mnt/c/Users/olloa$ pwd ekzorchik@ADM-19:/mnt/c/Users/olloa$ whoami ekzorchik@ADM-19:/mnt/c/Users/olloa$ exit logout C:\Users\olloa>bash ekzorchik@ADM-19:/mnt/c/Users/olloa$ history 1  history 2  ls 3  pwd 4  cwd 5  whoami 6  exit 7  history 8  exit 9  history ekzorchik@ADM-19:/mnt/c/Users/olloa$

Отлично ведение истории набранного в консоли вернулось.

Вариант №2: Теперь нужно подумать, как чистить файл в конце рабочего дня.

Способ №1: Через Windows планировщик удалять файл, но сперва смотрим как удаляется файл вручную – ответ ни как даже если консоль командной строки Windows запущена с правами администратора.

12345 C:\WINDOWS\system32>del /f “C:\Users\olloa\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ekzorchik\.bash_history” C:\Users\olloa\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ekzorchik\.bash_history Отказано в доступе.

Способ №2: Удаление файла истории:

1234567 ekzorchik@ADM-19:/mnt/c/Users/olloa$ cat /dev/null > ~/.bash_history && history -c ekzorchik@ADM-19:/mnt/c/Users/olloa$ rm ~/.bash_history ekzorchik@ADM-19:/mnt/c/Users/olloa$ crontab -e */1 * * * * cat /dev/null > ~/.bash_history && history -c

Но не отрабатывает.

Мое решение:

Пробую по-другому, но придется набирать команду:

12345678910111213 ekzorchik@ADM-19:/mnt/c/Users/olloa$ nano ~/.bashrc alias logout=”cat /dev/null > ~/.bash_history && history -c” ekzorchik@ADM-19:/mnt/c/Users/olloa$ source ~/.bashrc ekzorchik@ADM-19:/mnt/c/Users/olloa$ logout ekzorchik@ADM-19:/mnt/c/Users/olloa$ history 1  history ekzorchik@ADM-19:/mnt/c/Users/olloa$

А теперь в файл ~/.bash_logout добавляю команду logout:

123 ekzorchik@ADM-19:/mnt/c/Users/olloa$ nano ~/.bash_logout logout

Когда я делаю exit из консоли, а потом подключаюсь – все команды консоли очищены, но сохраняются в период работы. Увы если закрыть «крестиком» окно командной строки Windows в которой осуществлен переход в bash история не удаляется. Но это мелочи пока во всяком случае.

1234567891011 ekzorchik@ADM-19:/mnt/c/Users/olloa$ exit logout C:\Users\olloa>bash ekzorchik@ADM-19:/mnt/c/Users/olloa$ history 1  history ekzorchik@ADM-19:/mnt/c/Users/olloa$

Итого я доработал заметку “Как очистить историю Ubuntu внутри Windows 10 Pro», включив ведение истории набираемых команд во время сессии работы, но при этом история очищается, когда сессия завершается. Вот на этом у меня пока всё, с уважением автор блога Олло Александр aka ekzorchik.