# rename

## NAME



           rename - rename files
    


## SYNOPSIS



           **rename**[options] _substring replacement file_...
    


## DESCRIPTION



           **rename** will rename the specified files by replacing the first
           occurrence of _substring_ in their name by _replacement_.
    


## OPTIONS



           **-s** , **--symlink**
               Do not rename a symlink but change where it points.
    
           **-v** , **--verbose**
               Show which files were renamed, if any.
    
           **-n** , **--no-act**
               Do not make any changes; add **--verbose** to see what would be
               made.
    
           **-a** , **--all**
               Replace all occurrences of _substring_ rather than only the
               first one.
    
           **-l** , **--last**
               Replace the last occurrence of _substring_ rather than the first
               one.
    
           **-o** , **--no-overwrite**
               Do not overwrite existing files. When **--symlink** is active, do
               not overwrite symlinks pointing to existing targets.
    
           **-i** , **--interactive**
               Ask before overwriting existing files.
    
           **-h** , **--help**
               Display help text and exit.
    
           **-V** , **--version**
               Display version and exit.
    


## WARNING



           The renaming has no safeguards by default or without any one of
           the options **--no-overwrite** , **--interactive** or **--no-act**. If the user
           has permission to rewrite file names, the command will perform the
           action without any questions. For example, the result can be quite
           drastic when the command is run as root in the _/lib_ directory.
           Always make a backup before running the command, unless you truly
           know what you are doing.
    


## EDGE CASES



           If _substring_ is empty, then by default _replacement_ will be added
           to the start of the filename. With **--all** , _replacement_ will be
           inserted in between every two characters of the filename, as well
           as at the start and end.
    
           Normally, only the final path component of a filename is updated.
           (Or with **--symlink** , only the final path component of the link.)
           But if either _substring_ or _replacement_ contains a _/_ , the full path
           is updated. This can cause a file to be moved between folders.
           Creating folders, and moving files between filesystems, is not
           supported.
    


## INTERACTIVE MODE



           As most standard utilities rename can be used with a terminal
           device (tty in short) in canonical mode, where the line is
           buffered by the tty and you press ENTER to validate the user
           input. If you put your tty in cbreak mode however, rename requires
           only a single key press to answer the prompt. To set cbreak mode,
           run for example:
    
               sh -c 'stty -icanon min 1; "$0" "$@"; stty icanon' rename -i from to files
    


## EXIT STATUS



           **0**
               all requested rename operations were successful
    
           **1**
               all rename operations failed
    
           **2**
               some rename operations failed
    
           **4**
               nothing was renamed
    
           **64**
               unanticipated error occurred
    


## EXAMPLES



           Given the files _foo1_ , ..., _foo9_ , _foo10_ , ..., _foo278_ , the commands
    
               rename foo foo00 foo?
               rename foo foo0 foo??
    
           will turn them into _foo001_ , ..., _foo009_ , _foo010_ , ..., _foo278_. And
    
               rename .htm .html *.htm
    
           will fix the extension of your html files. Provide an empty string
           for shortening:
    
               rename '_with_long_name' '' file_with_long_name.*
    
           will remove the substring in the filenames.
    


## AVAILABILITY



           The **rename** command is part of the util-linux package which can be
           downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-08-09                      _RENAME_(1)
    


* * *