Skip to main content

Command Palette

Search for a command to run...

How to Rename a Directory in Linux

Updated
6 min read

Renaming a directory in Linux is a common task that you might need to do often. Whether you want to organize your files better or correct a directory name, knowing how to rename directories quickly can save you time. In this article, I’ll guide you through easy and reliable ways to rename directories in Linux.

You don’t need to be a Linux expert to rename directories. I’ll explain step-by-step how to do it using the command line and graphical tools. By the end, you’ll feel confident managing your directories like a pro.

Using the mv Command to Rename a Directory

The most common and straightforward way to rename a directory in Linux is by using the mv command. This command is primarily used to move files and directories, but it also works perfectly for renaming.

Here’s how it works:

  • Open your terminal.
  • Type the command: mv old_directory_name new_directory_name
  • Press Enter.

For example, if you have a directory named projects and want to rename it to work_projects, you would run:

mv projects work_projects

This command changes the directory name instantly without moving its contents.

Important Points About mv

  • The mv command does not create a new directory; it simply changes the name.
  • Make sure you have the right permissions to rename the directory.
  • If the new directory name already exists, the command will overwrite it without warning, so be careful.

When to Use mv

  • Renaming directories within the same filesystem.
  • Quick renaming without needing to move the directory.
  • When working in the terminal or remotely via SSH.

Renaming a Directory Using the rename Command

Another tool you might find useful is the rename command. It’s more powerful and flexible, especially when you want to rename multiple directories or files using patterns.

The rename command uses regular expressions to match and replace parts of filenames or directory names.

Basic Syntax

rename 's/old_pattern/new_pattern/' directory_name

For example, to rename a directory from test_dir to prod_dir, you would run:

rename 's/test/prod/' test_dir

When to Use rename

  • Renaming multiple directories with similar names.
  • Applying pattern-based renaming.
  • Automating batch renaming tasks.

Note

  • The rename command might not be installed by default on all Linux distributions. You can install it using your package manager, for example:
sudo apt install rename  # For Debian/Ubuntu
sudo yum install prename # For CentOS/RHEL

Renaming Directories Using a Graphical User Interface (GUI)

If you prefer not to use the terminal, most Linux desktop environments provide easy ways to rename directories through their file managers.

Steps to Rename a Directory in GUI

  1. Open your file manager (e.g., Nautilus, Dolphin, Thunar).
  2. Navigate to the directory you want to rename.
  3. Right-click on the directory.
  4. Select “Rename” from the context menu.
  5. Type the new name and press Enter.

This method is intuitive and works well for users who are more comfortable with graphical interfaces.

Advantages of Using GUI

  • No need to remember commands.
  • Visual feedback during renaming.
  • Useful for occasional renaming tasks.

Limitations

  • Not suitable for remote servers without a GUI.
  • Less efficient for batch renaming.

Handling Permissions When Renaming Directories

Sometimes, you might encounter permission errors when trying to rename a directory. This usually happens if you don’t own the directory or lack write permissions in the parent folder.

How to Check Permissions

Use the ls -ld command to check directory permissions:

ls -ld directory_name

The output shows the owner, group, and permission settings.

Fixing Permission Issues

  • Use sudo to rename directories owned by other users:
sudo mv old_name new_name
  • Change ownership or permissions if needed:
sudo chown your_username directory_name
sudo chmod u+w directory_name

Be cautious when changing permissions to avoid security risks.

Renaming Directories Across Different Filesystems

If you want to rename or move a directory across different filesystems, the mv command behaves differently. It copies the directory to the new location and deletes the old one.

What You Should Know

  • Renaming across filesystems is essentially a copy and delete operation.
  • It may take longer depending on directory size.
  • Use rsync or cp if you want more control over the copying process.

Example

To move and rename a directory from /mnt/usb/old_dir to /home/user/new_dir:

mv /mnt/usb/old_dir /home/user/new_dir

If the filesystems differ, this will copy and delete the original directory.

Using Scripts to Rename Multiple Directories

If you have many directories to rename, doing it manually can be tedious. Writing a simple shell script can automate the process.

Example Script to Rename Directories

#!/bin/bash
for dir in old_prefix*; do
  new_name=$(echo $dir | sed 's/old_prefix/new_prefix/')
  mv "$dir" "$new_name"
done

This script renames all directories starting with old_prefix to start with new_prefix.

Benefits of Using Scripts

  • Saves time on repetitive tasks.
  • Reduces human error.
  • Easily customizable for different patterns.

Troubleshooting Common Issues When Renaming Directories

Sometimes, renaming directories might not work as expected. Here are some common problems and solutions:

  • Directory not found: Check the spelling and path.
  • Permission denied: Use sudo or adjust permissions.
  • Target name exists: Rename or remove the existing directory first.
  • Using special characters: Use quotes or escape characters in names.

Summary Table: Commands to Rename Directories in Linux

CommandUse CaseNotes
mvSimple renaming within filesystemFast and straightforward
renamePattern-based or batch renamingRequires installation on some distros
GUI File ManagerVisual renamingEasy for beginners, no terminal needed

Conclusion

Renaming a directory in Linux is a simple task once you know the right tools. The mv command is your go-to for quick renaming, while rename helps with batch or pattern-based changes. If you prefer a visual approach, your desktop’s file manager makes it easy without any commands.

Remember to check permissions if you run into errors, and consider scripting if you have many directories to rename. With these methods, you can keep your Linux directories organized and named exactly how you want.


FAQs

How do I rename a directory in Linux using the terminal?

Use the mv command like this: mv old_directory_name new_directory_name. This changes the directory name without moving its contents.

Can I rename multiple directories at once in Linux?

Yes, using the rename command or a shell script, you can batch rename directories based on patterns or prefixes.

What should I do if I get a permission denied error when renaming?

Try running the command with sudo or check and modify the directory’s permissions using chmod or chown.

Is it possible to rename directories using a graphical interface?

Yes, most Linux desktop environments allow you to rename directories by right-clicking and selecting “Rename” in the file manager.

What happens if I rename a directory across different filesystems?

Linux copies the directory to the new location and deletes the original, which may take longer than renaming within the same filesystem.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts