Managing folders remains a basic task for Linux users. Sometimes, you need to rename a directory in Linux due to spelling errors or changes in your project structure. This tutorial demonstrates multiple methods for accomplishing this task quickly and efficiently. You will learn several approaches ranging from simple command-line operations to automated scripting solutions. Each method serves different use cases, from single directory changes to bulk operations across nested structures. Your files stay safe during folder renaming operations, as changing a folder’s name does not alter its contents.

How to Rename Directories in Linux Using Command Line Interface

Using the mv Command

The simplest way to rename a directory in Linux is through the mv command. This tool comes pre-installed on every distribution. No additional setup is required.

Originally designed for relocating files, mv works perfectly for renaming tasks as well. When you move something to the same location with a different name, you effectively rename it.

Basic syntax:

mv current_folder_name new_folder_name

For folders outside your current location, specify the full path:

mv ~/projects/old_folder ~/projects/updated_folder
Avoid modifying system folders. Using sudo for renaming operations often signals that you should reconsider the action. The files remain untouched during the rename process. Only the path location gets modified.

Using the rename Command for Renaming Directories

Complex renaming tasks require the rename command. This tool uses Perl expressions for powerful batch operations. Installation varies by distribution:

Distribution Package Name Installation Command
Ubuntu/Debian rename sudo apt install rename
Fedora prename sudo dnf install prename
Manjaro perl-rename sudo pacman -Sy perl-rename

To rename a directory in Linux using this utility:

rename 's/^oldname$/newname/' oldname

The caret (^) and dollar sign ($) ensure exact matching. This prevents accidental changes to similarly named folders.

How to Rename Using Batch Operations

When multiple folders share common text, batch processing saves time. You can apply pattern-based changes across many directories simultaneously.

This locates every folder containing “project” and substitutes it with “archive”:

rename 's/project/archive/' */

Transform uppercase folder names to lowercase easily:

rename 'y/A-Z/a-z/' *

Understanding directory navigation commands helps when working with complex folder structures across your file system.

Combining find With Renaming Operations

The find command locates folders across nested structures. Pair it with xargs and rename for powerful results:

find . -depth -type d -name "*-old" | xargs -r rename "s/old$/archive/"

This searches all subdirectories and updates matching folder names automatically. The depth option ensures subdirectories process before parent directories.

Renaming Directories Using Bash Scripts

Bash scripts handle repetitive renaming tasks efficiently. This script adds “backup_” before each folder name in the specified location:

#!/bin/bash
target_dir="/home/user/folders"
for dir in "$target_dir"/*; do
    if [ -d "$dir" ]; then
        current_name=$(basename "$dir")
        updated_name="backup_${current_name}"
        mv "$dir" "$target_dir/$updated_name"
    fi
done

Scripts work well for automated recurring tasks. For scripting basics, visit our Bash tutorial section.

How to Rename Using GUI File Managers

Graphical users can rename a directory in Linux through file managers. Most desktop environments offer this simple method.

Launch your file browser application and navigate to the target folder. Select the folder and press F2. Enter the updated name and click Rename or press Enter.

Multiple folders can be selected for batch renaming through the same F2 shortcut. This approach works across GNOME, KDE, and XFCE environments.

Selecting the Right Method

Scenario Recommended Tool
Single folder change mv command
Multiple folders with patterns rename utility
Nested directory trees find with xargs
Quick visual changes File manager GUI
Automated recurring tasks Bash scripts

Select your method based on the task’s complexity. Simple changes need only mv. Bulk modifications across directory trees benefit from combining find, xargs, and rename together. Learning file permissions and directory listing commands enhances your Linux filesystem management skills.

FAQs

Can I undo a directory renaming operation in Linux?

Linux mv and rename commands lack built-in undo features. Back up your data before executing renaming operations. You can reverse changes manually by running the same command with reversed names if caught immediately.

Will renaming a directory affect programs using that path?

Yes, applications referencing the old path will fail. Update configuration files, scripts, and shortcuts after renaming. System paths and mounted directories require special attention to avoid breaking dependencies or services.

How do I rename directories with spaces in their names?

Wrap directory names in quotes when they contain spaces. Use mv “old folder name” “new folder name” syntax. Alternatively, escape spaces with backslashes like mv old\ folder\ name new\ folder\ name for the same result.

Are there any risks involved in renaming directories in Linux?

Renaming critical system directories causes severe issues. Always verify paths before execution. Mistakes with batch operations affect multiple folders simultaneously. Test commands on non-critical directories first to ensure expected behavior.

How can I rename directories recursively in subdirectories?

Use find with exec or xargs for recursive operations. The command find . -depth -type d -name “pattern” -execdir rename ‘s/old/new/’ {} \; processes all matching subdirectories. The depth flag ensures proper processing order.

Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.