惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
B
Blog
S
SegmentFault 最新的问题
Vercel News
Vercel News
博客园 - 聂微东
宝玉的分享
宝玉的分享
C
Check Point Blog
有赞技术团队
有赞技术团队
IT之家
IT之家
V
V2EX
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
博客园 - 司徒正美
博客园_首页
Last Week in AI
Last Week in AI
博客园 - 叶小钗
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
F
Fortinet All Blogs
腾讯CDC
J
Java Code Geeks

See you soon

哟,好久不见,无线打印 | See you soon 试试将文章版本化管理吧 | See you soon 使用 Quadlet 将 Podman 中的 Postgres 当作 systemd 服务运行 | See you soon 大他者,那个无时无刻都在盯着你的东西 | See you soon Laws of Software Engineering,软件工程定律 | See you soon 浅记多因素身份认证 | See you soon Linux 内核中的度量单位 | See you soon 重置 GPG 智能密钥 | See you soon 向 NAS 引入 samba | See you soon 无法重复键入的 Fcitx5 | See you soon ZFS 降级事故 | See you soon 记被 XanMod Kernel 和 AppArmor 联合坑的一次踩坑 | See you soon agent 的 skill 与 toolcall | See you soon 记一次服务器被挂恶意挖矿二进制 | See you soon 活着的 Arc | See you soon 令 acme.sh 使用 Cloudflare 的 DNS API 签发与续签证书 | See you soon 于 Tokio 中卸载 CPU Bound 任务 | See you soon 如我所见,梦破碎的时候 | See you soon 74LS 家族手册 | See you soon JDK Projects 备忘录 | See you soon 关于历史 | See you soon 用 curl 下载 OnePlus 的 ROM | See you soon 再见,Oh My Zsh。 | See you soon 你不应该复用 strings.Builder | See you soon 博客的明日 | See you soon 被 AppArmor 击杀的 Dockge | See you soon AI 时代的自我 | See you soon 支持删除的布隆过滤器 | See you soon 基于栈的虚拟机与基于寄存器的虚拟机 | See you soon RVA23 包含了什么 | See you soon
实用命令切片 | See you soon
Krysztal Huang · 2026-01-10 · via See you soon

实用命令切片

记录一下我常用的比较奇技淫巧的实用命令切片 XD

使用管道通过 SSH 传输目录

在常用的情况下一般是使用 tar 命令打包目录然后 scp 到远程主机再解压,通过这个操作复制需要三个步骤:打包,登录,解压

我们注意到 tar 命令有管道能力,于是我们可以利用管道能力来把这几个操作压缩成为一个操作:

tar -cJf - [目录名] | ssh [主机信息] "mkdir -p [目标目录] && xz -d | tar -C [目标目录] -xpf -"

检查管道中传输数据的进度

有的时候可能会想在管道操作中查看数据的进度,毕竟大多数的时候管道是没有输出进度的,我们可以使用 pv 命令来解决这个问题:

tar -cJf - [目录名] | pv | ssh [主机信息] "mkdir -p [目标目录] && xz -d | tar -C [目标目录] -xpf -"

使用管道通过 SSH 传输 Podman/Docker 镜像

注意到 podmandockersave 子命令是会输出到标准输入输出的,于是我们可以将其直接管道到远程主机直接加载:

podman save [镜像信息] | ssh [主机信息] 'podman load'

在这个时候是没有压缩的(可能是有但是太小了),我们可以引入 xz 命令来压缩,这样就可以节约传输的带宽:

podman save [镜像信息] | xz -z -T0 | ssh [主机信息] 'xz -d | podman load'

我们引入上面的 pv 命令用法,可以看到数据确实是有压缩

forks podman save ... | pv | ssh ... 'podman load'

92.1MiB 0:00:06 [15.1MiB/s] [ <=> ]

forks podman save ... | xz -z -T0 | pv | ssh ... 'xz -d | podman load'

20.9MiB 0:00:06 [3.14MiB/s] [ <=> ]