Aliases to make the mv and cp commands more user friendly
- Published at
- Updated at
- Reading time
- 2min
I added new aliases to my dotfiles after watching this video by "Tom on the internet".
Tom explains the -iv
options of mv
and cp
, which led me to add these two aliases:
alias mv="mv -iv"
alias cp="cp -iv"
The one thing that confused me when I started using the terminal and shell environments was that most commands, by default, don't give much information on what's happening. And there is a reason behind this; if you're automating things and write shell scripts, you don't want to see hundreds of logs in your terminal. I don't write complex scripts, though. I use the terminal to start commands, create files, and move them around. That's it and is why I appreciated more information in my terminal.
Additionally, these commands take your instructions very seriously. ๐ If you're moving, copy or rename a file to a target that already exists, it overwrites it. No questions asked. This behavior can lead to unintended file loss.
I added the above aliases to make the mv
and cp
command more user friendly, and I love it!
To move files, you usually use the mv
command. I learned that it supports two flags that make it easier to use. Applying the -iv
options to mv
makes the command more verbose. It will also tell you and double-check if you want to overwrite another file.
# log more information to the terminal
mv one.txt two.txt
three.txt -> one.txt
# ask before overwriting a file
mv two.txt three.txt
overwrite three.txt? (y/n [n]) n
not overwritten
The same options apply to the cp
command to copy files.
# log more information to the terminal
cp one.txt two.txt
one.txt -> two.txt
# ask before overwriting a file
cp two.txt three.txt
overwrite three.txt? (y/n [n]) n
not overwritten
I know that it can be dangerous to get used to these more verbose and safer commands. If you're in a remote shell, you might overwrite files because you are used to the safety net. That's your decision to make, and if you want to, you can choose different aliases.
In my case, I rarely deal with remote servers, so that's okay for me. ๐
Join 5.2k readers and learn something new every week with Web Weekly.