在Linux系统中,尤其是Ubuntu环境下,处理文件归档和备份是日常运维的重要任务。除了常见的tar命令外,还有一个功能强大但常被忽视的工具——cpio。本文将手把手教你如何使用Ubuntu cpio命令进行文件打包、压缩与解包,即使你是Linux小白也能轻松上手!
cpio(Copy In and Out)是一个用于创建、提取和列出归档文件的命令行工具。它不像tar那样直接指定文件列表,而是通过标准输入(stdin)读取文件名列表,再将这些文件打包成一个归档文件。
虽然cpio在现代Linux发行版中不如tar常用,但在某些场景(如initramfs构建、系统恢复等)中仍不可替代。掌握cpio归档工具的使用,能让你在处理复杂备份任务时更加得心应手。
大多数Ubuntu系统默认已预装cpio。你可以通过以下命令检查是否已安装:
cpio --version 如果未安装,可使用以下命令安装:
sudo apt updatesudo apt install cpio cpio主要有三种操作模式:
假设我们有一个目录myfiles/,里面包含多个文件。我们想用cpio将其打包为archive.cpio。
首先,使用find命令列出所有文件,并通过管道传递给cpio:
find myfiles -type f | cpio -o > archive.cpio 这条命令会生成一个名为archive.cpio的归档文件。
要解压刚才创建的归档文件,使用以下命令:
cpio -i < archive.cpio 注意:-i表示从标准输入读取归档内容。如果你希望查看归档中有哪些文件而不解压,可以加上-t选项:
cpio -it < archive.cpio 虽然cpio本身不支持压缩,但可以与gzip、bzip2等工具配合使用。例如,创建一个gzip压缩的cpio归档:
find myfiles -type f | cpio -o | gzip > archive.cpio.gz 解压时则反向操作:
gunzip -c archive.cpio.gz | cpio -i ✅ 保留权限和时间戳:默认情况下,cpio会保留文件的原始属性。若需显式指定,可加-p或使用--preserve-modification-time。
✅ 避免路径问题:使用find .而不是find /full/path,可避免解包时还原完整路径。
✅ 适用于系统备份:在制作initramfs或救援系统时,Linux压缩解压任务常依赖cpio,因为它能精确控制归档内容。
通过本教程,你已经掌握了如何在Ubuntu中使用cpio命令进行文件归档与解包。虽然它不如tar直观,但在特定场景下非常高效。无论是日常备份还是系统维护,Ubuntu文件打包技能都值得你拥有!
赶快在你的终端中试试吧!如有疑问,欢迎在评论区留言交流。
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123576.html