cpio备份命令
cpio是一个比较古老的备份命令,也是用于磁带机备份的工具。虽然如此,现在许多时候仍然需要使用这个命令。例如定制系统内存映像盘时等。
小知识:系统内存映像盘通常位于引导分区/root中,文件名以initrd开头。该文件主要用于系统启动时加载需要的模块,例如文件系统模块、RAID模块等。
小知识:内存映像,其实就是在内存中创建一个和外存文件完全相同的映像。用户可以将整个文件映射到内存,也可以部分映射到内存。系统会将对内存映像的改动如实的反映到外存文件中。从而实现了通过内存映像对外村文件的操作。
一、cpio命令的基本格式
cpio命令与tar命令一样,其功能也是将文件或文件列表归档到文件中。
【命令格式】
cpio [option] [destination-directory]
【常用选项】
i:使用coppy-in模式,还原归档文件或列出归档文件中的文件列表。
o:使用copy-out模式,建立归档文件。
p:使用copy-pass模式,将文件直接复制到目的目录。
c:使用老式的ASCII归档模式。如果需要跨平台使用,应该使用老式的ASCII归档格式。
d:创建需要的目录。如果文件不处于同一目录中,应该使用此选项。
v:显示处理过程的详细信息。
t:显示归档文件中的文件列表。
m:保持文件的时间戳记。
H:使用指定的格式归档文件。
【参数说明】
copy-in:使用此模式时,任何不是选项的参数都会被当作通配符,只有被匹配的文件才能复制出来。如果没有任何通配符,cpio将恢复所有文件。
copy-out:此模式会从标准输入中读取文件列表,并将文件添加到归档文件中,最后将归档文件输出到标准输出。由于文件列表使用换行符作为分隔符,因此文件列表最好使用find命令生成。
copy-pass:此模式会将文件列表中的文件复制到另一个目录,中间不使用归档包。相当于copy-in和copy-out模式的结合。
二、使用cpio归档文件
使用cpio命令归档文件时,需要使用copy-out模式(即选项o),读取文件列表并归档文件。除此之外,需要使用find命令为其生成需要归档的文件列表。
(1)由于cpio不会操作文件,因此输入、输出都必须借助重定向或管道来完成。
例如将当前目录中的所有文件归档:
#使用find命令输出当前目录中的所有文件
#使用选项o备份管道传过来的所有文件,并保存到上级目录中
[root@localhost test]# find -print | cpio -o >../backup.cpio
91 blocks
上面示例的命令中,如果不使用重定向输出,cpio命令会将结果直接输出到标准输出。
(2)使用选项v可以显示归档详细信息:
[root@localhost zhu]# find -print | cpio -ov >../backup.cpio
.
./test.sh
./.bashrc
./.bash_history
./backup.cpio
./.bash_logout
...
(3)如果重定向的目标是一个设备,cpio会将归档文件存到设备上。例如将归档文件存放到磁带机设备:
[root@localhost home]# find -print | cpio -ov >/dev/st0
(4)与tar归档命令不同,cpio并没有提供压缩功能。如果要压缩生成的归档文件,可以通过管道和相应的压缩命令。
[root@localhost test]# find -print | cpio -ov | gzip >../backup.cpio.gz
[root@localhost test]# find -print | cpio -ov | bzip2 >../backup.cpio.bz2
三、查看归档文件中的文件列表
(1)查看归档文件中的文件列表:
[root@localhost zhu]# cpio -t <backup.cpio
.
join3
uniq_test
smbag
paste2
smbaa
...
(2)查看归档文件中的文件列表时,可以使用选项v查看详细的文件信息:
[root@localhost zhu]# cpio -tv <backup.cpio
drwxr-xr-x 3 root root 0 Dec 10 14:53 .
-rw-r--r-- 1 root root 44 Dec 9 08:41 join3
-rw-r--r-- 1 root root 98 Dec 9 09:09 uniq_test
-rw-r--r-- 1 root root 1024 Dec 9 09:36 smbag
...
(3)查看归档文件中的文件列表时,如果命令中使用了除选项以外的字符,cpio会将其当作文件通配符。例如使用“*.c”查看归档文件中所有以.c结尾的文件:
[root@localhost zhu]# cpio -tv "*.c" <backup.cpio
-rw-r--r-- 1 root root 159 Dec 8 14:22 condition.c
91 blocks
四、恢复cpio归档文件
恢复cpio归档文件时,需要使用cpio的选项copy-in模式(即选项i)。与查看归档文件中的文件列表相同,此模式也会将所有选项以外的字符当成通配符。
(1)如果归档文件使用了不同的格式,cpio会自动判断并恢复文件,无须再指定归档文件的格式。
例如使用选项i将文件从归档文件中恢复出来,并显示恢复文件的详细信息:
[root@localhost zhu]# cpio -iv <./backup.cpio
cpio备份命令的更多相关文章
- linux cpio 备份命令
cpio 命令 [root@linux ~]# cpio -covB > [file|device] <==备份[root@linux ~]# cpio -icduv < [fi ...
- Linux 压缩解压及备份命令
linux中压缩与备份命令总结一.压缩与解压缩 1.compress [-rcv] 文件或目录 <==压缩 uncompress 文件.Z <==解压缩 -r:可以连同目录下的文件也同时进 ...
- Linux dd——备份命令
Linux学习笔记之备份命令dd 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的数据写成硬 ...
- mysql备份命令
mysql备份命令如下: 备份多个数据库可以使用如下命令: mysqldump -uroot -p123456 --databases test1 test2 test3 > /home/tes ...
- MySQL备份命令mysqldump参数说明与示例
1. 语法选项说明 -h, --host=name主机名 -P[ port_num], --port=port_num用于连接MySQL服务器的的TCP/IP端口号 --master-data这个选项 ...
- mysqldump 备份命令使用中的一些经验总结
mysqldump的一个小坑(自测) 正文:经常使用接触mysql复制功能的朋友应该对mysqldump命令不陌生吧,鄙人最近也在研究学习这一块的内容,经过几天的测试,发现mysqldump使用中容易 ...
- MySQL数据库备份命令
原文参考:MySQL数据库备份的命令 - 司南 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备 ...
- linux tar 备份命令
转载:http://www.douban.com/note/57861194/ tar [-cxtzjvfpPN] 文件与目录 ….参数:-c :建立一个压缩文件的参数指令(create 的意思):- ...
- Linux中的文件压缩,打包和备份命令
压缩解压命令 gzip 文件 -c : 将压缩数据输出到屏幕,可用来重定向 -v 显示压缩比等信息 -d 解压参数 -t 用来检验一个压缩文件的一致性看看档案有没错 -数字 : 压 ...
随机推荐
- Tcl之Intro
Tool command language, a widely used scripting tool that was deveoped for controlling and extending ...
- DNN 错误代码 0x80070005 解决方案
在IIS上创建DNN站点,可能出现的错误代码:0x80070005,因为权限不足而不能访问DNN. 解决方法:打开IIS, 1.右键目标网站->编辑权限->安全->添加组或者用户 “ ...
- [POJ] #1008# Maya Calendar : 字符处理/同余问题
一. 题目 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 74085 Accepted: 2 ...
- dom 左右两侧得广告(兼容IE FF)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- SharePoint咨询师之路:设计之前的那些事三:体系结构
提示:本系列只是一个学习笔记系列,大部分内容都可以从微软官方网站找到,本人只是按照自己的学习路径来学习和呈现这些知识.有些内容是自己的经验和积累,如果有不当之处,请指正. 咨询师更多的时候是解决方案提 ...
- C++ 中vector的基本用法
//在网上看了好久,自己总结了一下下,第一篇博客,呼呼,学到不少 基本概念 vector容器是一个模板类,可以存放任何类型的对象).vector对象可以在运行时高效地添加元素,并且vector中元素是 ...
- Android 解析JSONObject以及JSONArray对比
在Android客户端与服务器交互的过程中,客户端一般采用json解析服务器的返回数据.此时有两种数据格式.但其根本都是字符串或字符串数组! 1.JSONObject 下面是PHP端代码: <? ...
- Linux下的Shell编程
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- reactor设计模式
reactor介绍 reactor的工作模式就像它的名字一样,是一种反射模式,当事件发生时,根据发生的事件调用注册的处理器. Reactor的优点和应用 Reactor最常用于非阻塞的socket 传 ...
- thinkphp 3+ 观后详解 (2)
接上一章的内容,我们继续来看Think.class.php文件的start方法 static public function start() { // 注册AUTOLOAD方法 spl_autoloa ...