插件窝 干货文章 linux cpio三种操作模式是什么

linux cpio三种操作模式是什么

归档 文件 cpio 目录 362    来源:    2025-05-02

在Linux中,cpio 是一个经典的归档工具,它通过三种主要操作模式来处理文件。以下是详细说明:


1. -o--create(输出模式 / 创建归档)

  • 功能:从标准输入读取文件列表,并将这些文件打包成归档文件(输出到标准输出)。
  • 典型用法
    bash find . -name "*.txt" | cpio -ov > archive.cpio
  • 关键选项
    • -v:显示处理过程中的文件名。
    • -H FORMAT:指定归档格式(如 binodctar 等)。

2. -i--extract(输入模式 / 提取归档)

  • 功能:从标准输入读取归档文件,并解压到当前目录(或指定目录)。
  • 典型用法
    bash cpio -iv < archive.cpio # 解压到当前目录 cpio -idv < archive.cpio # 自动创建子目录(-d)
  • 关键选项
    • -d:自动创建所需目录。
    • -u:无条件覆盖现有文件。
    • -t:仅列出归档内容(不提取)。

3. -p--pass-through(传递模式 / 复制文件)

  • 功能:从标准输入读取文件列表,直接复制到目标目录(类似 cp -p)。
  • 典型用法
    bash find . -name "*.log" | cpio -pdv /backup/
  • 特点
    • 保留文件属性(权限、时间戳等)。
    • 不生成归档文件,直接复制文件。

常见组合示例

  • 创建归档
    bash find /data -type f | cpio -oH tar > backup.tar
  • 列出归档内容
    bash cpio -it < backup.cpio
  • 解压到指定目录
    bash cpio -idv -D /target < backup.cpio

注意事项

  • cpio 默认从标准输入/输出操作,通常与重定向或管道配合使用。
  • 较新的系统可能更常用 tar,但 cpio 在某些场景(如 initramfs)中仍不可替代。

如果需要进一步帮助(如选项细节或实际案例),可以随时补充提问!