The mv command in Linux stands for “move”. It is primarily used to move files or directories from one location to another within the filesystem. Additionally, it can rename files or directories by moving them to a new name in the same location. The mv command is highly versatile, supporting operations like overwriting files, preserving file attributes, and handling multiple files or directories at once. It’s a fundamental tool for organizing files, renaming them, or relocating them to different directories.
- Rename a File
- Move Multiple Files to a Directory
- Rename a Directory
- Move a Directory to Another Location
- Force Overwrite Without Prompt
- Interactive Mode (Prompt Before Overwriting)
- Backup Existing Files Before Overwriting
- Move Files with Wildcards
- Verbose Mode (Show Actions)
- Move Files and Preserve Timestamps
- Move Files with Spaces in Names
- Rename Files with Pattern Matching
- Move Files via find + xargs
- Move Files Using Absolute Paths
- Move and Create Parent Directories
- Move Files to a New Directory
- Dry Run (Simulate Moving)
- Move Files with sudo (System Files)
- Key Notes:
However, caution is advised, as mv can overwrite existing files without warning unless specific options are used. Whether you’re managing personal files or scripting system tasks, mv is an essential command for efficient file manipulation in Linux.
Rename a File
mv oldfile.txt newfile.txt
Renames oldfile.txt to newfile.txt in the same directory.
2. Move a File to Another Directory
mv file.txt /target/directory
Moves file.txt to /target/directory.
Move Multiple Files to a Directory
mv file1.txt file2.txt /target/directory
Moves file1.txt and file2.txt to /target/directory.
Rename a Directory
mv olddir/ newdir/
Renames the directory olddir to newdir.
Move a Directory to Another Location
mv /path/to/source/dir/ /path/to/destination/
Moves the entire dir (and its contents) to the destination.
Force Overwrite Without Prompt
mv -f source.txt destination.txt
Overwrites destination.txt if it exists (no confirmation).
Interactive Mode (Prompt Before Overwriting)
mv -i source.txt destination.txt
Asks for confirmation before overwriting existing files.
Backup Existing Files Before Overwriting
mv --backup=numbered source.txt destination.txt
Creates a numbered backup of destination.txt (e.g., destination.txt.~1~).
Move Files with Wildcards
mv *.txt /target/directory
Moves all .txt files to /target/directory.
Verbose Mode (Show Actions)
mv -v file.txt /target/directory
Prints: 'file.txt' -> '/target/directory/file.txt'.
Move Files and Preserve Timestamps
mv -p file.txt /target/directory
Retains the original file’s timestamps and permissions.
12. Move Hidden Files
mv .hiddenfile /target/directory
Moves hidden files (starting with .).
Move Files with Spaces in Names
mv "My Document.txt" /target/directory
Use quotes to handle filenames with spaces.
Rename Files with Pattern Matching
mv *.jpeg *.jpg
Renames all .jpeg files to .jpg in the current directory.
Move Files via find + xargs
find . -name "*.log" -type f -print0 | xargs -0 mv -t /target/directory
Finds all .log files and moves them to /target/directory (handles spaces in filenames).
Move Files Using Absolute Paths
mv /home/user/docs/file.txt /backup/
Moves a file using absolute paths.
Move and Create Parent Directories
mkdir -p /target/directory && mv file.txt /target/directory
Creates parent directories if they don’t exist before moving.
Move Files to a New Directory
mv file1.txt file2.txt new_directory/
Moves files into new_directory (creates it if missing).
Dry Run (Simulate Moving)
mv -n file.txt /target/directory
Simulates the move without making changes (-n = no overwrite).
Move Files with sudo (System Files)
sudo mv /tmp/config /etc/
Moves files requiring root permissions.
Key Notes:
- Overwriting: By default,
mvoverwrites existing files. Use-ior--backupto avoid accidental data loss. - Wildcards: Use
*(any characters) or?(single character) for pattern matching. - Permissions: Ensure you have write access to both the source and destination directories.
The mv command is a cornerstone of Linux file management. Use it carefully! 🐧
