SCP (Safe Copy) is a command line utility that allows users to safely copy files and directories between two locations. The following article will take you through the SCP command and introduce how to use the SCP command to transfer files safely. I hope it will be helpful to you.
linux SCP command
The SCP command is a command for remote copying of files under Linux, allowing Users securely copy files and directories between two locations.
Using the SCP command, users can copy files (or directories):
● From the local system to the remote system.
● From remote system to local system.
● Between two remote systems of the local system.
When using scp to transfer data, files and passwords are encrypted so that anyone snooping on the traffic won't get any sensitive information.
Basic syntax of SCP command:
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
● OPTION: scp options, such as password, ssh configuration, ssh port, restrictions, recursive copy...etc.
● [user@]SRC_HOST:]file1: Source file.
● [user@]DEST_HOST:]file2: Target file.
Local files should be specified using absolute or relative paths, while remote filenames should include user and host specifications.
SCP provides many options to control various aspects of its behavior. The most widely used options are:
● -P specifies the remote host ssh port.
● -p retains file modification and access times.
● -q Use this option if you want to suppress progress meters and non-error messages.
● -C. This option will force scp to compress the data when sending it to the target machine.
● -r This option will tell scp to copy directories recursively.
Note: When you start using the SCP command
Because the scp command relies on ssh for data transfer, an ssh key or password is required for authentication on the remote system.
The colon (:) is how SCP differentiates between local and remote locations.
To be able to copy a file, the user must have at least read permissions on the source file and write permissions on the target system.
Be careful when copying files that share the same name and location on two systems, scp will overwrite the files without warning.
How to use SCP to copy files and directories between two systems?
1. Use the scp command to copy local files to the remote system
To copy files from the local to the remote system, run the following command :
scp file.txt remote_username@10.10.0.2:/remote/directory
Description: file.txt is the file name we want to copy, remote_username is the user name on the remote server, 10.10.0.2 is the server IP address; /remote/directory is the directory to which the file is to be copied. The path, if the remote directory is not specified, the file will be copied to the remote user's home directory.
The user will be prompted to enter their user password and the transfer process will begin.
Output:
remote_username@10.10.0.2's password: file.txt 100% 0 0.0KB/s 00:00
Omitting the filename from the destination copies the file using the original name. If you want to save the file under a different name, you need to specify the new name:
scp file.txt remote_username@10.10.0.2:/remote/directory/newfilename.txt
if remote SSH on the host is listening on a port other than the default port 22, you can specify the port using the following -P parameter:
ssh -P 2322 file.txt remote_username@10.10.0.2:/remote/directory
To copy a directory from local to the remote system, use the following -r option:
scp -r /local/directory remote_username@10.10.0.2:/remote/directory
2. Use the scp command to copy remote files to the local system
To copy files from the remote system to the local system, you need to use the remote location as the source, use the local location as a target.
For example, to copy a file named file.txt from the remote server with IP 10.10.0.2, you need to run the following command:
scp remote_username@10.10.0.2:/remote/file. txt /local/directory
Note: If the user does not set the "passwordless ssh login" of the remote computer, the user password will be required.
3. Use the scp command to copy files between two remote systems
When using scp, users can copy files from one server to the other without logging in to one of the servers. One remote computer transmits to another remote computer.
For example, the following command can copy the file /files/file.txt from the remote host host1.com to the directory /files on the remote host host2.com.
scp user1@host1.com:/files/file.txt user2@host2.com:/files
The user will be prompted to enter the passwords for both remote accounts; data will be transferred directly from one remote host to the other.
Recommended video tutorials: "Linux Tutorial"
The above is the entire content of this article, I hope it will be helpful to everyone's learning. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !
The above is the detailed content of How to use SCP command to transfer files securely in linux? (code example). For more information, please follow other related articles on the PHP Chinese website!