- How do I rename a directory via the command line?
- 7 Answers 7
- Как переименовать папку Linux
- Как переименовать папку в Linux
- 1. Файловый менеджер
- 2. Команда mv
- 3. Команда rename
- 4. Скрипт Bash
- 5. Команда find
- 6. Утилита gio
- Выводы
- How to Rename a Directory in Linux: Ubuntu, Fedora, + More
- Using the «mv» Command
- Using the File Browser
- Using the «Rename» Command
- Renaming Multiple Directories
- Finding and Changing a Directory Name
- Expert Q&A
- You Might Also Like
How do I rename a directory via the command line?
I have got the directory /home/user/oldname and I want to rename it to /home/user/newname . How can I do this in a terminal?
7 Answers 7
mv /home/user/oldname /home/user/newname
This will not work if the new name is already an existing directory. Instead, it will move the old directory inside the new one.
If the directory name is the same with capitalization you will get No such file or directory . To avoid this do something like mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder .
To just rename a file or directory type this in Terminal:
with space between the old and new names.
To move a file or directory type this in Terminal.
it will move the file to the desktop.
mv -T /home/user/oldname /home/user/newname
That will rename the directory if the destination doesn’t exist or if it exists but it’s empty. Otherwise it will give you an error.
mv /home/user/oldname /home/user/newname
One of two things will happen:
- If /home/user/newname doesn’t exist, it will rename /home/user/oldname to /home/user/newname
- If /home/user/newname exists, it will move /home/user/oldname into /home/user/newname , i.e. /home/user/newname/oldname
Doesn’t work if you want to capitalize the directory name in a case-insensitive filesystem (likely on MacOS). mv -T $PWD/analisys $PWD/Analisys returns mv: ‘/Users/sixtykeys/Projects/murphy/tmp/analisys’ and ‘/Users/sixtykeys/Projects/murphy/tmp/Analisys’ are the same file . I worked around this by using an intermediate name (i.e. analisys_ ).
The command may not have been successful due to the limitations of the filesystem, but from another perspective it was successful in interpreting your intentions (renaming a directory, not moving it) 🙂
Как переименовать папку Linux
Переименовать папку в Linux не намного сложнее, чем переименовать файл. Вы можете сделать это в графическом интерфейсе или с в терминале с помощью нескольких команд. Как и для других задач в Linux для этой существует множество способов решения.
Можно переименовать не просто одну папку, а выбрать стразу несколько и настроить для них массовое переименование. Вы можете использовать команду mv, rename, а также утилиту find для массового переименования. Но сначала давайте поговорим о том как всё это сделать в файловом менеджере.
Как переименовать папку в Linux
1. Файловый менеджер
Самый простой способ переименовать папку — в файловом менеджере. Например, для Ubuntu это Nautilus. Откройте файловый менеджер и кликните правой кнопкой мыши по нужной папке. В контекстном меню выберите Переименовать:
Затем просто введите новое имя:
После нажатия клавиши Enter папка будет переименована.
2. Команда mv
Команда mv предназначена для перемещения файлов в другое место, однако её можно без проблем использовать чтобы переименовать папку или файл не перемещая его никуда. По сути, если файл или папка перемещается в пределах одного раздела диска, то на самом деле они просто переименовываются, а физически остаются на том же месте. Синтаксис:
$ mv старое_имя новое_имя
Чтобы переименовать папку ~/Музыка/Папка 1 в Папка 11 используйте:
mv ~/Музыка/Папка_1 ~/Музыка/Папка_10
Если в имени файлов есть пробелы, то путь к файлу следует взять в кавычки. После выполнения этой команды папка будет переименована:
Обратите внимание, что слеш в конце папки назначения писать нельзя, иначе, ваша папка будет перемещена в указанную папку, если такая существует.
3. Команда rename
Команду rename можно использовать аналогично mv, только она предназначена специально для переименования файлов и папок поэтому у неё есть несколько дополнительных возможностей. Синтаксис команды следующий:
$ rename регулярное_выражение файлы
Но прежде всего программу надо установить:
Самый простой пример, давайте заменим слово «Папка» на «Dir» во всех папках:
Можно пойти ещё дальше и использовать регулярное выражение чтобы заменить большие буквы в названиях на маленькие:
Чтобы не выполнять действия, а только проверить какие папки или файлы собирается переименовывать команда используйте опцию -n:
4. Скрипт Bash
Для массового переименования папок можно использовать скрипт на Bash с циклом for, который будет перебирать все папки в директории и делать с ними то, что нужно. Вот сам скрипт:
#!/bin/bash
for dir in *
do
if [ -d «$dir» ]
then
mv «$» «$_new»
fi
done
Этот скрипт добавляет слово _new для всех папок в рабочей директории, в которой был он был запущен. Не забудьте дать скрипту права на выполнение перед тем, как будете его выполнять:
5. Команда find
Массовое переименование папок можно настроить с помощью утилиты find. Она умеет искать файлы и папки, а затем выполнять к найденному указанную команду. Эту особенность программы можно использовать. Давайте для всех папок, в имени которых есть dir добавим слово _1. Рассмотрим пример:
find . -name «Dir*» -type d -exec sh -c ‘mv «<>» «<>_1″‘ \;
Утилита ищет все папки, в имени которых есть слово Dir, затем добавляет с помощью mv к имени нужную нам последовательность символов, в данном случае единицу.
6. Утилита gio
Утилита gio позволяет выполнять те же действия что и с помощью обычных утилит mv или rename, однако вместо привычных путей, можно использовать пути GVFS. Например: smb://server/resource/file.txt. Для переименования папки можно использовать команду gio move или gio rename. Рассмотрим пример с move:
gio move ~/Музыка/Dir_3 ~/Музыка/Dir_33
Переименование папки Linux выполняется аналогично тому, как это делается с помощью mv.
Выводы
В этой небольшой статье мы рассмотрели как переименовать папку Linux. Как видите, для этого существует множество способов и всё делается достаточно просто.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How to Rename a Directory in Linux: Ubuntu, Fedora, + More
This article was co-authored by wikiHow staff writer, Travis Boylls. Travis Boylls is a Technology Writer and Editor for wikiHow. Travis has experience writing technology-related articles, providing software customer service, and in graphic design. He specializes in Windows, macOS, Android, iOS, and Linux platforms. He studied graphic design at Pikes Peak Community College.
Do you want to change the name of a directory or folder in Linux? Most Linux distributions have a graphical user interface with a file browser application that you can use to rename files and folders. However, you can change the name of a directory or folder in all versions of Linux using a few basic Terminal commands. This wikiHow article teaches you how to rename a directory in all versions of Linux.
- The «mv» command can be used to rename directories and other files.
- The syntax to change a directory name is «mv .»
- You can also use the «rename» command or the file browser to change a directory name.
Using the «mv» Command
. On most Linux distributions, the Terminal has an icon that resembles a black screen with a white cursor. You can click the Terminal icon in your Apps menu or press the keyboard shortcut, «Ctrl + Alt + T» to open the Terminal.
- To change directories, type cd followed by the path, then press Enter.
- For example, if you want to rename a directory called «Important» in your Documents directory, you’d enter cd /home/yourusername/Documents and press Enter.
- Do not press Enter just yet. There is still more you need to type to complete the command.
- —backup : This will create a backup of all the files being moved.
- -f . This option will force an overwrite of any files or folders without a prompt.
- -i : This option will prompt you before overwriting any files or folders.
- -v : This option will explain everything that is being done by the command.
- To view all directories and folders in your current directory, type ls -la and press Enter. This will show all folders and hidden folders as well as which user has permission to access these folders.
- If you are not in the directory that contains the directory that you want to change, you will need to add the path to where you want to save the new directory name. For example, /home/user/new_directory . You can also do this to change the location of the directory.
- The entire command should look something like the following: mv -v /home/username/temp_dir /home/username/new_dir .
Using the File Browser
Open your File Browser app. This will be different with each Linux distribution. On Ubuntu and Fedora, it’s the app called «Files» and it has an icon that resembles a file cabinet drawer. Click the Files app to open Files.
Right-click the folder you want to rename. You can rename folders using the graphical user interface the same way you would using Windows or macOS. Simply right-click the folder you want to rename.
Enter a new name and click Rename . A box will appear with a field you can use to enter the new name for your folder. Enter the new name and click Rename. This will instantly rename the folder.
Using the «Rename» Command
. On most Linux distributions, the Terminal has an icon that resembles a black screen with a white cursor. You can click the Terminal icon in your Apps menu or press the keyboard shortcut «Ctrl + Alt + T» to open the Terminal.
- Debian/Ubuntu: sudo apt install rename
- Fedora: sudo yum install prename
- Arch Linux: sudo pacman -S install rename
- To change directories, type cd followed by the path, then press Enter.
- For example, if you want to rename a directory called «Important» in your Documents directory, you’d enter cd /home/yourusername/Documents and press Enter.
- -v : This command will add information about actions taking place.
- -n . This command will not take any action. You can use it to test your command to see if it works before changing the command for real.
- -f : This command will force overwrite any directories without prompting you.
Type the name of the directory you want to change. Enter the name of the old directory next in the command line.
- Alternatively, you can search for multiple folders by entering patterns instead of the name of a folder. To do so, you would type ‘s///’ instead of the old and new names for the directory. For example, if you have a bunch of folders named «Untitled», you could type ‘s/Untitled//’ to search for all folders with the name «Untitled». If you want to search for all folders that begin with a capital letter, you would type ‘s/A-Z//’ .
- The entire command should look something like rename -v Untitled New_folder_Name Untitled and press Enter.
Renaming Multiple Directories
. On most Linux distributions, the Terminal has an icon that resembles a black screen with a white cursor. You can click the Terminal icon in your Apps menu or press the keyboard shortcut «Ctrl + Alt + T» to open the Terminal.
- For example, you can type and press enter to create a new shell file called «change_directories.sh».
Type for d in *; do on the first line. This creates a loop in which the script will check all files within the directory the shell file is in.
- Alternatively, you can add a new name to the end of each directory instead of changing it completely. To do so, mv —«$d» «$_$(«) instead. For example, if you want to add the date to the end of each directory, you could type mv — «$d» «$_$(date +%Y%m%d)» on the third line.
Type done on the fifth line. This ends the script. The entire script should look something like the following:
for d in *; do if [ -d "$d" ]; then mv -- "$d" "$d>_$(date +%Y%m%d)" fi done
Save the shell file and exit VIM. To do so, press Esc. Then type :wq and press Enter. This will save the file and exit VIM. You will be returned to the standard Terminal interface.
- Make sure you are in the same directory as the shell file. To change directories, type cd followed by the path of the shell file (i.e., cd /home/user/ and press Enter.
Execute the script. To do so, simply type the name of the shell file (i.e, ./change_directories.sh and press Enter.
Finding and Changing a Directory Name
. If you’re not sure where the directory is that you want to rename, you can use the find command to find it. Start by opening a Terminal window.
- Don’t press Enter just yet. You still need to add the part of the command that will change the directory name.
- The entire command should look something like find . -depth -type d -name temp_directory -execdir mv <> new_directory_name \;
Expert Q&A
You Might Also Like
Can Linux Run .exe Files? How to Run Windows Software on Linux
How to Open Linux Firewall Ports: Ubuntu, Debian, & More
How to Run an INSTALL.sh Script on Linux in 4 Easy Steps
Use Ping in Linux: Tutorial, Examples, & Interpreting Results
How to Delete Read-Only Files in Linux
How to Install Linux on Your Computer
How to Install Software on Linux: Packages, Compiling, & More