Linux scp命令

scp(secure copy)命令是Linux和Unix系统下用于通过SSH协议安全地复制文件和目录的工具。它提供了一种方便的方式来在本地和远程系统之间传输数据,同时保持了数据传输的安全性和完整性。

基本语法
bash 复制代码
scp [选项] [源路径] [目标路径]
  • 源路径 :可以是本地文件或目录的路径,也可以是远程主机上的文件或目录的路径(格式为用户名@主机地址**:**绝对路径)。
  • 目标路径 :与源路径相对应,表示数据要复制到的位置,同样可以是本地或远程的路径。
常用选项
  • -r **:**递归复制整个目录及其子目录。
  • -P **(注意是大写):**指定SSH连接使用的端口号(默认是22)。
  • -p **(注意是小写):**保留原文件的修改时间、访问时间和权限。注意,这个选项并不表示通过加密传输(尽管scp本身是通过SSH加密的)。
  • -C **:**启用压缩,可以加快传输速度(特别是当文件较大且网络速度较慢时)。
  • -i **:**指定私钥文件的路径,用于SSH身份验证。
  • -v **:**详细模式,显示传输过程中的详细信息。
  • -q **:**安静模式,不显示传输进度条和警告信息。
  • -l **:**限制scp传输时使用的带宽(以Kbit/s为单位)。
举例

1)从远端服务器拷贝文件到本地

2)从本地拷贝文件到远端服务器

bash 复制代码
# 3)拷贝文件夹
scp -r /path/to/local/directory username@remotehost:/path/to/remote/directory
# 递归地将本地的/path/to/local/directory目录及其子目录和文件复制到远程主机username@remotehost的/path/to/remote/directory目录下。

# 4)指定SSH端口
scp -P 2222 /path/to/local/file username@remotehost:/path/to/remote/directory
# 如果远程主机的SSH服务不在默认的22端口上运行,可以使用-P选项指定端口号。

# 5)保留文件属性
scp -p /path/to/local/file username@remotehost:/path/to/remote/directory
# 在复制文件时,保留原文件的修改时间、访问时间和权限

# 6)使用私钥文件
scp -i /path/to/private_key /path/to/local/file username@remotehost:/path/to/remote/directory
# 如果SSH连接需要私钥文件进行身份验证,可以使用-i选项指定私钥文件的路径。
和复制粘贴方式比较, SCP方式的优势
  • 安全性和完整性 :SCP使用SSH(Secure Shell)协议进行加密和认证,确保传输过程中的数据安全和完整性。这是跨平台复制粘贴通常无法提供的安全级别。

使用场景:windows和linnux之间跨平台拷贝二进制文件时,直接复制粘贴容易破坏二进制文件的完整性,一般采用scp方式传输。

  • 可控性 :SCP提供了更多的选项和参数,允许用户精细控制文件传输过程,如限制带宽、递归复制目录等。
  • 高效性 :对于大量文件或大型文件的传输,SCP通常比基于剪贴板的传输方式更高效。SCP还支持断点续传,这意味着如果传输过程中发生中断,可以从中断的地方继续传输。
  • 跨网络 :SCP允许用户在不同网络之间的计算机上传输文件,而不仅仅局限于同一局域网或支持剪贴板同步的设备之间。
拓展:windows平台传输工具pscp.exe

windows系统和Centos下linux系统文件的互相拷贝_centos8怎么复制文件到windows中-CSDN博客

相关推荐
疯狂飙车的蜗牛35 分钟前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
远游客07133 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<3 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟3 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架3 小时前
邀请逻辑
java·linux·后端
cominglately6 小时前
centos单机部署seata
linux·运维·centos
魏 无羡6 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse6 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux7 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.8247 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu