在Linux下如何使用cpio命令?

时间:2020-01-09 14:16:46  来源:igfitidea点击:

问题描述:能否解释一下在Linux/UNIX下如何使用cpio?

解决方法:GNU cpio是一种用于创建和提取档案或将文件从一个地方复制到另一个地方的工具。
它处理多种cpio格式以及读写tar文件。

cpio命令就像tar一样工作,但效果更好。

如前所述,cpio的工作方式类似于tar,但它可以读取find命令的输入。
这是很漂亮的功能。
例如,您可以找到所有* .c文件并使用cpio命令进行备份。

# find / -name "*.c" | cpio -o --format=tar > c-file.backup.tar
# find / -iname "*.pl" | cpio -o -H tar > perl-files.tar

您还可以使用-F选项指定文件名:

# find / -iname "*.pl" | cpio -o -H tar -F perl-files.tar

其中:

  • -o:创建存档
  • -F:使用归档文件名代替标准输入或输出。将另一台计算机上的磁带驱动器用作存档。
  • -H格式:指定要使用的文件格式。
  • -i:还原存档

您可以使用以下命令提取存档:

# cpio -i -F perl-files.tar

您可以使用以下命令列出存档内的文件,即cpio文件的内容:

# cpio -it -F perl-files.tar

您可以将/home的归档文件写入磁带(驱动器/dev/nst0),执行以下命令:

# find /home | cpio -o -H tar -F /dev/nst0

使用以下命令还原备份:

# cpio -i -F /dev/nst0

将/home目录备份到远程系统磁带机:

# find /home | cpio -o -H tar -F [email protected]:/dev/nst0 --rsh-command=/usr/bin/ssh