I’d like to be able to look through my command history (all the way back to the beginning of the user).
Is there any guarantee that file .bash_history will continue to be appended to?
If there is a limit where the file will start to be truncated (hopefully from the beginning), is there a way to remove that limit?
There are a number of environment variables that control how history works in Bash. Relevant excerpt from bash manpage follows:
To answer your questions directly:
No, there isn’t a guarantee, since history can be disabled, some commands may not be stored (e.g. starting with a white space) and there may be a limit imposed on the history size.
As for the history size limitation: if you unset
HISTSIZEandHISTFILESIZE:you’ll prevent the shell from truncating your history file. However, if you have an instance of a shell running that has these two variables set, it will truncate your history while exiting, so the solution is quite brittle. In case you absolutely must maintain long term shell history, you should not rely on shell and copy the files regularly (e.g., using a cron job) to a safe location.
History truncation always removes the oldest entries first as stated in the man page excerpt above.