Software & Apps Linux How to Rename Files Using Linux The 'rename' command for Linux changes filenames in a single batch By Gary Newell Writer Gary Newell was a freelance contributor, application developer, and software tester with 20+ years in IT, working on Linux, UNIX, and Windows. our editorial process Gary Newell Updated February 23, 2020 winhorse / Getty Images Linux Switching from Windows Tweet Share Email Although your Linux distribution's desktop environment supports GUI tools that modify file and filenames, the most nuanced and powerful approach requires the rename shell command. Some distributions do not include rename by default. Install it from the repository or seek an alternative. Using the 'rename' Command The command takes the general form: rename [options] [-e perlexpr] [files] Common options include: -d: Do not rename the directory component of a filename.-e perlexpr: Expression, in Perl syntax, to apply to the relevant file names.-f: Permits overwriting of existing files.-n: Prints what the file-rename process looks like, but doesn't actually change the filenames. Useful for testing.-v: Print the names of the files that were renamed. The perlexpr statement uses Perl regular expressions to effect a batch-rename process. Perl Regular Expressions The first argument of rename parses as an expression even without the -e flag. Example Uses of 'rename' As with many shell commands, rename and its expressions are case sensitive. To capitalize the first letter of every file in the directory, execute: rename 's/\b(\w)/\U$1/g' *.txt To rename the file extension for all the files in the directory from .Txt to .bak, and to display the results of the command verbosely, execute: rename -v 's/\.Txt$/\.bak/' *.Txt To rename a single file, it's easier to use the mv command rather than developing Perl regex for that purpose. To rename test.txt to sample.txt, execute mv test.txt sample.txt.