Blog/Bash Eternal History
From Forza's ramblings
2020-08-06: Bash Eternal History[edit | edit source]
I often forget that special command I used a while back, so I use Bash history to find out what I did. The problem is that by default, the history is not very long.
The solution is simple. Enable an eternal bash history!
## file: ~/.bash_profile or ~/.bashrc export HISTFILESIZE= export HISTSIZE= export HISTTIMEFORMAT="[%F %T] " # Don't keep duplicate commands from filling up the history export HISTCONTROL=erasedups export HISTFILE=~/.bash_eternal_history # save all commands to the history immediately instead of at logout, enables you to save history from multiple sessions at once. PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
So, to find something from your history you simply do
# history |grep btrfs 21726 [2020-08-04 19:56:10] btrfs fi us /mnt/6TB/ 22074 [2020-08-06 12:41:26] btrfs fi df -s /mnt/systemRoot/snapshots/src.20200806T0001/ 22075 [2020-08-06 12:46:28] btrfs fi du -s src.20200806T0001/ 22076 [2020-08-06 12:47:56] btrfs fi du -s /media/usb-backup/volumes/src/src.20200806T0001/ 22077 [2020-08-06 12:48:06] btrfs fi du -s /mnt/systemRoot/snapshots/src.20200806T0001/
And to execute one of the lines you do
# !21726 Overall: Device size: 4.54TiB Device allocated: 3.50TiB Device unallocated: 1.04TiB Device missing: 0.00B Used: 3.47TiB Free (estimated): 1.06TiB (min: 548.68GiB) Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 512.00MiB (used: 0.00B) Multiple profiles: no Data,single: Size:3.48TiB, Used:3.46TiB (99.61%) /dev/sdc2 2.19TiB /dev/sdb2 1.28TiB Metadata,RAID1: Size:9.00GiB, Used:5.04GiB (56.02%) /dev/sdc2 9.00GiB /dev/sdb2 9.00GiB System,RAID1: Size:32.00MiB, Used:416.00KiB (1.27%) /dev/sdc2 32.00MiB /dev/sdb2 32.00MiB Unallocated: /dev/sdc2 534.67GiB /dev/sdb2 534.99GiB
GNU Bash manual