How to copy, move and delete files in your shell the safe way
If you copy, move or remove files in the shell using
rm you don’t get a confirmation for your action. This can be a awfully bad thing if you happen to make a mistake like slipping on a key and accidentally deleting the wrong file. No ones want that.
There’s a pretty simple way to prevent an accident like that, and that’s using the flag
-i, --interactive with those commands. It will then ask for your confirmation every time you’re about to overwrite or delete files:
$ mv -i dog.txt cat.txt mv: overwrite 'cat.txt'?
$ cp -i cat.txt dog.txt cp: overwrite 'dog.txt'?
$ rm -i * zsh: sure you want to delete all 2 files in /home/johan/test [yn]?
This flag has actually saved me a few times. I highly recommend adding aliases for them so you never forget to use the flags:
alias cp='cp -i' alias mv='mv -i' alias rm='mv -i'
rm will ask for confirmation for every single file, if you batch delete files and only want to confirm once, you can change the flag to a capital “i” like this:
-I. It will then only ask you when you remove three files or more and when you’re removing files and folders recursively.