【转】linux下cpio命令使用
转自:http://www.51testing.com/html/32/498132-816949.html
功能说明:备份文件。
补充说明:cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio,img或tra备份档内的文件。
cpio文件的类型判断:
[root@localhost test]# file test.cpio
test.cpio: ASCII cpio archive (SVR4 with no CRC)
cpio实例讲解
1、常用操作模式
(1)备份:cpio -ocvB > [ file | device ]
(2)还原:cpio -ivcdu >[ file | device ]
(3)查看:cpio -ivct >[ file | device ]
2、相关例子
1)cpio-out模式
(1)找出当前目录下的所有文件,然后将它们打包进一个cpio压缩包文件
find . -depth | cpio -ocvB > backup.cpio 或 find .-depth-print | cpio -ocvB > backup.cpio
注意:cpio 建立起来的归档文件包括文件头和文件数据两部分。文件头包含了对应文件的信息。如文件的 UID,GID,连接数以及文件大小等。其好处是可以保留硬连接,在恢复时默认情况下保留时间戳,无文件名称长度的限制
(2)将当前目录下名为inittab文件加入initrd.cpio包中
命令1:find . -name inittab -depth | cpio -ovcB -A -F initrd.cpio
命令2:find . -name inittab -depth | cpio -ovcB -A -O initrd.cpio
命令3:find . -name inittab -depth | cpio -ovcB -A --quiet -O initrd.cpio(--quit:表示不显示复制块)
cpio --absolute-filenames -vtc < boot.cpio(不忽略文件列表清单的文件名最前面的“/")
cpio --no-absolute-filenames -vtc < boot.cpio(默认是忽略文件列表清单的文件中最前面的
(2)从cpio压缩包中的解压出文件
cpio --absolute-filenames -icvu < test.cpio(解压到原始位置,解压出来的每个文件的时间属性改为当前时间)
cpio --absolute-filenames -icvum < test.cpio(解压到原始位置,同时不改变解压出来的每个文件的时间属性)
cpio -icvu < test.cpio(解压到当前目录下)或者cpio -icvum < test.cpio
(3)在解包cpio时,对解包出来的文件进行交互的更名
cpio -icvdu -r < grub.cpio
(4)将cpio包中的文件解压并输入标准输出
cpio -icvu --to-stdout < grub.cpio
注意:既然解压到标准输出,所以就不能使用-d参数了
3)cpio-out模式
(1)复制文件并更改文件的属主与属组
find . -depth| cpio -R ruanxi:ruanxi -pL /backup/
4)分析系统目录/boot下的initrd-2.6.30.9.img文件
[root@Server tmp]# file /boot/initrd-2.6.30.9.img
/boot/initrd-2.6.30.9.img: gzip compressed data, from Unix, last modified: Fri Nov 13 22:12:38 2009, max compression
#由上面可知道,initrd-2.6.30.9.img它是一个gzip文件
-------------------------------------------------------------------
[root@Server tmp]# cp /boot/initrd-2.6.30.9.img ./initrd.img.gz
[root@Server tmp]# gzip -d initrd.img.gz
#通过gzip指令解压出文件
-------------------------------------------------------------------
[root@Server tmp]# file initrd.img
initrd.img: ASCII cpio archive (SVR4 with no CRC)
#可知解压出的文件是一个cpio压缩包
[root@Server tmp]# cpio -ivcdu < initrd.img
#最后再使用cpio指令解包
【转】linux下cpio命令使用的更多相关文章
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- 例解 Linux 下 Make 命令
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
- Linux下who命令之C语言实现
Linux下who命令之C语言实现 Step1:前期准备 首先要有一个清楚的认识:linux中一切皆文件 实现who命令,who命令也是Linux中的一个文件,那我们怎么找到它呢?我们可以" ...
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
- linux下svn命令使用大全
最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...
- Linux下rz命令使用的实例详解
Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...
- Linux下rar命令详解
Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...
- linux下tar命令详解
linux下tar命令详解 tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...
- 阿里云OneinStack,Linux下tomcat命令
阿里云OneinStack,Linux下tomcat命令 Linux下如何查看tomcat是否启动在Linux系统下,重启Tomcat使用命令操作的首先,进入Tomcat下的bin目录cd /usr/ ...
随机推荐
- ubuntu common
系统信息 # uname -a # 查看内核/操作系统/CPU信息 # cat /etc/issue # 查看操作系统版本 #cat /proc/version ...
- JVM垃圾回收机制总结(4) :新一代的垃圾回收算法
垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限.但是他无法解决的一个问题,就是Full GC所带来的应用暂停.在一些对实时性要 ...
- 291. Word Pattern II
题目: Given a pattern and a string str, find if str follows the same pattern. Here follow means a full ...
- 使用RPM管理软件包
一.概念简介 RPM 全名是『 RedHat Package Manager 』简称则为 RPM,是以一种数据库记录的方式来将你所需要的套件安装到你的 Linux 主机的一套管理程序. 二.实验环境 ...
- eclipse运行mapreduce报错Permission denied
今天用在eclipse-hadoop平台上运行map reduce(word count)出错了,错误信息为 org.apache.hadoop.security.AccessControlExcep ...
- IOS 改变导航栏返回按钮的标题
IOS 改变导航栏返回按钮的标题 下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方. 新写的App中需要使用UINavigationController对各个页面进行导航,但由于第一 ...
- ado执行sql查询出现“发送数据流时出现算术溢出”错误
开发一个数据采集监控系统,比较变态的是有将近2000项数据.根据数据类型分多个表存储.数据库访问层采用ado.最近发现当一条sql一次性查询1700多个字段数据后就出现“发送数据流时出现算术溢出”错误 ...
- springmvc在web.xml中的配置
<!-- SpringMVC核心分发器 --> <servlet> <servlet-name>dispatcherServlet</servlet-name ...
- YTU 2609: A改错题--学生信息的输入和输出
2609: A改错题--学生信息的输入和输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 238 解决: 157 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方 ...
- Oracle Report : REP-1219
+---------------------------------------------------------------------------+ 总帐管理系统: Version : 12.0 ...