UNIX Command To Rename A File

by on January 2, 2009 · 6 comments· LAST UPDATED September 28, 2013

in , ,

How do I rename a file in UNIX using command line options?

The mv is a Unix command that renames one or more files or directories. The original filename or directory name is no longer accessible. Write permission is required on all directories and files being modified. Use the mv command to:
Tutorial details
DifficultyEasy (rss)
Root privilegesNo
Estimated completion time5m

  • Moves a file (i.e. gives it a different name).
  • Rename a file.

mv command syntax

You need to use the mv command to rename a file as follows:

mv old-file-name new-file-name
mv file1 file2
mv source target
mv [options] source target


Open the terminal (bash shell prompt) and type the following command to list file names:

ls -l

In this example, rename a file called data.txt to letters.txt, enter:

mv data.txt letters.txt
ls -l letters.txt

File is renamed so the following command will display an error on screen:

ls -l data.txt


ls: cannot access data.txt: No such file or directory

The following would rename a file called foo to bar, while keeping it in the current directory:

mv foo bar

Rename a directory/folder Unix command

The following would rename a directory (folder) called dir1 to dir2, while keeping it in the current directory:

mv dir1 dir2

Move a file/folder to an existing directory

The following would move a file named resume.txt, without changing its name, to an existing subdirectory called /home/nixcraft/Documents/

mv resume.txt /home/nixcraft/Documents/
## verify new file location with ls -l command ##
ls -l /home/nixcraft/Documents/
Suggested Readings:

Type the following command to read mv command man page:
man mv

Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 6 comments… read them below or add one }

1 ELie Harb August 25, 2011 at 4:43 pm

How can i read a multiples files from MF/Cobol, whose inside programs is assigned to read “file1″.
i am getting: 201108251343file1
Is there an routine to added the 3 files into one file1.
Many Thanks.


2 d October 21, 2011 at 4:26 pm

cat 201108251343file1 201108251430file1 201108251740file1>file1


3 sevar kodi senthil May 30, 2012 at 9:18 am

it is use ful for engg


4 vishal February 4, 2014 at 5:23 am

Damn i copied all :P


5 Julian D. A. Wiseman May 22, 2014 at 10:19 am

Please allow a question that is surely easy. A directory has many files with names resembling DSC01234.JPG, DSC01235.JPG, DSC01236.JPG, etc. Is there a one-line command that will rename all in the directory to DSC11234.JPG, DSC11235.JPG, DSC11236.JPG, etc? That is, “DSC0” becomes “DSC1”?

Thank you.


6 Lethe October 27, 2014 at 10:30 am

Probably late, but:

rename ‘s/DSC0/DSC1/g’ *.JPG


Leave a Comment

Tagged as: , , , , , , , , , , , , ,

Previous Faq:

Next Faq: