Linux命令 SCP

一、基本信息:

1. SCP = secure copy ,是 Linux、Unix系统自带的 加密远程文件拷贝命令,底层使用SSH协议。

2. Windows 中可以在 CMD / PowerShell 里直接敲 scp 命令。

因为Windows10/11中 自带了 OpenSSH 客户端(包含 scp.exe),安装系统时就放在:

C:\Windows\System32\OpenSSH\ 。所以你在 CMD / PowerShell 里直接敲 scp,其实是在调用微软官方移植的 OpenSSH for Windows。该功能与 Linux 版几乎一致,只是路径写法要按Windows规则来

2. SCP命令和CP命令语法类似,不同于cp命令,SCP命令可以与远程主机进行传输交互

二、语法

1. 基本格式:

scp [选项] 源路径 目标路径

注意: 如果源路径 或 目标路径为 远程服务器,那么,要注意路径前加 冒号 " :" 

         如果没有冒号,就会被当成本地路径。

2. 常用命令:

场景命令示例
本地上传 → 远程scp file.txt user@host:/tmp/
整个目录上传scp -r dir/ user@host:/home/user/
远程下载 → 本地scp user@host:/tmp/file.txt ./
远程 ↔ 远程scp user1@host1:/tmp/f.txt user2@host2:/tmp/

3. 常用命令选项设置 :

选项说明
-r递归复制目录
-P port指定 SSH 端口(默认 22)
-p保留原文件时间戳
-q安静模式(不输出进度)
-C启用压缩(适合慢网络)

4. 常见情况(坑):

错误示例结果
scp local.txt remote.txt把文件复制到 本地 remote.txt
scp C:\file user@host/tmp

Windows 下路径没加 : → 仍是本地复制

这个就会复制到本机的对应为止,由于复制后

远程路径含空格未加引号解析失败,用 " 或 ' 包住

再补充一下经常出错的 scp C:\file user@host/tmp,这种直接复制到了本机位置,如图所示,这就是执行复制到 远程主机但是没加冒号导致的复制错误:

会发现: C:\Users\zhangchuhan 目录下多出个 zhangchuhan@192.168.121.22 的文件夹,里面就是 我们刚刚命令行移动的内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值