📜  如何使用 scp - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:08:24.083000             🧑  作者: Mango

使用SCP命令实现远程拷贝

SCP是一种基于SSH协议的远程文件拷贝命令,可以在不用FTP传输的情况下在Linux平台上进行文件传输。通常用于对Linux服务器进行文件传输和备份等功能。

命令格式

使用SCP命令的基本格式如下:

scp [可选参数] source_file destination_file

说明:

  • source_file:指定源文件或目录。可以是本地文件或远程文件。
  • destination_file:指定目标文件或目录。可以是本地文件或远程文件。
  • 可选参数:
    • -r:递归拷贝整个目录(如果源文件是目录)。
示例
  1. 将文件从本地拷贝到远程服务器:

    scp local_file remote_username@remote_ip:remote_file
    

    示例:

    scp test.txt root@192.168.1.100:/root/
    

    解释:将本地文件test.txt拷贝到远程服务器192.168.1.100的root目录下。

  2. 将文件从远程服务器拷贝到本地:

    scp remote_username@remote_ip:remote_file local_file
    

    示例:

    scp root@192.168.1.100:/root/test.txt /home/user/test/
    

    解释:将远程服务器192.168.1.100的/root/test.txt文件拷贝到本地/home/user/test目录下。

  3. 将目录从本地拷贝到远程服务器:

    scp -r local_directory remote_username@remote_ip:remote_directory
    

    示例:

    scp -r /home/user/test root@192.168.1.100:/root/
    

    解释:将本地目录/home/user/test拷贝到远程服务器192.168.1.100的root目录下。

  4. 将目录从远程服务器拷贝到本地:

    scp -r remote_username@remote_ip:remote_directory local_directory
    

    示例:

    scp -r root@192.168.1.100:/root/test /home/user/
    

    解释:将远程服务器192.168.1.100的/root/test目录拷贝到本地/home/user目录下。

注意事项
  1. 使用SCP命令需要确保本地和远程服务器都已经安装了SSH服务。
  2. SCP命令可以使用密码和公钥认证进行登录,推荐使用公钥认证方式登录以提高安全性。
  3. 在SCP命令的参数列表中,源文件或目录在前,目标文件或目录在后。如果不指定路径,则会默认在用户的Home目录下进行操作。
  4. SCP命令对目标文件或目录进行写操作时无需指定权限,该命令会自动根据源文件或目录的权限进行设置。
  5. 当远程文件存在同名文件时,SCP命令会覆盖原文件。如果需要保留原文件,可以先将原文件重命名,再进行拷贝。
  6. 如果SCP命令比较耗时,可以使用rsync命令来代替SCP命令,以提高效率。