Как восстановить историю Ubuntu внутри Windows 10 Pro
По ранее разобранной, я отключил ведение истории в консоли bash
которую запускаю из рабочей системы под управлением Windows 10 Pro:
C:\Users\olloa>bash ekzorchik@ADM-19:/mnt/c/Users/olloa$
Все конечно хорошо, но когда что-то выполняешь в этой псевдосреде 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.