You can take backup of destination files before overwriting using mv -b or –backup or -S options. The difference between mv -b, –backup, or -S options is explained below with examples.
mv -b option:
1 2 3 4 5 6 7 8 9 |
## You can take backup of destination files before overwriting using mv -b option mkdir mydir1 mydir2 ## create some files and directory echo "one" > mydir1/myfile1 echo "two" > mydir2/myfile1 mv -b mydir1/myfile1 mydir2 ## creates a backup (myfile1~) of myfile1 before overwriting cat mydir2/myfile1~ ## returns one cat mydir2/myfile1 ## returns two |
mv –backup option:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
## You can also use mv --backup=[control] option to take backup of destination files which provide more flexsibility mkdir mydir1 ## create some files and directory echo "one" > mydir1/myfile1 echo "two" > myfile1 mv --backup=t myfile1 mydir1 ## creates a backup (myfile1.~1~) of myfile1 before overwriting echo "three" > myfile1 mv --backup=t myfile1 mydir1 ## creates a backup (myfile1.~1~) of myfile1 before overwriting cat mydir1/myfile1 ## returns three cat mydir1/myfile1.~1~ ## returns one cat mydir1/myfile1.~2~ ## returns two rm -r my* |
mv –suffix or -S option:
1 2 3 4 5 6 7 8 9 10 11 |
## You can overwrite the usual backup suffix with mv -S or --suffix=SUFFIX option mkdir mydir1 ## create some files and directory echo "one" > mydir1/myfile1 echo "two" > myfile1 mv --suffix=.bak myfile1 mydir1 ## creates a backup (myfile1.bak) of myfile1 before overwriting cat mydir1/myfile1 ## returns two cat mydir1/myfile1.bak ## returns one rm -r my* |