Изменить название файла линукс

Rename a file or folder

As with other file managers, you can use Files to change the name of a file or folder.

To rename a file or folder:

  1. Right-click on the item and select Rename , or select the file and press F2 .
  2. Type the new name and press Enter or click Rename .

You can also rename a file from the properties window.

When you rename a file, only the first part of the name of the file is selected, not the file extension (the part after the last . ). The extension normally denotes what type of file it is (for example, file.pdf is a PDF document), and you usually do not want to change that. If you need to change the extension as well, select the entire file name and change it.

If you renamed the wrong file, or named your file improperly, you can undo the rename. To revert the action, immediately click the menu button in the toolbar and select Undo Rename , or press Ctrl + Z , to restore the former name.

Valid characters for file names

You can use any character except the / (slash) character in file names. Some devices, however, use a file system that has more restrictions on file names. Therefore, it is a best practice to avoid the following characters in your file names: | , \ , ? , * , < , " , : , >, / .

If you name a file with a . as the first character, the file will be hidden when you attempt to view it in the file manager.

Common problems

You cannot have two files or folders with the same name in the same folder. If you try to rename a file to a name that already exists in the folder you are working in, the file manager will not allow it.

File and folder names are case sensitive, so the file name File.txt is not the same as FILE.txt . Using different file names like this is allowed, though it is not recommended.

The file name is too long

On some file systems, file names can have no more than 255 characters in their names. This 255 character limit includes both the file name and the path to the file (for example, /home/wanda/Documents/work/business-proposals/… ), so you should avoid long file and folder names where possible.

The option to rename is grayed out

If Rename is grayed out, you do not have permission to rename the file. You should use caution with renaming such files, as renaming some protected files may cause your system to become unstable. See Set file permissions for more information.

More Information

You can choose the displayed language by adding a language suffix to the web address so it ends with e.g. .html.en or .html.de.
If the web address has no language suffix, the preferred language specified in your web browser’s settings is used. For your convenience:
[ Change to English Language | Change to Browser’s Preferred Language ]

Читайте также:  Системный загрузчик linux mint

The material in this document is available under a free license, see Legal for details.
For information on contributing see the Ubuntu Documentation Team wiki page. To report errors in this documentation, file a bug.

Источник

How to Rename Files in Linux

Linux provides several options for renaming files, including using the GUI and multiple dedicated terminal commands. This makes it relatively easy to rename individual files, but it can be challenging to rename multiple files at once.

In this tutorial, we will go over different commands you can use in the Linux terminal to rename files in Linux.

How to rename files in Linux

  • A system running a Linux distribution
  • An account with sudo privileges
  • Access to the terminal window/command line
  • Access to a text editor, such as Vim or Nano

Rename Files with the mv Command

The Linux mv (move) command is used to move files and directories from the terminal. It uses the following syntax:

mv [options] [source] [destination]

If you specify a directory as the destination when using the mv command, the source file moves to that directory. If the destination is another file name, the mv command renames the source file to that name instead.

Note: Learn more about using the mv command in our guide to moving directories in Linux.

Rename a Single File with the mv Command

Using the mv command with its default syntax allows you to rename a single file:

mv [options] [current file name] [new file name]

For example, if we want to rename example1.txt into example2.txt, we would use:

mv example1.txt example2.txt

Since there is no output if the command is successful, we are using the ls command to check if the name is changed:

Renaming a single file using the mv command

Rename Multiple Files with the mv Command

On its own, the mv command renames a single file. However, combining it with other commands allows you to rename multiple files at the same time.

One method is to use the find command to select multiple files with a similar name, then use the mv command to rename them:

find . -depth -name "[current file name element]" -exec sh -c 'f="<>"; mv -- "$f" "$[new file name element]"' \;

Using this syntax, the find command defines an element of the current file name as the search parameter. Next, -exec executes the mv command on any files that match the search, changing their current filenames to the new one.

For instance, if we have example1.txt, example2.txt, and example3.txt and want to change the extension to .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="<>"; mv -- "$f" "$.pdf"' \;

Renaming multiple files using the find and mv commands

Another method is to use the mv command as a part of a for loop in a bash script.

Using the same example, start by creating and opening a bash script file using a text editor such as Nano:

Add the following lines to the script:

#!/bin/bash for f in *.txt; do mv -- "$f" "$.pdf" done 
  • The first line instructs the script to search for all the files in the current directory ending with .txt.
  • The second line uses the mv command on each file found to replace the .txt extension with .pdf.
  • The third line ends the loop segment.

Press Ctrl+X, then type Y and press Enter to save the changes to the script and exit.

Use the sh command to execute the script:

Renaming multiple files using a bash script

Note: Learn how to compare two files using the diff command.

Rename File with the rename Command

The rename command is used to rename multiple files or directories in Linux. It offers more features than the mv command but can be more challenging to use since it requires basic knowledge of Perl expressions.

How to Install the rename Command

On many Linux distributions, the rename command is not available by default. If your system is missing the rename command, install it with:

  • For Ubuntu and Debian, use sudo apt install rename
  • For CentOS and Fedora, use sudo yum install prename
  • For Arch Linux, use sudo pacman -S rename

rename Command Syntax and Options

There are three types of Perl regular expressions: match, substitute and translate. The rename command uses substitute and translate expressions to change file and directory names.

Substitute expressions replace a part of the filename with a different string. They use the following syntax:

rename [options] 's/[filename element]/[replacement]/' [filename]

With this syntax, the command renames the file by replacing the first occurrence of the filename element with the replacement. In the command above:

  • rename : Invokes the rename command.
  • [options] : Provides an optional argument that changes the way the command executes.
  • s : Indicates a substitute expression.
  • [filename element] : Specifies the part of the filename you want to replace.
  • [replacement] : Specifies a replacement for the part of the current filename.
  • [filename] : Defines the file you want to rename.

A translate expression translates one string of characters into another, character for character. This type of expression uses the following syntax:

rename [options] 'y/[string 1]/[string 2]/' [filename]

An example of a rename command using a translate expression:

In this example, every a character in the filename is replaced by an x, every b by a y, and every c by a z.

The rename command uses the following options:

  • -a : Replaces all the occurrences of the filename element instead of just the first one.
  • -f : Forces an overwrite of existing files.
  • -h : Displays the help text.
  • -i : Displays a prompt before overwriting existing files.
  • -l : Replaces the last occurrence of the filename element instead of the first one.
  • -n : Performs a dry run, making no permanent changes. Best combined with the verbose output ( -v ).
  • -s : Renames the target instead of the symlink.
  • -v : Shows a verbose version of the output.
  • -V : Displays the command version.

rename Command Examples

1. Change File Extension

Returning to our last example, to change the file extension from .txt to .pdf, use:

Using the rename command to replace the file extension

2. Replacing a Part of a Filename

Replacing a different part of the filename follows the same syntax. To rename example1.txt, example2.txt, and example3.txt to test1.txt, test2.txt, and text3.txt, use:

rename -v 's/example/test/' *.txt

Renaming multiple files using the rename command

3. Delete a Part of a Filename

The rename option also allows you to delete a part of the filename by omitting the replacement part of the expression. For instance, if we want to shorten example into ex:

Removing a part of the file name using the rename command

4. Rename Files with Similar Names

Another use for the rename option is to rename files with similar names. For instance, if we want to rename files with example and sample in their name to test:

rename -v 's/(ex|s)ample/test/' *.txt

Renaming multiple files with similar names using the rename command

5. Rename Files Character-by-Character

The rename command also allows you to use translate expressions to rename files on a character-by-character basis. For instance, if you want to rename multiple files named example file by replacing the blank space with an underscore (_):

Removing blank spaces from file names using the rename command

6. Convert Lowercase Characters

To convert lowercase characters in filenames into uppercase characters, use:

Converting file names from lowercase to uppercase using the rename command

7. Convert Uppercase Characters

The reverse also works if we switch the order of the uppercase and lowercase characters in the expression:

Converting file names from uppercase to lowercase using the rename command

Note: Be careful when changing the character case, as this also changes the file extension.

After reading this tutorial, you should be able to rename files using the mv and rename commands in Linux.

Learn more about using Linux commands in our Linux Commands Cheat Sheet.

Источник

Rename a File in Linux – Bash Terminal Command

Zaira Hira

Zaira Hira

Rename a File in Linux – Bash Terminal Command

Renaming files is a very common operation whether you are using the command line or the GUI.

Compared to the GUI (or Graphical User Interface), the CLI is especially powerful. This is in part because you can rename files in bulk or even schedule the scripts to rename files at a certain point in time.

In this tutorial, you will see how you can rename files in the Linux command line using the built-in mv command.

How to Use the Linux mv Command

You can use the built-in Linux command mv to rename files.

The mv command follows this syntax:

mv [options] source_file destination_file

Here are some of the options that can come in handy with the mv command:

  • -v , —verbose : Explains what is being done.
  • -i , —interactive : Prompts before renaming the file.

Let’s say you want to rename index.html to web_page.html . You use the mv command as follows:

zaira@Zaira:~/rename-files$ mv index.html web_page.html 

Let’s list the files and see if the file has been renamed:

zaira@Zaira:~/rename-files$ ls web_page.html

How to Name Files in Bulk Using mv

Let’s discuss a script where you can rename files in a bulk using a loop and the mv command.

Here we have a list of files with the extension .js .

zaira@Zaira:~/rename-files$ ls -lrt total 0 -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 index.js -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 config.js -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 blog.js

Next, you want to convert them to .html .

You can use the command below to rename all the files in the folder:

for f in *.js; do mv -- "$f" "$.html"; done

Let’s break down this long string to see what’s happening under the hood:

  • The first part [ for f in *.js ] tells the for loop to process each “.js” file in the directory.
  • The next part [ do mv — «$f» «$.html ] specifies what the processing will do. It is using mv to rename each file. The new file is going to be named with the original file’s name excluding the .js part. A new extension of .html will be appended instead.
  • The last part [ done ] simply ends the loop once all the files have been processed.
zaira@Zaira:~/rename-files$ ls -lrt total 0 -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 index.html -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 config.html -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 blog.html

Conclusion

As you can see, renaming files is quite easy using the CLI. It can be really powerful when deployed in a script.

What’s your favorite thing you learned here? Let me know on Twitter!

You can read my other posts here.

Источник

Оцените статью
Adblock
detector