How to use the SSH mv command

Managing files on your Linux hosting is a fundamental skill every website owner and developer should master. In particular, the SSH mv command is one of the most essential tools in your arsenal, allowing you to move files between directories and rename them with ease. Furthermore, this comprehensive tutorial will walk you through everything you need to know about using the mv command effectively on your Linux hosting environment.

Understanding the SSH mv Command

The mv (move) command is a built-in Linux utility that serves two primary functions: moving files or directories from one location to another, and renaming files or directories. Unlike copying, moving transfers the file without creating a duplicate, making it efficient for managing your server’s storage space.

Whether you’re reorganizing your website files, updating file names for better SEO, or simply cleaning up your directory structure, the mv command provides a straightforward solution.

Basic Syntax of the mv Command

The fundamental syntax of the mv command follows this pattern:

mv [options] source destination

Where:

  • source is the file or directory you want to move
  • destination is where you want to move it or what you want to rename it to
  • [options] are optional flags that modify the command’s behavior

Moving a Single File to Another Directory

To move a file from one location to another, specify the source path and the destination path:

mv /home/username/oldlocation/file.txt /home/username/newlocation/

Example: Moving a configuration file to your public_html directory:

mv ~/backup/config.php ~/public_html/

This moves config.php from the backup directory to your website’s root directory.

Moving Multiple Files at Once

You can move several files to a directory in a single command using multiple methods:

Method 1: List files individually

mv file1.txt file2.txt file3.txt /destination/directory/

Method 2: Use the -t option for better readability

mv -t /destination/directory/ file1.txt file2.txt file3.txt

Method 3: Use wildcards to move files matching a pattern

mv *.jpg /home/username/images/

This moves all JPEG files from the current directory to the images folder.

Renaming Files with the mv Command

Renaming a file is as simple as “moving” it to the same directory with a different name:

mv oldfilename.txt newfilename.txt

Practical example: Renaming a database backup file:

mv database-backup.sql database-backup-feb-2026.sql

You can also move and rename simultaneously:

mv /old/path/oldname.txt /new/path/newname.txt

Moving and Renaming Directories

The mv command works identically for directories as it does for files:

Renaming a directory:

mv old-folder-name new-folder-name

Moving a directory to another location:

mv ~/public_html/old-site ~/backups/old-site

Advanced mv Command Options

Enhance your mv command usage with these helpful options:

-i (interactive): Prompts before overwriting existing files

mv -i file.txt /destination/

-n (no-clobber): Prevents overwriting existing files

mv -n file.txt /destination/

-v (verbose): Shows what’s being moved

mv -v *.html /public_html/

-u (update): Only moves when source is newer than destination

mv -u updated-file.php /public_html/

Common Use Cases for Web Hosting

Here are practical scenarios where the mv command proves invaluable:

1. Organizing uploaded files:

mv ~/uploads/*.pdf ~/public_html/documents/

2. Backing up website files:

mv ~/public_html/wp-config.php ~/backups/wp-config-backup.php

3. Renaming for SEO purposes:

mv product-123.html premium-wireless-headphones.html

4. Moving log files for archival:

mv /var/log/access.log /var/log/archive/access-$(date +%Y%m%d).log

Best Practices and Safety Tips

To ensure smooth file management and avoid potential issues, follow these best practices:

  • Always use absolute paths when working with important files to avoid confusion about the current directory
  • Create backups before moving critical files like configuration files or databases
  • Use the -i flag when you’re unsure whether the destination already contains a file with the same name
  • Test commands with non-critical files first to ensure you understand the behavior
  • Check file permissions after moving files to ensure your website can still access them
  • Use the -v flag when moving multiple files to track what’s being moved
Hosting from JetHost

Need More Help?

Mastering the SSH mv command is an essential skill for anyone managing a Linux-based hosting account. Whether you’re moving files between directories, renaming files for better organization, or reorganizing your entire website structure, the mv command provides a powerful and efficient solution. By following the examples and best practices outlined in this tutorial, you’ll be able to manage your server files with confidence.

Remember to always proceed with caution when moving important files, and don’t hesitate to use the interactive mode (-i flag) when you’re uncertain. With practice, file management on your Linux hosting will become second nature.