linux 学习笔记 cpio命令
1 文件或目录打包
打包有如下多种情况
A>包含子目录打包
find /usr/lib -print /cpio -o >/uo/temp1.cpio
将/usr/lib目录下的文件与子目录打包成一个文件库为/uo/temp1/cpio
若通过-o选项结束打包整个目录下的所有文件与子目录常先利用find 目录名-print来找出所有文件与目录的名称
通过管道 | 传给cpio 打包
B>不包含目录的打包
ls /usr/lib | cpio -o >/uo/temp1/cpio
将/usr/lib 目录下的文件不包含子目录下的文件打包成一个文件库为/uo/temp1.cpio
C>特定文件打包
ls /usr/lib/*.c/cpio -o > /uo/temp1.cpio
找/usr/lib 目录下以.c结尾的文件并予以打包
ls /usr/lib/grep ‘.c$‘|cpio -o >/uo/temp1.cpio
或者
ls /usr/lib/grep abcd|cpio -o> /uo/temp1.cpio
找出/usr/lib目录下含有abcd字符的文件予以打包
ls /usr/lib/grep -v abcd |pio -o >/uo/temp1.cpio
找出/usr/lib目录下不含有abcd 自负文件予以打包
排除含有适合字符串的行列
解包展开:将按原目录的结构解包展开到所在目录之下
#cd /u/
1> #cpio -id </uo/temp1.cpio
将/uo/temp1.cpio 解压缩到/u1目录之下
2>#cpuo -uid < /uo/temp1.cpio
文件存在强制覆盖
3>#cpio -id </uo/temp1.cpio*.c
将/uo/temp1.cpio文件中的.c 文件展开
显示
cpio -it </uo/temp1.cpio [*.c]
显示/uo/temp1.cpio 文件库内的文件名称
目的将当前目录下的所欲文件打包成cpio文件
并在当前目录下的子目录需要创建下解压
练习
#pwd
/home/cici/Document/LOG/test1
#find ./* -print
./
./test/
./test/test1.txt
./test/1.txt
./test2
./test2/test2.txt
./test3.txt
#mkdir CPIO
#find ./ -print |grep -v CPI*|cpio -o >./CPIO/1.cpio
2 blocks
#cd CPIO
#cpio -id <./1.cpio
2 blocks
#ll
1.cpio
cpio
test1
testlh.txt
test2
test3.txt
将当前目录下所有的文件文件夹不包含子文件 打包
并在指定的目录下解压
#pwd
/home/cici/Document/LOG2
#ls /home/cici/Documents/LOG/* |grep -v CPI
/home/cici/Documents/LOG/temp2.cpio
temp3.cpio
temp3.cpio
test1.txt
test2.txt
test3.txt
test.tar
/home/cici/Documents/LOG/test1
test1
test11.txt
test2
test3.txt
/home/cici/Documents/LOG/test2
/home/cici/Documents/LOG/test3
#ls /home/cici/Documents/LOG/* |grep -v CPI|cpio -o
>/home/cici/Documents/LOG2/4.cpio
#cpio -it <4.cpio
/home/cici/Documents/LOG/temp2.cpio
temp3.cpio
temp4.cpio
test1.txt
test2.txt
test3.txt
test.tar
89 blocks
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。