Có thể $ HISTFILE của bạn được sở hữu bởi root. Giả sử bạn đang sử dụng bash làm vỏ đăng nhập của bạn. Đây là cách kiểm tra:
$ [ -z $HISTFILE ] && echo need to set HISTFILE || ls -l $HISTFILE
-rw------- 1 root root 36639 May 21 19:48 /home/joeb/.bash_history
Mặc định cho HISTFILE phải là ~ / .bash_history, nếu bạn thấy lỗi "cần đặt HISTFILE" hoặc nếu $ HISTFILE không ~ / .bash_history, thì bạn nên kiểm tra ~ / .profile hoặc ~ / .bash_profile hoặc ~. bashrc để đảm bảo rằng nó không được đặt hoặc đặt lại không chính xác.
Thông thường, nó chỉ thuộc sở hữu của root, vì vậy chỉ cần đặt lại nó:
$ chown joeb.joeb $HISTFILE
$ ll $HISTFILE
-rw------- 1 joeb joeb 36639 May 21 19:48 /home/joeb/.bash_history
Đăng xuất rồi đăng nhập.
$ history
Sẽ hiển thị nhóm lệnh cuối cùng được nhập trước khi tệp được sở hữu bởi root, theo sau là các lệnh được nhập sau khi quyền sở hữu tệp được thay đổi.
shopt -s histappend
dưới/etc/bash/bashrc
. Tuy nhiên, bất kỳ lối thoát ô uế nào của shell đang chạy, sẽ mất lịch sử dòng lệnh của nó.