linux中cpio文件如何,linux cpio命令的使用
linux cpio命令的使用
cpio -o > [file|device] <==备份
cpio -i < [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@node1 tmp]# ll
total 104
-rw-r--r-- 1 root root 8 Jan 13 12:35 test
-rw-r--r-- 1 root root 3071 Jan 13 12:13 top.bak
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak1
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak2
-rw-r--r-- 1 root root 21473 Jan 13 12:02 top.bak3
-rw-r--r-- 1 root root 21473 Jan 13 12:34 top.txt
[root@node1 tmp]# mkdir abc
[root@node1 tmp]# ll
total 108
drwxr-xr-x 2 root root 4096 Jan 13 12:35 abc
-rw-r--r-- 1 root root 8 Jan 13 12:35 test
-rw-r--r-- 1 root root 3071 Jan 13 12:13 top.bak
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak1
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak2
-rw-r--r-- 1 root root 21473 Jan 13 12:02 top.bak3
-rw-r--r-- 1 root root 21473 Jan 13 12:34 top.txt
[root@node1 tmp]# cd abc
[root@node1 abc]# echo "hello cpio" > abc1.txt
[root@node1 abc]# ll
total 4
-rw-r--r-- 1 root root 11 Jan 13 12:35 abc1.txt
[root@node1 tmp]# pwd
/tmp
[root@node1 tmp]# ll
total 108
drwxr-xr-x 2 root root 4096 Jan 13 12:35 abc
-rw-r--r-- 1 root root 8 Jan 13 12:35 test
-rw-r--r-- 1 root root 3071 Jan 13 12:13 top.bak
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak1
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak2
-rw-r--r-- 1 root root 21473 Jan 13 12:02 top.bak3
-rw-r--r-- 1 root root 21473 Jan 13 12:34 top.txt
1、使用cpio备份
[root@node1 tmp]# cpio -ov top.bak > top.bak.cpio --cpio不支持直接写入文件名,需要使用ls或echo或find或
cpio: Too many arguments
1)使用ls
[root@node1 tmp]# ls top.bak1 top.bak2
top.bak1 top.bak2
[root@node1 tmp]# ls top.bak1 top.bak2 | cpio -ov > top.bak12.cpio
top.bak1
top.bak2
85 blocks
[root@node1 tmp]# cpio -tv < top.bak12.cpio --查看 cpio 建立的档案或装置的内容
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak1
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak2
85 blocks
2)使用echo
[root@node1 tmp]# echo top.bak | cpio -ov > top.bak.rel.cpio --相对路径的备份
top.bak
7 blocks
[root@node1 tmp]# echo /tmp/top.bak | cpio -ov > top.bak.abs.cpio --绝对路径的备份
/tmp/top.bak
7 blocks
[root@node1 tmp]# cpio -tv < top.bak.rel.cpio
-rw-r--r-- 1 root root 3071 Jan 13 12:13 top.bak
7 blocks
[root@node1 tmp]# cpio -tv < top.bak.abs.cpio
cpio: Removing leading `/' from member names
-rw-r--r-- 1 root root 3071 Jan 13 12:13 tmp/top.bak
7 blocks
3)使用find
[root@node1 tmp]# find /tmp -name abc1.txt
/tmp/abc/abc1.txt
[root@node1 tmp]# find /tmp -name abc1.txt -print
/tmp/abc/abc1.txt
[root@node1 tmp]# find /tmp -name abc1.txt | cpio -ov > abc1.txt.cpio
/tmp/abc/abc1.txt
1 block
4)使用
[root@node1 tmp]# cat test
top.txt
[root@node1 tmp]# cpio -ov < test > top.txt.cpio
top.txt
43 blocks
[root@node1 tmp]# cpio -tv < top.txt.cpio
-rw-r--r-- 1 root root 21473 Jan 13 12:34 top.txt
43 blocks
2、使用cpio恢复
[root@node1 dev]# cd /tmp
[root@node1 tmp]# ll
total 164
drwxr-xr-x 2 root root 4096 Jan 13 12:35 abc
-rw-r--r-- 1 root root 512 Jan 13 12:37 abc1.txt.cpio
-rw-r--r-- 1 root root 8 Jan 13 12:35 test
-rw-r--r-- 1 root root 3071 Jan 13 12:13 top.bak
-rw-r--r-- 1 root root 3584 Jan 13 12:36 top.bak.abs.cpio
-rw-r--r-- 1 root root 0 Jan 13 12:36 top.bak.cpio
-rw-r--r-- 1 root root 3584 Jan 13 12:36 top.bak.rel.cpio
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak1
-rw-r--r-- 1 root root 43520 Jan 13 12:36 top.bak12.cpio
-rw-r--r-- 1 root root 21473 Jan 13 12:22 top.bak2
-rw-r--r-- 1 root root 21473 Jan 13 12:02 top.bak3
-rw-r--r-- 1 root root 21473 Jan 13 12:34 top.txt
[root@node1 /]# pwd
/
[root@node1 /]# mkdir tmp2
[root@node1 /]# cd /tmp2
[root@node1 tmp2]# cpio -iv < /tmp/top.bak.rel.cpio
top.bak
7 blocks
[root@node1 tmp2]# ll
total 4
-rw-r--r-- 1 root root 3071 Jan 13 12:38 top.bak
[root@node1 tmp2]# cpio -iv < /tmp/top.bak.abs.cpio
cpio: Removing leading `/' from member names ---------------------注意这里,不使用绝对路径
cpio: tmp/top.bak: No such file or directory
tmp/top.bak
7 blocks
[root@node1 tmp2]# ll
total 4
-rw-r--r-- 1 root root 3071 Jan 13 12:38 top.bak
--由于/tmp2下没有tmp目录,所以报错,未恢复成功
[root@node1 tmp2]# cpio -idv < /tmp/top.bak.abs.cpio --加上-d自动创建目录
cpio: Removing leading `/' from member names
tmp/top.bak
7 blocks
[root@node1 tmp2]# ll
total 8
drwxr-xr-x 2 root root 4096 Jan 13 12:39 tmp
-rw-r--r-- 1 root root 3071 Jan 13 12:38 top.bak
[root@node1 tmp2]# cpio -iv < /tmp/abc1.txt.cpio
cpio: Removing leading `/' from member names
cpio: tmp/abc/abc1.txt: No such file or directory
tmp/abc/abc1.txt
1 block
[root@node1 tmp2]# cpio -idv < /tmp/abc1.txt.cpio
cpio: Removing leading `/' from member names
tmp/abc/abc1.txt
1 block
加上--absolute-filenames参数使用绝对路径来恢复
[root@node1 tmp]# pwd
/tmp
[root@node1 tmp]# rm -f top.bak
[root@node1 tmp2]# pwd
/tmp2
[root@node1 tmp2]# cpio -iv --absolute-filenames < /tmp/top.bak.abs.cpio
/tmp/top.bak
7 blocks
[root@node1 tmp2]# cpio -iv --absolute-filenames < /tmp/top.bak.abs.cpio
cpio: /tmp/top.bak not created: newer or same age version exists
/tmp/top.bak
7 blocks
[root@node1 tmp2]# cpio -uiv --absolute-filenames < /tmp/top.bak.abs.cpio --加上-u参数自动的将较新的档案覆盖较旧的档案
/tmp/top.bak
7 blocks
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26524307/viewspace-1071207/,如需转载,请注明出处,否则将追究法律责任。
linux中cpio文件如何,linux cpio命令的使用相关推荐
- linux用命令设置读权限,linux中的文件权限和chmod命令的使用
1.linux中的文件权限 linux中用ls -al列出文件列表时,会看到第一列有rwx这样的字样,这个表示该文件的权限设置属性.在linux中,权限划分主要分为三种身份:所有者(owner或者us ...
- linux中对文件进行归档,linux归档压缩命令 linux中对文件进行归档的命令为
13. 为了将当前目录下的归档文件myftp.tgz解压缩到/tmp目录下,用户可以使用命令 A. tar xvzf myftp.tgz –C /tmp B. tar : xvzf : myftp.t ...
- linux怎样自动检查link文件_怎样理解和识别 Linux 中的文件类型 | Linux 中国
众所周知,在 Linux 中一切皆为文件,包括硬盘和显卡等.在 Linux 中导航时,大部分的文件都是普通文件和目录文件.但是也有其他的类型,对应于 5 类不同的作用.因此,理解 Linux 中的文件 ...
- linux中passwd文件位置,linux中/etc/passwd文件解析
/etc/passwd其实保存的是用户的相关信息而不是像名字上说的密码信息,之所以这样取文件名是因为在Linux2.0之前确实保存着密码信息,之后出于安全性考虑才将用户信息和密码分开存储.现在的密码已 ...
- 在Linux中传输文件/目录的scp命令
Linux管理员应该熟悉命令行环境.由于在Linux服务器中通常不安装GUI模式.SSH可能是使得Linux管理员通过远程安全方式管理服务器的最流行协议.与SSH命令一起内建的是SCP命令.SCP用于 ...
- linux中查看文件内容常用的命令
文章目录 前言 cat more less head tail 前言 大家都知道查看文件,我们常常使用cat,但是这个命令的缺点在于会显示所有文件内容,对于一个大文件来说,也许我们只想看前面几行,这个 ...
- Linux中的文件寻址,Linux文件寻址算法:逻辑地址到物理地址的转换
题目描述: 编写一个函数实现Linux文件寻址的算法,即读取文件当前位置到物理存储位置的转换函数,需要给出运行的测试数据,可以假设和模拟需要的数据和结构.即编写一个函数unsigned long lt ...
- 怎样打开kali linux中的文件,kali linux 怎么打开exe文件
满意答案 LIR旋叶 2014.12.06 采纳率:57% 等级:10 已帮助:1119人 运行 Metasploit Framework: 依照Kali Linux网络服务策略,Kali没有自 ...
- linux中传输文件方法,Linux快速传输文件几种方法
直接scp传输 [root@zenoss29 zenoss29]# time scp MySQL-server-5.5.18-1.rhel5.i386.rpm MySQL-client-5.5.1 ...
- linux的八进制文件模式,linux od-输出文件的八进制、十六进制等格式编码的字节...
博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 od命令用于输出文件的八进制.十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符. 常见的文件为文 ...
最新文章
- “一次性”小家电之死:互联网必是杀手
- 怎样用springboot开发cs_SpringBoot分布式任务中间件开发 附视频讲解 (手把手教你开发和使用中间件)...
- SpringCloud系列之服务消费Ribbon和Feign区别
- html for循环正方形,JavaScript for 循环
- yum的基本使用(命令+案列)
- 图的最小生成树(Prim算法)
- java selenium firefox启动报错大调查
- 示例演示公告通知标题无缝向上滚动,文字段落无缝向上滚动,简单的wangeditor富文本编辑器,简单的音乐播放demo...
- 大数据课程之Flink
- 群晖 root_群晖洗白简单教程
- C和C++中字串符(String)和字符串字面量(String Literal)的区别
- C#安装本地nupkg包
- COLING 2022提交要求与ACL模板要求记录
- Prelude CC 2019 for Mac附激活补丁 v8.1.0中文版
- UltraEdit注册机
- 历时90天,2017 CCF大数据与计算智能大赛(BDCI)决赛落幕
- 如何让小孩练得一手好字?这5个小方法,家长不妨试试
- 电子商务和国际贸易创新
- canvas 刮刮卡
- 关于提取千位百位十位个位数字
热门文章
- “英语达人”的手机在线英语生活
- Visual C++ 2019中MFC图像处理编程(一) 位图文件的介绍
- 微信小程序获取手机号第一次失败,第二次成功的解决方案
- 媒体层图形技术之Core Animation 学习笔记
- 受女性青睐网络游戏更容易成功
- Delphi测试题——将字符串10ad200d3 中的数字合计
- C++网络编程之poll
- adb shell 报错error: device unauthorized
- 测试cpu玩游戏的软件,玩游戏时显卡和CPU到底哪个更重要?来看下面的测试你就会明白了...
- SQL查询含有%号的字段