Linux,如何将文件从一台服务器传到另一台服务器上

embedded/2024/12/5 2:19:51/

摘要

将文件从一台服务器上传到另一台服务器上用到了scp命令。

scp(Secure Copy Protocol)命令用于在本地和远程主机之间或两个远程主机之间安全地复制文件或目录。它基于SSH协议,因此文件传输过程中会进行加密。以下是scp命令的详细解释及具体示例:

一、基本语法

scp [options] source destination
  • source:源文件或目录的路径,可以是本地路径或者远程路径。
  • destination:目标文件或目录的路径,也可以是本地路径或远程路径。

二、常用选项

  • -r:递归复制整个目录及其内容。
  • -P port:指定远程主机的SSH端口(注意是大写的-P),默认端口是22。
  • -i identity_file:指定私钥文件用于身份验证。
  • -C:启用压缩,适用于大文件传输,可以减少带宽占用。
  • -p:保留文件的修改时间、访问时间和权限。
  • -l bandwidth_limit:限制传输的带宽,单位为Kbit/s。
  • -v:启用详细输出,显示传输进度和调试信息。

三、具体示例

  1. 从本地复制文件到远程主机
scp /path/to/local/file username@remote_host:/path/to/remote/destination

示例:将本地的abc.sh文件复制到远程主机192.168.100.20/root目录:

scp /etc/abc.sh root@192.168.100.20:/root/
  1. 从远程主机复制文件到本地
scp username@remote_host:/path/to/remote/file /path/to/local/destination

示例:从远程主机192.168.100.20上的/root/abc.sh文件复制到本地的/home/user/目录:

scp root@192.168.100.20:/root/abc.sh /home/user/
  1. 复制本地目录及其内容到远程主机

使用-r选项递归复制目录:

scp -r /path/to/local/directory username@remote_host:/path/to/remote/destination

示例:将本地的/home/user/mydir目录复制到远程主机/root/目录:

scp -r /home/user/mydir root@192.168.100.20:/root/
  1. 复制远程主机上的目录到本地

同样使用-r选项:

scp -r username@remote_host:/path/to/remote/directory /path/to/local/destination

示例:将远程主机/root/mydir目录复制到本地/home/user/目录:

scp -r root@192.168.100.20:/root/mydir /home/user/
  1. 指定非默认SSH端口

如果远程主机使用非默认的SSH端口(例如2222),可以使用-P选项指定端口号:

scp -P port /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -P 2222 /etc/abc.sh root@192.168.100.20:/root/
  1. 限制传输带宽

使用-l选项限制传输的带宽(以Kbit/s为单位):

scp -l bandwidth_limit /path/to/local/file username@remote_host:/path/to/remote/destination

示例:限制带宽为500Kbit/s:

scp -l 500 /etc/abc.sh root@192.168.100.20:/root/
  1. 启用详细输出

使用-v选项启用详细输出,显示传输进度和调试信息:

scp -v /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -v /etc/abc.sh root@192.168.100.20:/root/
  1. 使用私钥进行身份验证

如果远程主机要求使用SSH密钥进行身份验证,可以通过-i选项指定私钥文件:

scp -i /path/to/private_key /path/to/local/file username@remote_host:/path/to/remote/destination

示例:使用/home/user/.ssh/id_rsa密钥文件:

scp -i /home/user/.ssh/id_rsa /etc/abc.sh root@192.168.100.20:/root/
  1. 保留文件权限和时间

使用-p选项保留文件的修改时间、访问时间和权限:

scp -p /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -p /home/user/music.mp3 user@192.168.1.100:/home/user/music/
  1. 使用压缩

使用-C选项在复制过程中压缩文件或目录,可以减少网络传输时间:

scp -C /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -C /home/user/largefile.zip user@192.168.1.100:/home/user/backup/

四、注意事项

  • 确保远程主机已经启用了SSH服务。
  • 如果目标目录在远程主机上不存在,scp命令会自动创建目录。
  • 默认情况下,scp会要求你输入远程主机的密码(除非使用密钥认证)。
  • scp命令使用的是SSH协议,因此其安全性依赖于SSH的配置。

http://www.ppmy.cn/embedded/143061.html

相关文章

ES语法(一)概括

一、语法 1、请求方式 Elasticsearch&#xff08;ES&#xff09;使用基于 JSON 的查询 DSL&#xff08;领域特定语言&#xff09;来与数据交互。 一个 ElasticSearch 请求和任何 HTTP 请求一样由若干相同的部件组成&#xff1a; curl -X<VERB> <PROTOCOL>://&l…

WPF_1

剖析最简单的WPF程序 什么是项目模板 首先新建一个WPF项目模板 直接运行&#xff1a; 最简单的WPF程序 解决方案就对应着客户的一个需求&#xff0c;解决方案中可以含多个项目&#xff0c;每个项目编译后的结果是一个程序集Assembly。 现在来看下MainWindow.xaml中代码 <…

【微服务】SpringBoot 对接飞书多维表格事件回调监听流程详解

目录 一、前言 二、前置准备 2.1 创建一个应用 2.2 准备一张测试使用的多维表 2.3 获取对接文档 2.4 工程中添加SDK 三、对接过程 3.1 配置Encrypt Key 和 Verification Token 3.2 配置订阅方式 3.3 添加事件 3.4 申请权限 3.5 编写订阅代码 3.6 订阅文档事件 3.7…

VMware Workstation 17.6.1

概述 目前 VMware Workstation Pro 发布了最新版 v17.6.1&#xff1a; 本月11号官宣&#xff1a;针对所有人免费提供&#xff0c;包括商业、教育和个人用户。 使用说明 软件安装 获取安装包后&#xff0c;双击默认安装即可&#xff1a; 一路单击下一步按钮&#xff1a; 等待…

浅谈Java库之‌Apache Commons Math

一、Apache Commons Math 基本介绍 Apache Commons Math 是 Apache 软件基金会维护的一个 Java 数学库&#xff0c;它提供了一系列用于数值分析、统计计算、线性代数等领域的工具类。 二、Apache Commons Math 使用方法 1、全面的中文文档&#xff1a; 为 Java 开发者提供了详…

[C#]C#实现数字到人民币大写金额的转换

在软件开发中&#xff0c;将数字转换成人民币大写形式的需求通常出现在需要生成财务报表、发票、收据、账单等正式文档的场景中。这些文档往往需要遵循一定的格式和规范&#xff0c;以确保信息的准确性和可读性&#xff0c;特别是在处理与金钱相关的数据时。 比如&#xff1a; …

贪心算法入门(一)

第1题 礼物 查看测评数据信息 国庆马上要到了。小明喜欢的礼物有n种分别是&#xff1a;公仔、电子手表、漫画书等。 每种礼物有一件&#xff0c;每种礼物价钱都不一样。小明手头上有 m 元。 小明最多可以买多少件礼物&#xff1f; 输入格式 第一行&#xff0c;两个整数&…

计算机网络(架构)

计算机网络-自顶向下 前言 如何描述计算机网络的整体运作与功能? 对世界上已有的计算机网络有一个清晰明了的认知? 在我的理解中, 网络的核心功能是 将信息从一端发送到另一端. 因此, 其实只要具备这样的功能的都可以被称作是网络. 小到两台计算机之间的相互链接, 数据交换…