
Linux cpio命令
Linux 中的 cpio 命令主要用于执行文件的备份操作。
cpio 是一个用于创建、提取备份文件的工具,它能够将文件添加进备份包或从 cpio 或 tar 格式的备份中解压出来。
语法
cpio [-0aABckLovV][-C ][-F ][-H ][-O ][--block-size=][--force-local][--help][--quiet][--version] 或 cpio [-bBcdfikmnrsStuvV][-C ][-E ][-F ][-H ][-I ][-M ][-R <:>][--block-size=][--force-local][--help][--no-absolute-filenames][--no-preserve-owner][--only-verify-crc][--quiet][--sparse][--version][范本样式...] 或 cpio [-0adkiLmpuvV][-R <:>][--help][--no-preserve-owner][--quiet][--sparse][--version][目的目錄]
参数说明:
- -0或--null 支持以空字符作为输入分隔符,通常与 find 的 "-print0" 配合使用。
- -a或--reset-access-time 重置文件的访问时间。
- -A或--append 将内容追加到已有备份文件末尾(仅限磁盘文件)。
- -b或--swap 字节交换,等效于"-sS"组合。
- -B 设置输入输出块大小为 5120 字节。
- -c 使用传统的 ASCII 格式进行备份。
- -C或--io-size= 自定义输入输出块大小(单位:字节)。
- -d或--make-directories 如路径不存在则自动创建。
- -E或--pattern-file= 指定包含匹配模式的文件,每行一个模式。
- -f或--nonmatching 解压时不包括符合匹配条件的文件。
- -F或--file= 指定备份文件名替代标准输入输出,可用于网络传输。
- -H 指定备份格式。
- -i或--extract 进入还原模式,解压备份文件。
- -l 显示文件列表但不实际提取。
- -k 忽略该参数,仅为兼容旧版本设计。
- -l或--link 创建硬链接而不是复制文件(copy-pass 模式下使用)。
- -L或--dereference 复制符号链接指向的实际文件而非链接本身。
- -m或--preserve-modification-time 不修改文件最后修改时间。
- -M或--message= 设置更换介质时显示的信息。
- -n或--numeric-uid-gid 在列出备份内容时显示 UID 和 GID 而非用户名和组名。
- -o或--create 创建新的备份文件。
- -O 指定输出文件名替代标准输出。
- -p或--pass-through 直接复制文件而不生成中间备份文件。
- -r或--rename 允许交互式重命名文件。
- -R<:>或--owner<:> 指定恢复或复制时文件的所有者及所属组。
- -s或--swap-bytes 对调每两个字节的内容。
- -S或--swap-halfwords 对调每个半字节的数据。
- -t或--list 列出备份内容。
- -u或--unconditional 无条件覆盖所有已存在文件。
- -v或--verbose 输出详细操作信息。
- -V或--dot 每处理一个文件前打印一个点号。
- --block-size= 设定块大小,如设为 5 则实际大小为 5 * 512 = 2560 字节。
- --force-local 强制将文件保存在本地主机上。
- --help 显示帮助文档。
- --no-absolute-filenames 使用相对路径而非绝对路径。
- --no-preserve-owner 不保留原文件的拥有者权限。
- --only-verify-crc 仅验证采用 CRC 校验的备份文件完整性。
- --quiet 禁止显示处理进度。
- --sparse 若文件中包含大量连续零字节,则将其存储为稀疏文件。
- --version 显示程序版本信息。
实例
创建备份
[root@runoob.com var]# ll 总用量 164 drwxr-xr-x 2 root root 4096 2008-03-30 account drwxr-xr-x 9 root root 4096 2008-03-30 cache ... [root@runoob.com var]# ls | cpio -o >123.cpio 25 blocks [root@runoob.com var]# ll 总用量 172 -rw-r--r-- 1 root root 1024 5月 24 13:06 123.cpio ...
解压备份
[root@runoob.com var]# ls | cpio -i -l 123.cpio
查看备份内容
[root@runoob.com var]# cpio -t -I 123.cpio 123.cpio a.c b.c c.c ...
强制解压
[root@runoob.com var]# cpio -i -u -I 123.cpio
排除特定文件
[root@runoob.com var]# cpio -i -I 123.cpio -f *.c
向备份追加内容
[root@runoob.com var]# cpio -o -O 123.cpio -A db 1 block
标准输入创建备份
[root@runoob.com test]# cpio -o >123.cpio a.c b.c c.c 3 block
复制文件
[root@runoob.com test]# cpio -p /root a.c b.c c.c 3 block







