Linux文件压缩与归档(2)

(2) 查看归档文件中的文件列表

tar -t -f /PATH/TO/SOMEFILE.tar(3) 展开归档 tar -x -f /PATH/TO/SOMEFILE.tar tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/

(4) 结合压缩工具实现:归档并压缩

-j: bzip2, -z: gzip, -J: xz

打包成tar包:

tar -cvf passwd.tar passwd   仅打包,不压缩 tar -zcvf passwd.tar.gz passwd  打包并以gzip压缩 tar -jcvf passwd.tar.bz2 passwd   打包并以bzip2压缩 tar -Jcvf passwd.tar.xz passwd    打包并以xz压缩

使用示例

[root@centos7 /testdir]#tar -cf passwd.tar passwd [root@centos7 /testdir]#ls passwd  passwd.tar [root @centos7 /testdir]#tar -zcf passwd.tar.gz passwd [root@centos7 /testdir]#ls passwd  passwd.tar  passwd.tar.gz [root@centos7 /testdir]#tar -jcf passwd.tar.bz2 passwd [root@centos7 /testdir]#ls passwd  passwd.tar  passwd.tar.bz2  passwd.tar.gz [root@centos7 /testdir]#tar -Jcf passwd.tar.xz passwd [root@centos7 /testdir]#ls passwd  passwd.tar  passwd.tar.bz2  passwd.tar.gz  passwd.tar.xz [root@centos7 /testdir]# [root@centos7 /testdir]#tar -tvf passwd.tar   # 查询 -rw-r--r-- root/root     10240 2016-08-19 09:27 passwd [root@centos7 /testdir]#tar -tvf passwd.tar.gz -rw-r--r-- root/root     10240 2016-08-19 09:27 passwd [root@centos7 /testdir]# [root@centos7 /testdir]#tar xf passwd.tar  # 解压 [root@centos7 /testdir]#ls passwd  passwd.tar  passwd.tar.bz2  passwd.tar.gz  passwd.tar.xz [root@centos7 /testdir]#tar xf passwd.tar.gz [root@centos7 /testdir]#ls passwd  passwd.tar  passwd.tar.bz2  passwd.tar.gz  passwd.tar.xz [root@centos7 /testdir]# [root@centos7 /testdir]#ll total 44 -rw-r--r--. 1 root root 10240 Aug 19 09:27 passwd -rw-r--r--. 1 root root 20480 Aug 19 10:52 passwd.tar -rw-r--r--. 1 root root   116 Aug 19 10:53 passwd.tar.bz2 -rw-r--r--. 1 root root   120 Aug 19 10:52 passwd.tar.gz -rw-r--r--. 1 root root   180 Aug 19 10:53 passwd.tar.xz cpio

cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以.cpio或者.tar结尾的文件;换言之,cpio可以复制文件到归档包中,或者从归档包中复制文件。

使用语法:

cpio - copy files to and from archives cpio[选项] > 文件名或者设备名 cpio[选项] < 文件名或者设备名 EXAMPLES % ls | cpio -ov > directory.cpio   #必须要在当前工作目录中执行ls,后面接绝对路径会报错 % find . -print -depth | cpio -ov > tree.cpio % cpio -iv < directory.cpio % cpio -idv < tree.cpio % find . -depth -print0 | cpio --null -pvd new-dir

常用参数:

-o: --create,Run in copy-out mode,将文件拷贝打包成文件或者将文件输出到设备上 -i: --extract,Run in copy-in mode,解包,将打包文件解压或将设备上的备份还原到系统 -t: 预览,查看文件内容或者输出到设备上的文件内容 -v: 显示打包过程中的文件名称。 -d: 解包生成目录,在cpio还原时,自动的建立目录 -c: 一种较新的存储方式

使用示例

[root@centos7 /]#find ./etc |cpio -o > etc.cpio  # 备份/etc目录 wKiom1e3MfKArn2SAABJ8zL76mY046.png [root@centos7 /testdir]#find /etc/issue |cpio -o >issue.cpio1 block [root@centos7 /testdir]#lsissue.cpio [root@centos7 /testdir]#cpio -tv <issue.cpio # 显示预览 -rw-r--r--   1 root     root           23 Dec  9  2015 /etc/issue1 block [root@centos7 /testdir]#

cpio在打包备份时用的是绝对路径,且cpio无法直接读取文件,它需要每个文件或目录的完整路径名才能读取识别,故cpio命令一般与find配合使用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14354.html