How to Rename Files on Linux using Terminal

Rename Files on Linux using Terminal

Renaming files may seem like a simple task, but when dealing with large numbers of files or complex naming conventions, it can quickly become overwhelming. Fortunately, Linux provides a robust solution to this challenge through the command line interface (CLI). This guide will empower you with the knowledge to confidently rename files in Linux using the terminal, offering a range of techniques to handle various scenarios efficiently.

Understanding the Basics of File Renaming in Linux

Renaming files in Linux primarily involves the ‘mv‘ command, which not only moves files but also renames them. The key distinction is that you’re not merely altering the file’s label; you’re effectively relocating it with a new name.

Getting Started with the mv Command

The fundamental syntax of the ‘mv‘ command is:

mv source_file new_file_name

To rename a single file, navigate to the file’s directory using the ‘cd’ command and execute ‘mv‘ as follows:

mv old_filename new_filename

Renaming Multiple Files at Once

Batch renaming is a time-saver, especially when dealing with numerous files. Wildcards, such as ‘*‘ and ‘?’, act as placeholders for multiple characters. For instance, to rename all ‘.txt‘ files in a directory, use:

mv *.txt new_prefix_*.txt

Appending and Prepending Text to File Names

Adding prefixes and suffixes can provide clarity and categorization. To append text, utilize the ‘mv‘ command with a wildcard:

mv original_filename new_prefix_original_filename

Replacing Text in File Names

The ‘sed’ command is your ally when you need to replace specific text within filenames. To replace ‘old_text’ with ‘new_text’ in a file name:

for file in *old_text*; do mv "$file" "${file/old_text/new_text}"; done

Converting Case and Formatting

Consistency in naming conventions is vital. To change file names to lowercase:

for file in *; do mv "$file" "$(echo $file | tr 'A-Z' 'a-z')"; done

Renaming Directories and Subdirectories

Renaming folders involves the same ‘mv‘ command. To rename a directory and its contents:

mv old_directory new_directory

Undoing Renaming Operations

Prevent mishaps by backing up files before renaming. Use the ‘cp’ command to duplicate files before renaming:

cp file_to_rename backup_file_to_rename

If you make an unintended change, you can quickly revert by renaming the backup file.

Advanced Techniques and Considerations

For intricate renaming tasks, regular expressions offer unparalleled flexibility. Remember, caution is paramount when using powerful commands. To use regular expressions with ‘mv‘:

for file in *; do mv "$file" "$(echo $file | sed -e 's/old_regex/new_text/')"; done

Best Practices for Efficient File Renaming

  • Plan Ahead: Determine your desired naming conventions before executing commands.
  • Descriptive Names: Use clear and concise names that convey the file’s purpose.
  • Testing Ground: Execute renaming commands on a small set of files first to ensure the desired outcome.
  • Backup: Always create backups before executing renaming commands, especially for bulk operations.
  • Documentation: Keep track of renaming operations and their purpose for future reference.


Mastering file renaming in Linux via the terminal is a powerful skill that streamlines your file management tasks. From simple renaming to advanced techniques like regular expressions, you now have a toolkit to tackle a variety of scenarios efficiently. By following best practices and being cautious, you can confidently navigate the world of renaming files in Linux. Embrace the CLI’s capabilities, and take control of your file organization with finesse.

Back to top button