One useful thing when managing one's time is to know when a command will complete. I have a habit of using "pv" anywhere I wait for a result so that I know how long it takes:
It's basically "cat", but with a progress bar. Also useful for measuring IO speed and volume (e.g. decompression: `pv -c largefile | gzip | pv -c > /dev/null` )
You can also use it with dd, or even just redirect it directly to a block device. I use it a lot for writing USB images. `pv image.iso > /dev/sdX`. Just gotta be careful not to redirect it to the wrong one...
Project idea: ML-based snafu-avoider that prompts for confirmation when past invocations by other users in the community of that command resulted in manifestations of regret[1].
[1]: screaming picked up by mic; detected maniacal CTRL-C'ing as immediate as it is futile; permanent loss of peer relationship to the project's cloud (indicating subsequent reformatting and/or booting-off-tall-building)
http://www.ivarch.com/programs/pv.shtml
It's basically "cat", but with a progress bar. Also useful for measuring IO speed and volume (e.g. decompression: `pv -c largefile | gzip | pv -c > /dev/null` )