《每日一命令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

相关推荐
Molesidy1 小时前
【Linux】基于busybox的根文件系统的完善
linux·服务器·嵌入式linux
jufeng13074 小时前
【系列:MiniKV 原理剖析 · 第 6 篇】
linux·软件工程·个人开发·makefile
OCR_133716212755 小时前
从硬件到加密协议:深度解析电子护照芯片的技术规范与安全架构
安全·安全架构
IT摆渡者5 小时前
ubuntu系统网络问题
linux·运维·ubuntu
jufeng13075 小时前
【系列:MiniKV 原理剖析 · 第 5 篇】
linux·网络·c++·软件工程
kdxiaojie5 小时前
Linux 驱动研究 —— SDIO (1)
linux·运维·笔记·学习·sdio
海浪仙人掌5 小时前
数据要素流通存在哪些安全隐患?数据要素流通怎样规避安全风险?
安全
jufeng13075 小时前
【系列:MiniKV 原理剖析 · 第 8 篇(完结篇)】
linux·c++·log4j·软件工程·makefile
qetfw5 小时前
Debian OpenSSL 搭建 CA 证书服务:签发、吊销与客户端信任
linux·debian·openssl·ca