How to Copy Files in Linux: A Beginner’s Guide

How to Copy Files in Linux

As a Linux user, you might need to copy files from one location to another. Copying files in Linux is a simple task that can be achieved through the command line. In this article, we will explain how to copy files in Linux using different methods and provide examples to illustrate the process.

Copying Files in Linux

There are several ways to copy files in Linux. Here are some commonly used methods:

Method 1: Using the cp Command

The cp command is used to copy files and directories in Linux. The syntax of the cp command is as follows:

cp [OPTIONS] SOURCE DESTINATION
  • SOURCE specifies the path of the file or directory you want to copy.
  • DESTINATION specifies the path where you want to copy the file or directory.

Here are some examples:

Example 1: Copy a File

To copy a file named file.txt from /home/user/documents to /home/user/backups, run the following command:

cp /home/user/documents/file.txt /home/user/backups/

Example 2: Copy a Directory

To copy a directory named documents from /home/user to /home/user/backups, run the following command:

cp -r /home/user/documents /home/user/backups/

The -r option is used to copy directories recursively.

Example 3: Preserve File Attributes

To preserve the file attributes, such as ownership and permissions, use the -p option:

cp -p /home/user/documents/file.txt /home/user/backups/

Method 2: Using the rsync Command

The rsync command is used to synchronize files and directories between two locations. The syntax of the rsync command is as follows:

rsync [OPTIONS] SOURCE DESTINATION
  • SOURCE specifies the path of the file or directory you want to copy.
  • DESTINATION specifies the path where you want to copy the file or directory.

Here are some examples:

Example 1: Copy a File

To copy a file named file.txt from /home/user/documents to /home/user/backups, run the following command:

rsync /home/user/documents/file.txt /home/user/backups/

Example 2: Copy a Directory

To copy a directory named documents from /home/user to /home/user/backups, run the following command:

rsync -r /home/user/documents /home/user/backups/

The -r option is used to copy directories recursively.

Example 3: Preserve File Attributes

To preserve the file attributes, such as ownership and permissions, use the -a option:

rsync -a /home/user/documents/file.txt /home/user/backups/

Method 3: Using the scp Command

The scp command is used to copy files and directories between two remote hosts. The syntax of the scp command is as follows:

scp [OPTIONS] SOURCE USER@DESTINATION:PATH
  • SOURCE specifies the path of the file or directory you want to copy.
  • USER specifies the username of the remote host.
  • DESTINATION specifies the IP address or hostname of the remote host.
  • PATH specifies the path where you want to copy the file or directory.

Here are some examples:

Example 1: Copy a File

To copy a file named file.txt from the local machine to a remote host, run the following command:

scp /home/user/documents/file.txt user@remote:/home/user/backups/

Example 2: Copy a Directory

To copy a directory named documents from the local machine to a remote host, run the following command:

scp -r /home/user/documents user@remote:/home/user/backups/

The -r option is used to copy directories recursively.

Example 3: Preserve File Attributes

To preserve the file attributes, such as ownership and permissions, use the -p option:

scp -p /home/user/documents/file.txt user@remote:/home/user/backups/

Conclusion

Copying files in Linux is a simple task that can be achieved through the command line. In this article, we explained how to copy files in Linux using different methods and provided examples to illustrate the process. Whether you prefer using the cp, rsync, or scp command, you now have the knowledge to copy files like a pro.