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

相关推荐
国服第二切图仔43 分钟前
13其他工具 - Skill/LSP/Sleep等
linux·运维·里氏替换原则
数据知道1 小时前
邮件安全实战:SPF/DKIM/DMARC 配置与钓鱼绕过
网络·安全·web安全·网络安全·邮件安全
就不掉头发1 小时前
计算机的虚拟内存
linux·服务器·windows
暴力求解1 小时前
Linux ---线程控制(二)
linux·运维·服务器·操作系统
smartvxworks1 小时前
Linux 实时内核(Linux Real-Time Kernel)详解:原理、实践与优化
java·linux·服务器
qizayaoshuap1 小时前
# [特殊字符] 密码生成器 — 鸿蒙ArkTS安全算法与密码强度评估系统
java·算法·安全·华为·harmonyos
梦痕长情2 小时前
等保三级三权账户
linux·运维·服务器
CHANG_THE_WORLD3 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
jiecy3 小时前
为Linux系统双网卡配置静态路由
linux·运维