Linux Rename File Command

Posted on in Categories , , , , , last updated May 16, 2017

I‘m a new Linux user. How do I rename a file called resumezzz.pdf to resume.pdf using Linux bash command prompt?

You need to use the mv command. It is used to rename and move files and directories.
How to Rename Files in LinuxFig.01:
To rename multiple files use rename command or script provided by MySQL/MariaDB package as per regex.

How to rename a file Linux?

The syntax is as follows:
mv old-file-name new-file-name
mv [options] old-file-name new-file-name
mv file1 file2

Examples: Renaming files with mv Command

In this example, rename a file called resumezzz.pdf to resume.pdf. Open a command-line terminal (select Applications > Accessories > Terminal), and then type:
mv resumezzz.pdf resume.pdf
If resumezzz.pdf is located in /home/vivek/docs/files directory, type:
cd /home/vivek/docs/files
mv resumezzz.pdf resume.pdf

mv /home/vivek/docs/files/resumezzz.pdf /home/vivek/docs/files/resume.pdf
Use the ls command to view files:
ls -l file1
ls -l file1 file2
ls -l /home/vivek/docs/files/*.pdf
ls -l *.pdf

Linux rename a file syntax

In short, to rename a file:
mv file1 file2
You can get verbose output i.e. mv command can explain what is being done using the following syntax:
mv -v file1 file2
Sample outputs:

`file1' -> `file2'

To make mv interactive pass the -i option. This option will prompt before overwriting file and recommended for new users:
mv -i file1 file2
Sample outputs:

mv: overwrite `file2'? y

How to use rename command to renames multiple files

The syntax is:
rename 's/old/new/' files
rename [options] 's/old/new/' files

For example, rename all perl files (*.perl) to *.pl, enter:
rename 's/perl/pl/' *.perl
rename -v 's/perl/pl/' *.perl
Sample outputs:

'bar.perl' renamed to ''
'foo.perl' renamed to ''
'input.perl' renamed to ''
'output.perl' renamed to ''
'test.perl' renamed to ''

The above command changed all files with the extension .perl to .pl. See “Howto Rename Multiple Files At a Shell Prompt In Linux or Unix” for more info.

Detailed information about mv command

You can also view the manual page on mv using the following command:
man mv
info mv
man rename

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

15 comment

    1. “rename texttoreplace textreplacement listoffiles

      If I want to remove some text I use just use “”

      rename texttoremove "" *"

      Thank you!!! First post that clearly showed what each argument represented. It was not as obvious in the “foo foo0 foo?” example in the man pages. I think it would have been better to give an example like yours, or something like “foo bar foo?”.

  1. Hello,

    I am trying to rename all files in a directory using mv but it isn’t working!

    My code is:
    id= ’29 10 15′
    for zzvar in ${id} ; do
    mv /media/storage/DTI/vgcross_sj${var}*


    even when I take the loop out and just try the command with one subject, I get the error: mv: target:/media/storage/DTI/vgcross_SJ is not a directory.

    Obviously it’s not a directory, because that’s what I’m trying to rename the file as!
    Do you have any ideas as to why it’s not working?

    Thank you very much!

Leave a Comment