mv Command in Linux with Examples


This tutorial explains Linux “mv” command, options and its usage with examples.

“mv” command is used To move (rename) files. This post describes “mv” command used in Linux along with usage examples and/or output.


mv (short for move) is a Unix command that moves one or more files or directories from one place to another. Since it can “move” files from one filename to another, it is also used to rename files.

Using mv requires the user to have write permission for the directories the file will move between. This is because mv changes the file’s location by editing the file list of each directory.

Here’s the listing of example usage of “mv” command:

1. To rename a file(mv original_name new_name):

Note: Join free Sanfoundry classes at Telegram or Youtube
sanfoundry-> ls
mv_command  sample.txt  sam.txt
sanfoundry-> ls -i sam.txt 
591562 sam.txt
sanfoundry-> mv sam.txt sam1.txt 
sanfoundry-> ls -i sam1.txt 
591562 sam1.txt

Here you can see that even after moving the files, it’s inode number remains the same which indicates no change in the content.

2. To rename a Directory(mv original_name new_name):
Just like renaming a file, you can rename a directory using mv command as shown below. This also keeps the inode number of the directory same after renaming.

sanfoundry-> mkdir sam
sanfoundry-> ls -ldi sam
612573 drwxrwxr-x 2 himanshu himanshu 4096 Jul 16 18:59 sam
sanfoundry-> mv sam sam1 
sanfoundry-> ls -ldi sam1
612573 drwxrwxr-x 2 himanshu himanshu 4096 Jul 16 18:59 sam1

Here as we can see tha the innode number, 612573 is remained the same. We here used “-d” option alongwith ls since we want info about
the directories.

3. To prompt for a confirmation before overwriting(mv -i original new):
To avoid ovewritting the existing file before mv command, you might want to get a confirmation from move command before overwriting the destination file using -i option as shown below. You may type either ‘y’ or ‘n’ to accept or reject the move operation.

sanfoundry-> mv -i sam1.txt sample.txt 
mv: overwrite `sample.txt'? y

4. To take a backup of destination before overwriting(mv –suffix=extension oldname newname):
If you want to avoid the overwriting of the file, you mat rename the file before using mv command.

sanfoundry-> ls
sample1.txt  sample2.txt
sanfoundry-> mv --suffix=.backup sample1.txt sample2.txt 
sanfoundry-> ls
sample2.txt  sample2.txt.backup

Here as you can see that sample2.txt files was alreadt there. But using –suffix=.backup had added the extension and renamed it as sample2.txt


5. Move all the files from a folder:

sanfoundry-> ls
1.txt  2.txt
sanfoundry-> mv * ../folder/
sanfoundry-> ls
sanfoundry-> cd ..
sanfoundry-> cd folder/
sanfoundry-> ls
1.txt  2.txt

6. To move only the files that don’t exist in the destination directory(mv -u source destination):

sanfoundry-> cd ../sam/
sanfoundry-> ls
sanfoundry-> ls
1.txt  2.txt  3.txt
sanfoundry-> mv * ../sam/
sanfoundry-> cd ../sam/
sanfoundry-> ls
1.txt  2.txt  3.txt

7. To show the errors:
mv will move the file(s) without prompting even if it is writing over an existing target. Note that this is the default if the standard input is not a terminal.

sanfoundry-> mv -f 1.txt ../sam/
mv: `1.txt' and `../sam/1.txt' are the same file
sanfoundry-> mv -f 11.txt ../sam/
mv: cannot stat `11.txt': No such file or directory

Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.

If you wish to look at all Linux commands and their usage examples, go to Linux Commands Tutorial.

Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & technical discussions at Telegram SanfoundryClasses.