《每日一命令08:scp——安全的远程复制》

先唠两句

大家好啊,我是阿垚。

欢迎来到《每日一命令》第08期。

上期聊了ssh------远程登录神器。今天聊一个基于ssh的文件传输工具:

scp

你是不是还在用rsync?或者用rz/sz?其实scp是最简单、最直接的远程文件复制命令。(。•ᴗ•。)

scp是什么?

scp = Secure Copy,基于ssh协议的安全文件复制。

特点:加密传输、语法类似cp、无需额外配置(有ssh就能用)。

最常用的5种姿势

1. 本地复制到远程

bash

复制代码
scp /local/file.txt user@remote:/remote/path/

2. 远程复制到本地

bash

复制代码
scp user@remote:/remote/file.txt /local/path/

3. 复制目录(递归)

bash

复制代码
scp -r /local/dir user@remote:/remote/path/

-r 递归复制整个目录。

4. 指定端口

bash

复制代码
scp -P 2222 file.txt user@remote:/path/

注意:scp的端口参数是大写P ,ssh是小写p

5. 保留文件属性

bash

复制代码
scp -p file.txt user@remote:/path/

-p 保留修改时间、权限等属性。

进阶技巧

限速传输

bash

复制代码
scp -l 8192 largefile.zip user@remote:/path/

-l 限制带宽,单位是Kbit/s(8192=1MB/s)。

使用跳板机

bash

复制代码
scp -o ProxyJump=jumpuser@jump_host file.txt targetuser@target_host:/path/

从多个主机收集文件

bash

复制代码
for host in host1 host2 host3; do
    scp user@$host:/var/log/app.log ./logs/
done

真实场景

场景1:上传配置文件到多台服务器

bash

复制代码
for ip in 192.168.1.{1..10}; do
    scp nginx.conf root@$ip:/etc/nginx/
done

场景2:从服务器下载数据库备份

bash

复制代码
scp -C root@db-server:/backup/db.sql.gz .

-C 开启压缩,适合大文件。

场景3:公网传输大文件

bash

复制代码
scp -l 4096 -C backup.tar.gz user@remote:/backup/

限速+压缩,避免占满带宽影响业务。

常用参数速查

参数 含义 使用场景
-r 递归复制目录 复制文件夹
-P 指定端口(大写) 非22端口
-p 保留文件属性 保持时间戳
-l 限速(Kbit/s) 避免占满带宽
-C 压缩传输 大文件加速
-i 指定私钥文件 使用密钥登录
-o 传递ssh选项 跳板机等高级用法

注意事项

  • scp不会自动创建不存在的目录,需先ssh登录创建目标目录

  • 传输大量小文件时scp较慢,建议用rsync

  • 默认覆盖同名文件,无警告

下期预告

《每日一命令09:crontab------让脚本自动运行》

评论区分享你最常用的scp命令。(。•ᴗ•。)

------阿垚,一个踩过2万次坑的"老"IT

相关推荐
AlfredZhao1 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
Flynt2 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10156 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
冬奇Lab7 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源