| A shell history has no knowledge about what the commands do. You could also make a mistake by executing command #101 instead of #102. 1) This is why you never type rm -rf * but the absolute path. 2) Furthermore, the command flag -f implies never prompt (taken from a recent GNU coreutils man page): "-f, --force
ignore nonexistent files and arguments, never prompt" 3) This is merely unlinking; the data is still there, not overwritten. 4) You should have backups of your homedir. A filesystem with versioning like ZFS could be of help here, too. 5) Agree with you and add a blacklist to the history, with rm being a primary contender. 6) Instead of rm, use a system where you move files into a trash bin (ie. abstract the unlinking in a user-friendly interface such as the trash bin or recycle bin concept). Examples: https://github.com/imnyang/tsh https://github.com/Byron/trash-rs Now, I think you could do #5 or #6 (and add `mv` and `dd` as well, but where does the list end?), but I think #1 (using the absolute path) is the easiest to avoid the worst PEBCAK. |