移动开发开发工具【免费下载链接】ZeroTermux项目地址https://gitcode.com/GitHub_Trending/ze/ZeroTermux点击查看免费下载本文基于 ZeroTermux 内置命令手册 cpio.md 展开系统讲解 cpio 在 Linux/Android Termux 环境中的备份、还原与复制能力包括 copy-out / copy-in / copy-pass 三种工作模式、全部核心选项的语义与取值、与 find 命令配合的典型用法以及绝对路径与相对路径的还原行为差异。读完本文你将能够独立使用 cpio 完成按需打包 → 列表查验 → 选择性还原的完整备份链路并理解 ZeroTermux 内置命令查询CommandDialog是如何将这份 Markdown 手册渲染成可交互帮助文档的。cpio 是什么三种操作模式cpiocopy in and out是一类经典的 Unix 归档工具主要用来建立或者还原备份档它可以把文件复制到归档包中也可以从归档包中把文件复制出来。与 tar 不同cpio 本身没有遍历文件系统的能力它依赖标准输入传入的文件完整路径名来识别要处理的文件——这正是 cpio 必须与find配合使用的根本原因这一点在原文档末尾有明确总结下文实战部分会再次验证。cpio 有且仅有三种操作模式分别由三个互斥选项触发模式选项作用copy-out输出模式-o/--create读取标准输入中的路径列表建立备份档输出到标准输出或-O指定文件copy-in输入模式-i/--extract从备份档中还原文件从标准输入或-I指定文件读取copy-pass直通模式-p/--pass-through不经过归档文件直接将文件复制到目的目录三种模式对应了打包备份、还原备份、直接拷贝三大场景。原文档中的四个实例正是围绕前两种模式展开的。语法cpio(选项)cpio 不接受普通的文件参数所有待处理的路径都通过管道从标准输入读取。因此实际使用时通常写成find 路径 -type f | cpio -ocvB 备份档选项全解以下完整收录原文档列出的全部选项并补充取值说明与注意事项。常用核心选项选项说明-o/--create执行 copy-out 模式建立备份档-i/--extract执行 copy-in 模式还原备份档-p/--pass-through执行 copy-pass 模式跳过归档直接复制文件到目的目录-t/--list只将输入的内容备份档中的文件清单呈现出来不实际解包-v/--verbose详细显示指令的执行过程-V/--dot处理每个文件时在行首加一个.号用于进度提示归档文件与格式选项说明-F备份档/--file备份档指定备份档名称取代标准输入/输出也能借此通过网络使用另一台主机的保存设备存取备份档-O备份档指定备份档名称取代标准输出copy-out 模式专用-I备份档指定备份档名称取代标准输入copy-in 模式专用。注原文档此处写作-l备份档但 GNU cpio 中该选项实为-I请与下方-l/--link硬链接选项区分-H备份格式指定备份时使用的文件格式。GNU cpio 常见格式有bin旧二进制、odcPOSIX 可移植、newc/crc新型可移植支持大文件、tar/ustar等-c使用旧 ASCII 备份格式等价于-H odc-B将输入/输出的区块大小改为 5120 Bytes即 10 个 512 字节块-C区块大小/--io-size区块大小设置输入/输出的区块大小单位是 Byte--block-size区块大小设置输入/输出的区块大小取值为 512 字节的倍数例如设置 5则区块大小为 2500原文数值设置 10则区块大小为 5120以此类推--sparse若一个文件内含有大量连续 0 字节则将其存储为稀疏文件可显著节省归档空间--force-local强制将备份档存放在本地主机不当作远程设备处理--only-verify-crc当备份档采用 CRC 备份格式-H crc时可用此参数检查备份档内每个文件是否正确无误文件处理与路径行为选项说明-a/--rest-access-time重新设置文件的存取时间备份后恢复 atime-d/--make-directories如有需要 cpio 会自行建立目录还原时常用-m/--preserve-modification-time不去更改文件的修改时间保留原 mtime-u/--unconditional置换所有文件不论日期时间新旧均不询问而直接覆盖-r/--rename当有文件名称需要更改时采用互动模式逐文件询问-R拥有者:/.所属群组/--owner在 copy-in 还原或 copy-pass 复制时指定复制文件的拥有者与所属群组--no-absolute-filenames使用相对路径建立文件名称--no-preserve-owner不保留文件的拥有者谁解开备份档文件就归谁所有-L/--dereference不建立符号链接直接复制该链接所指向的原始文件-l/--link以硬链接的方式取代复制文件可在 copy-pass 模式下运用-s/--swap-bytes交换每对字节的内容处理跨平台字节序差异时使用-S/--swap-halfwords交换每半个字2 字节的内容-b/--swap此参数效果与同时指定-s相同原文档写作--awap应为--swap的笔误-n/--numeric-uid-gid配合-tv参数列出备份档内容时以用户识别码和群组识别码替代拥有者与群组名称过滤与兼容性选项说明-0/--null接受新增列控制字符通常配合 find 指令的-print0参数使用可正确处理文件名中的空格与换行-E范本文件/--pattern-file范本文件指定范本文件内含一个或多个范本样式让 cpio 只解开符合范本条件的文件格式为每列一个范本样式-f/--nonmatching让 cpio 解开所有不符合范本条件的文件与-E互补-A/--append附加到已存在的备份文档中该备份文档必须存放在磁盘上而不能放置于磁带机里-M回传信息/--message回传信息设置更换保存媒体的提示信息多卷归档时使用-k此参数将被忽略不予处理仅用于解决 cpio 不同版本间的兼容性问题--quiet不显示复制了多少区块--help在线帮助--version显示版本信息为什么 cpio 必须与 find 配合原文档明确指出cpio 无法直接读取文件它需要每个文件或者目录的完整路径名才能识别读取而find命令的输出恰好提供了这一路径清单。因此 cpio 的典型用法永远是管道组合find 起始路径 条件 | cpio 选项 ...这里有三个值得注意的细节路径语义决定还原位置cpio 打包时记录的是 find 输出的路径。若 find 给出的路径以/开头绝对路径还原时会自动恢复到这些绝对路径下若给出的是相对路径还原时也会恢复到相对路径下详见下一节实例。特殊字符安全文件名含空格或换行时应改用find -print0配合cpio -0避免路径被错误拆分成多行。职责分工清晰find负责筛选哪些文件cpio 负责把这些文件装进归档/取出归档两者通过管道解耦可以灵活组合出只备份普通文件排除某类文件按修改时间备份等各种策略。实战实例备份、查验与还原实例 1备份/etc下所有普通文件find /etc -type f | cpio -ocvB /opt/etc.cpiofind /etc -type f列出/etc下所有普通文件不含目录与特殊文件-o进入 copy-out 模式-c使用 ASCII 格式-v详细显示-B使用 5120 字节区块输出重定向到/opt/etc.cpio生成备份档。实例 2将系统所有资料备份到磁带机find / -print | cpio -covB /dev/st0/dev/st0是磁带设备名代表 SCSI 磁带机。这里使用find / -print遍历整个根文件系统属于全量备份的经典写法-c、-o、-v、-B的含义同上。实例 3查看磁带机上的备份内容cpio -icdvt /dev/st0 /tmp/st_content-i进入 copy-in 模式-t表示仅列出内容而不实际解包-c匹配 ASCII 格式-d允许在列表时建立目录结构-v详细输出当备份文件过多、一屏无法显示完毕时将输出重定向到/tmp/st_content文件再分页查看。实例 4还原实例 1 的备份包并覆盖同名文件cpio -icduv /opt/etc.cpio-u无条件覆盖保证即使目的位置已有同名文件也不询问直接覆盖-d自动重建缺失的目录层级-v显示还原过程。实例 5copy-pass 直通复制原文档模式的补充实战find . -depth -print | cpio -pdm /opt/mirror-p进入 copy-pass 模式跳过归档文件直接复制到目的目录-d自动建目录-m保留修改时间。该模式适合在同机不同目录间做免中间归档的同步复制。绝对路径与相对路径的还原行为原文档特别强调了一个极易踩坑的行为cpio 打包时记录什么路径还原时就恢复到什么路径。若打包时 find 给出的是绝对路径如find /etc -type f还原时文件会自动恢复到这些绝对路径下。实例 4 中cpio -icduv /opt/etc.cpio会把备份文件全部还原到/etc路径下对应的目录中——因此执行还原通常需要 root 权限或对目标目录的写权限。若打包时用的是相对路径如在目录内执行find . -type f还原时也将恢复到相对路径下即相对当前工作目录解包。这一特性在 ZeroTermux 的 Android 环境中同样适用对/data/data/com.termux下的用户目录做备份时务必先规划好路径语义避免还原时把文件散落到意外位置。若需要解到指定目录可在 copy-in 模式中使用-R指定拥有者或先cd到目标目录再以相对路径解包结合--no-absolute-filenames可强制相对路径行为。在 ZeroTermux 中查阅这份手册这份 cpio.md 并不是孤立的文本它是 ZeroTermux 内置命令手册体系的一员存放在 app/src/main/assets/cmd 目录下同目录还收录了rpm2cpio.md、dd.md、tar相关手册等数百个命令文档dd.md中甚至明确建议文件系统备份优先使用 tar、cpio 等命令。从源码可以还原出它的完整调用链入口在 TermuxActivity 的浮窗BoomWindow.java中点击命令按钮创建并弹出CommandDialog。加载列表CommandDialog.java 的initData()通过AssetManager.list(cmd)枚举 assets 中全部.md手册并支持在 搜索过滤逻辑 中按关键字实时筛选命令名。渲染展示showCmdDetail() 打开cmd/cpio.md文件流使用 flexmark 的Parser解析 Markdown再由HtmlRenderer渲染为 HTML最终通过 WebView 展示WebView 已开启单列排版与缩放支持见 initViewDialog。也就是说你在 ZeroTermux 终端浮窗中看到的这份 cpio 手册本质上就是本文所依据的同一份 Markdown 文档的在线渲染版。理解这一机制后你也可以自行查看 cmd 目录 下其他命令手册获得同样的语法—选项—实例完整参考。总结与选型建议cpio 与 tar 同为经典归档工具但侧重点不同cpio 与 find 管道配合灵活对特殊文件设备文件、符号链接、硬链接的处理能力更强且天然支持按任意条件筛选文件tar 则胜在自带文件遍历能力和更广泛的生态兼容。在 ZeroTermux 的日常使用中cpio 适合做精确到文件集合的定向备份与迁移例如备份指定目录、打包后校验CRC 格式配合--only-verify-crc、以及通过磁带/远程设备做多卷归档。掌握本文的三种模式、选项语义与路径还原规则即可安全、高效地把它纳入自己的备份工具箱。赞分享移动开发开发工具【免费下载链接】ZeroTermux项目地址https://gitcode.com/GitHub_Trending/ze/ZeroTermux点击查看免费下载相关推荐linux-command 命令手册cpio 归档备份与还原完整实战指南linux command 命令手册cpio 归档备份与还原完整实战指南 cpio 是 Linux 系统中用于 建立与还原归档备份 的核心工具程序本指南完整文档教程ZeroTermux 内置命令手册精讲cdrecord 光盘刻录命令的完整用法与实战ZeroTermux 内置命令手册精讲cdrecord 光盘刻录命令的完整用法与实战 导读 本文聚焦 ZeroTermux 内置 Linux 命令手册中的 c移动开发开发工具ZeroTermux 内置命令手册精讲cmp 命令逐字节比较两个文件差异的完整实战指南ZeroTermux 内置命令手册精讲cmp 命令逐字节比较两个文件差异的完整实战指南 导读 cmp 是 Linux 系统中用于逐字节比较两个文件是否有差异的移动开发开发工具上一篇G6 扩展机制完全指南注册、使用与获取自定义扩展下一篇STranslate终极指南5分钟掌握免费截图翻译神器创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考