Можливо, ваш $ HISTFILE належить root. Якщо припустити, що ви використовуєте bash в якості оболонки для входу. Ось як це перевірити:
$ [ -z $HISTFILE ] && echo need to set HISTFILE || ls -l $HISTFILE
-rw------- 1 root root 36639 May 21 19:48 /home/joeb/.bash_history
Типовим для HISTFILE має бути ~ / .bash_history, якщо ви бачите помилку "потрібно встановити HISTFILE" або якщо $ HISTFILE не ~ / .bash_history, то слід перевірити ~ / .profile або ~ / .bash_profile або ~ /. bashrc, щоб переконатися, що він не встановлений або скинуто неправильно.
Зазвичай, він просто належить root, тому просто скиньте його:
$ chown joeb.joeb $HISTFILE
$ ll $HISTFILE
-rw------- 1 joeb joeb 36639 May 21 19:48 /home/joeb/.bash_history
Потім вийдіть із системи.
$ history
Потрібно показувати останній набір команд, введених до того, як файл належав root, а за ним команди, введені після зміни власності на файл.
shopt -s histappend
під/etc/bash/bashrc
. Але будь-який нечистий вихід запущених оболонок втрачає історію командного рядка.