cpio 命令 

[root@linux ~]# cpio -covB > [file|device] <==备份
[root@linux ~]# cpio -icduv < [file|device] <==还原
◆参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
◆范例:

范例一:将所有系统上的资料通通写入磁带机内!
[root@linux ~]# find / -print | cpio -covB > /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!

范例二:检查磁带机上面有什么文件?
[root@linux ~]# cpio -icdvt < /dev/st0
[root@linux ~]# cpio -icdvt < /dev/st0 > /tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去!

范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv < /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!

范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio 中!
[root@linux ~]# find /etc -type f | cpio -o > /root/etc.cpio
# 这样就能够备份啰~您也可以将资料以 cpio -i < /root/etc.cpio
# 来将资料捉出来!!!!

这个Linux压缩命令系列就到这里了,如果有可能的话希望还能和大家分享一些Linux命令的东西。

系统备份命令 cpio

另外一个复杂的备份命令,

cpio命令有三种模式:
copy-out 将系统的文件生成一个cpio格式的包
copy-in 将一个cpio格式的包解开
copy-pass 相当于一个cp命令,不进行任何的压包和解包的工作,经常用来复
制文件分别对应的参数是-o,-i,,-p这样记忆就比较方便了,linux命令的参数虽然很
多,但是还是有规律可以寻找的。

创建:
原始形态:
[root@laptop tmp]# cpio -o -O photo.cpio
按回车以后要手工输入你所需要打包的文件名。以Ctrl+D组合键结束。

[root@laptop tmp]# ls
Dcp_0803.jpg Dcp_0810.jpg Dcp_0815.jpg Dcp_0820.jpg Dcp_0827.jpg
Dcp_0804.jpg Dcp_0811.jpg Dcp_0816.jpg Dcp_0821.jpg Dcp_0828.jpg
Dcp_0805.jpg Dcp_0812.jpg Dcp_0817.jpg Dcp_0822.jpg
Dcp_0808.jpg Dcp_0813.jpg Dcp_0818.jpg Dcp_0825.jpg
Dcp_0809.jpg Dcp_0814.jpg Dcp_0819.jpg Dcp_0826.jpg

[root@laptop tmp]# ls | cpio -o > photo.cpio
cpio: Dcp_0803.jpg: truncating inode number
cpio: Dcp_0804.jpg: truncating inode number
cpio: Dcp_0805.jpg: truncating inode number
cpio: Dcp_0808.jpg: truncating inode number
cpio: Dcp_0809.jpg: truncating inode number
cpio: Dcp_0810.jpg: truncating inode number
cpio: Dcp_0811.jpg: truncating inode number
cpio: Dcp_0812.jpg: truncating inode number
cpio: Dcp_0813.jpg: truncating inode number
cpio: Dcp_0814.jpg: truncating inode number
cpio: Dcp_0815.jpg: truncating inode number
cpio: Dcp_0816.jpg: truncating inode number
cpio: Dcp_0817.jpg: truncating inode number
cpio: Dcp_0818.jpg: truncating inode number
cpio: Dcp_0819.jpg: truncating inode number
cpio: Dcp_0820.jpg: truncating inode number
cpio: Dcp_0821.jpg: truncating inode number
cpio: Dcp_0822.jpg: truncating inode number
cpio: Dcp_0825.jpg: truncating inode number
cpio: Dcp_0826.jpg: truncating inode number
cpio: Dcp_0827.jpg: truncating inode number
cpio: Dcp_0828.jpg: truncating inode number
2792 blocks

注:-o 参数也可义用 --create替代,表示正在使用copy-out模式,
-O 参数只能和-o一起使用,表示出于out模式时,指定生成的文件。

root@laptop tmp]# ls | cpio -o -O photo.cpio
这个命令,是等效的,只不过前者用重定向符号实现的而已。由此可以体现Linux命令
的复杂还有变化多样,所以要多思考。

查看,解包:

解包

[root@laptop tmp]# cpio -i -I photo.cpio
2792 blocks

注:-i 参数是表示使用copy-in模式
查看一个cpio包里的文件列表的参数和tar的参数有点相像,都是用-t参数,
也可以用--list替代。
-I 参数只和-t , -i 两个参数连用,表示在copy-in模式时指定一个cpio包。
有点像tar包里的-f参数,无论是打tar包还是解tar包或者是查看tar的内容
,都要加-f参数一样的道理,在这里,cpio只不过分成了copy-in和copy-out
两个部分而已。

[root@laptop tmp]# cpio -t -I photo.cpio
Dcp_0803.jpg
Dcp_0804.jpg
Dcp_0805.jpg
Dcp_0808.jpg
Dcp_0809.jpg
Dcp_0810.jpg
Dcp_0811.jpg
Dcp_0812.jpg
Dcp_0813.jpg
Dcp_0814.jpg
Dcp_0815.jpg
Dcp_0816.jpg
Dcp_0817.jpg
Dcp_0818.jpg
Dcp_0819.jpg
Dcp_0820.jpg
Dcp_0821.jpg
Dcp_0822.jpg
Dcp_0825.jpg
Dcp_0826.jpg
Dcp_0827.jpg
Dcp_0828.jpg
2792 blocks

查看一个cpio包里的文件列表的参数和tar的参数有点相像,都是用-t参数,这里可以
用--list替代。

还有一些高级的应用参数:
-u
解包时如果文件已经在也强行覆盖
[root@laptop tmp]# cpio -i -I test.cpio -u
[root@laptop tmp]# cpio -i -u -I test.cpio

-f
文件匹配参数,但是是一个反向的,就是符合这个指定的文件不解包
[root@laptop tmp]# cpio -i -I test.cpio -f *.rpm
这条命令的结果是test.cpio里除了*.rpm文件都会解包出来。

-L
这个参数是在打包的时候用的,如果被打包的文件中有符号连接的话,这个参数将会把连接的目标文件打入包中,而不是仅仅把符号连接打包。
[root@laptop tmp]# ls | cpio -o -O newtest.cpio -L

-R
这个参数只用在解包的时候,是用来给解包出来的文件设置所有者和所属组的。但是用户和组的关系必须已经在passwd,group两个文件中存在!!!
[root@laptop tmp]# cpio -i -I test.cpio -R yue.pye
[root@laptop tmp]# cpio -i -I test.cpio -R yueye
这里是两种表示用户组之间关系的方式一个是.还有一个是:

-r
这个参数只在解包是有用,而且不能和-u参数同时使用,否则失效,他的作用是当包中的文件和解包所在目录下的某个文件重名的时候自动提示是否需要更名。
[root@laptop tmp]# cpio -i -I test.cpio -r
rename 12.1 -> a
rename backgroud -> c
rename bin -> bindir
rename crystal ->

-A
这个参数只用在压包的时候,用来向已经存在的cpio包添加文件的
[root@laptop tmp]# cpio -o -O test.cpio -A
[root@laptop tmp]# cpio -o -A -O test.cpio

linux cpio 备份命令的更多相关文章

  1. cpio备份命令

    cpio是一个比较古老的备份命令,也是用于磁带机备份的工具.虽然如此,现在许多时候仍然需要使用这个命令.例如定制系统内存映像盘时等. 小知识:系统内存映像盘通常位于引导分区/root中,文件名以ini ...

  2. Linux dd——备份命令

    Linux学习笔记之备份命令dd 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的数据写成硬 ...

  3. linux tar 备份命令

    转载:http://www.douban.com/note/57861194/ tar [-cxtzjvfpPN] 文件与目录 ….参数:-c :建立一个压缩文件的参数指令(create 的意思):- ...

  4. linux 增量备份命令Rsync 使用详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt320 Rsync的命令格式可以为以下六种: rsync [OPTION].. ...

  5. Linux 压缩解压及备份命令

    linux中压缩与备份命令总结一.压缩与解压缩 1.compress [-rcv] 文件或目录 <==压缩 uncompress 文件.Z <==解压缩 -r:可以连同目录下的文件也同时进 ...

  6. LINUX学习笔记——LINUX下EXP命令全库备份数据库文件

    LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup  --创建backup文件夹 cd  /   --进入cd语句 ls  -l ...

  7. Linux压缩打包命令

    tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数 -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数 ...

  8. linux打包压缩命令汇总

    tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令 ...

  9. 【转】linux打包压缩命令

    转自:http://www.cnblogs.com/end/archive/2011/04/20/2022614.html tar命令 [root@linux ~]# tar [-cxtzjvfpPN ...

随机推荐

  1. SharePoint 2007 页面定制(一)

    转:http://www.nanmu.net/SharePoint-MOSS-WSS-Silverlight/Lists/Posts/Post.aspx?ID=74 本文主要包括以下几方面内容: 1. ...

  2. SharePoint 2010 Pop-Up Dialogs

    转:http://kyleschaeffer.com/sharepoint/sharepoint-2010-pop-up-dialogs/ SharePoint 2010 makes it incre ...

  3. java问题若干

    1.Java处理本身包含双引号的String 解决:使用转义字符.如:String str = "select * from \"TAB_catalog\" " ...

  4. MySQL数据库的同步配置+MySql读写分离

    使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...

  5. ccr1

    Concurrency and Coordination Runtime Jeffrey Richter Code download available at:ConcurrentAffairs200 ...

  6. Delphi 打印

    procedure TForm1.PrinterSetupExecute(Sender: TObject);begin PrinterSetupDialog1.Execute;end; procedu ...

  7. devexpress 中Grid 的使用:为零不显示

    如果要让为0的列不显示: this.gridColumn_FAmount.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; ...

  8. 由一位坛友的布局想到的定位问题:absolute和relative

    坛友的问题和相关代码如下: 看看下面的代码.运行有问题.但是如果我把 style=”position:absolute; top:20px;left:10px改成 style=”float:left; ...

  9. 恒天云技术分享系列4 – OpenStack网络攻击与防御

    恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理 ...

  10. 有关按位DP

    这是一道正式比赛的题目 数据范围是 10^999 ~ 10^1000 的两个整数以及一个k我记得好像是不超过100,计算两个数中间有多少个每一位相乘最后和k取摸等于0的数.这道题对于不会按位dp的人是 ...