linux常用命令(10):scp命令(远程拷贝命令,复制文件到远程服务器)

一、SCP介绍

Linux scp 命令是一个用于在本地计算机和远程计算机之间进行文件传输的命令行工具。这个命令基于SSH(Secure Shell)协议,提供了加密和安全的文件传输功能。实现不同服务器之间的文件传输

scpsecure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

scp 是加密的,rcp 是不加密的,scprcp 的加强版。

1.1、语法

scp [选项] [源文件] [目标路径]
  • [选项]:用于指定 scp 命令的行为,例如递归复制、保留文件属性等。
  • [源文件]:要复制的文件或目录的路径。
  • [目标路径]:文件或目录要复制到的目标路径。

常用选项:

以下是一些常用的 scp 命令选项:

  • -r:递归复制整个目录。
  • -P:指定远程主机的 SSH 端口号(默认是 22)。
  • -p:保留文件的修改时间、访问时间和权限。
  • -v:显示详细的调试信息,有助于排查问题。
  • -C:启用压缩,可以加快传输速度。

1.2、核心功能场景

本地 → 远程 (推送)

scp /local/file.txt user@remote_ip:/remote/directory/

示例:
#将本地文件推送到远程服务器/home/root目录下
scp /local/file.txt  root@192.168.10.1:/home/root

远程 → 本地 (拉取)

scp user@remote_ip:/remote/file.txt /local/directory/

远程 → 远程

scp user1@source_ip:/path/file user2@target_ip:/target/path/

二、示例

2.1、本地文件复制到远程服务器

假设你有一个文件 file.txt,你想将它复制到远程主机的 /home/user/ 目录下,可以使用以下命令

scp file.txt user@remote_host:/home/user/

在这个命令中:

  • file.txt 是本地文件。
  • user@remote_host 是远程主机的用户名和地址。
  • /home/user/ 是远程主机上的目标路径。

2.2、从远程主机复制文件到本地

如果你想将远程主机上的文件 file.txt 复制到本地的当前目录,可以使用以下命令:

scp user@remote_host:/home/user/file.txt .

在这个命令中:

  • user@remote_host:/home/user/file.txt 是远程主机上的文件路径。
  • . 表示当前目录。

2.3、递归复制目录

如果你想复制整个目录及其内容,可以使用 -r 选项。例如,将本地的 my_directory 目录复制到远程主机的 /home/user/ 目录下:

scp -r my_directory user@remote_host:/home/user/

2.4、从远程服务器上复制目录

将远程服务器上/tmp/file目录的所有文件复制到当前目录

scp -r root@remote_ip:/tmp/file .

2.5、自定义端口

SCP 使用端口 22 作为默认端口。但是出于安全原因,您可以将端口更改为另一个端口。例如,我们将使用端口 2222。那么命令必须像这样。

scp -P  2222 file.tar.gz root@remote_ip:/tmp/

2.6、迁移整个网站目录

scp -rpC -P 2222 /var/www/html/ root@remote_ip:/var/www/

参数解析:
-r递归 -p保留属性 -C压缩 -P指定端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月天的尾巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值