Renaming files in Linux is an important part of basic file management. mv command was written by Ken Thompson. With the “mv” command, you can quickly and easily rename your files in a few simple steps. This guide provides a step-by-step overview of the process so you can get organized fast!
Understand the Basics of the mv Command
The “mv” command is an abbreviation for “move” and is used to rename files or directories in Linux. By using the syntax mv Old_Filename New_Filename, you can move a target file or folder from its current location to a new location you specify. This command also allows you to rename files or folders by simply specifying the same source and destination. This is the most common and useful command for all Linux administrators.
Related article: 22 Linux Commands you should learn now
Move and Rename Files at Once With mv
In addition to renaming files, you can use the mv command to move a file by simply combining both a relocation and naming action into one command. For example, if you have a file called “mysecrete.txt” which is currently in the current working directory and want to move it to the “TopSecrete” folder and rename it as “mynewsecrete.txt”, all you need to do is use the below command:
# mv mysecrete.txt /TopSecrete/mynewsecrete.txt
or If you want to rename on the same directory just use the below command :
# mv mysecrete.txt mynewsecrete.txt
This way, you will be able to move and rename your file in one simple step!
Move Only When Source File is Newer
The mv command offers the option to move only newer source files because sometimes we move files and it rewrites on an existing file, So in case to avoid this situation, we can use the -u option. This is useful in case of backup or backup script and could save your time by not moving unnecessary files, use this command:
# mv -u myimportantfile.txt importantSubdirectory/
Copy a File Directory and Its Contents Using mv
You can copy a file or directory and all its content (subdirectories and files) using the mv command. To do this, simply give the directory name to your command to move the directory to another directory with all data. For example, as shown above you could use as below :
# mv olddirectory Subdirectory/
If you want to move only “olddirectory” content to a Subdirectory use * at end of the directory, it will loop through all contents of the directory and move it and the directory will be empty.
# mv olddirectory/* Subdirectory/
Interactive mv Command for Rename File
mv command never as before rename but in case we want to give confirmation before renaming or moving a Linux file we can use -i (interactive) with the mv command.
If this is the new file and no overwrite then it will rename and move the file without any prompt.
# mv -i myfile.txt yourfile.txt
It will not ask for any confirmation if yourfile.txt does not exist.
But in case of files exist with the same name. So each time before overwriting the file in Linux or moving, IT will prompt for confirmation we can enter “y” or “n” respectively to accept and reject
# # mv -i myfile.txt yourfile.txt
mv: overwrite ‘yourfile.txt’?
It will ask for your confirmation and you can provide your input with “y” or “n” in small letters.
Alternatives of mv Commands
There are many other functions we can perform with other commands too like renaming the “rename” command but this is not installed by default.
“cp” Command to copy files but the original file will not be renamed or moved.
“rsync” and “scp” commands also copy files and we can rename them in the destination folder. These commands are basically used for the remote server’s file copy and sync.
Conclusion
In this article, we have learned how to rename files in Linux with the help of the mv command. Even we have seen some more use cases of the mv command with alternatives that we can think of performing the same kind of operation. But alternatives will keep the source file too.
Hope this helps you understand how to file rename in Linux