码迷,mamicode.com
首页 > 其他好文 > 详细

压缩工具

时间:2018-11-13 20:37:37      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:拷贝   路径   分割   拆分   改变   解压缩   option   数字   -o   

压缩、解压缩工具

compress/uncompress

compress
压缩完之后会自动给压缩的文件加上.Z的后缀,并且会把源文件删除;
也可以源文件保留
-d: 解压缩,相当于uncompress
-c: 结果输出至标准输出,不删除原文件
-v: 显示详情

uncompress解压缩

[root@centos7 data]# ll -h bigfile 
-rw-r--r--. 1 root root 10M Oct 13 17:14 bigfile           #例如一个10M的文件
[root@centos7 data]# compress bigfile                       #压缩这个文件
[root@centos7 data]# ll bigfile.Z -h                        #查看压缩后的大小
-rw-r--r--. 1 root root 6.5K Oct 13 17:14 bigfile.Z
[root@centos7 data]# compress -c bigfile > bigfile.Z        #保留源文件,并且压缩

gzip/gunzip

gzip
-d:解压缩,相当于gunzip
-c:结果输出至标准输出,保留原文件不改变
-#:1-9,指定压缩比,值越大压缩比越大
zcat:不显式解压缩的前提下查看文本文件内容

[root@centos7 data]#gzip w              #用gzip压缩文件w
[root@centos7 data]#gzip -d w.gz        #解压缩文件
[root@centos7 data]#gzip -c  w > w.gz   #保留源文件,并且压缩文件
[root@centos7 data]#zcat w.gz           #只查看压缩文件内容,不解压缩
[root@centos7 ~]#tree | gzip > tree.zp  #把命令的结果进行压缩

bzip2/bunzip2/bzcat

bzip2 [OPTION]… FILE …
-k:keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为9
bzcat:不显式解压缩的前提下查看文本文件内容

[root@centos7 data]#bzip2  -k w

xz/unxz/xzcat

xz[OPTION]… FILE …
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6
unxzfile.xz解压缩
xzcat: 不显式解压缩的前提下查看文本文件内容

zip/unzip

1.打包压缩支持压缩文件夹

zip –r /backup/sysconfig /etc/sysconfig/
解包解压缩
unzip sysconfig.zip
cat /var/log/messages | zip messages -
unzip -p message > message

2.

[root@centos7 data]#zip -r etc /etc/sysconfig   #压缩文件夹
[root@centos7 data]#unzip etc.zip               #解压缩文件夹

## tar工具
tar可以把很多的文件夹或者文件打包,然后压缩,经常用来做备份使用
使用:
(1) 创建归档
tar -cpvf/PATH/FILE.tar FILE...  # c表示创建 p表示保留权限 v表示显示过程 f表示后面跟文件

[root@centos7 data]#tar cpvf etc.tar etc

3.追加文件至归档:注:不支持对压缩文件追加
tar -r -f /PATH/FILE.tar FILE…

[root@centos7 data]#tar -rf etc.tar m #把m文件追加到etc.tar文件中

4.查看归档文件中的文件列表
tar -t -f /PATH/FILE.tar

[root@centos7 data]#tar -tvf etc.tar

5.展开归档
tar -x -f /PATH/FILE.tar
tar -x -f /PATH/FILE.tar -C /PATH/

[root@centos7 data]#tar -xvf etc.tar -C /data/test/ #解压包,并且指定路径,默认是当前目录

6.结合压缩工具实现:归档并压缩

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

[root@centos7 data]#tar zcvf etc.tar.gz /data/etc   #打包文件夹并且用zip压缩
[root@centos7 data]#tar Jcvf etc.tar.xz /data/etc   #打包文件夹并且用xz压缩
[root@centos7 data]#tar jcvf etc.tar.bz2 /data/etc  #打包文件夹并与用bzip2压缩

7.排除文件
-T需要打包的文件,-X选项指定包含要排除的文件列表

[root@centos7 data]#cat f1
/data/bigfile
[root@centos7 data]#cat f2
/data/issue
[root@centos7 data]#tar Jcvf /data/data.tar.xz -T f1 -X f2   #打包yes文件夹里的指定文件   不打包no文件夹里的文件
[root@centos7 data]#tar -t -vf data.tar.xz                    #解包查看
-rw-r--r-- root/root  10485760 2018-10-13 17:14 data/bigfile

8.splist::分割一个文件为多个文件
分割大的tar 文件为多份小文件
split–b Size –d tar-file-name prefix-name

[root@centos7 data]#split -b 3M /data/etc2.tar etcbak-       #结尾用字母显示
[root@centos7 data]#split -b 3M -d /data/etc2.tar etcbak-    #-d可以用数字结尾显示
[root@centos7 data]#ll
total 78004
-rw-r--r--. 1 root root 33443840 Oct 13 20:23 etc2.tar
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-aa
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ab
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ac
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ad
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ae
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-af
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ag
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ah
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-ai
-rw-r--r--. 1 root root  3145728 Oct 13 20:25 etcbak-aj
-rw-r--r--. 1 root root  1986560 Oct 13 20:25 etcbak-ak
[root@centos7 data]#cat etcbak-a* > etc2.tar            #合并包,拆分的包还有保留

cpio

功能:复制文件从或到归档
-o 将文件拷贝打包成文件或者将文件输出到设备上
-i解包,将打包文件解压或将设备上的备份还原到系统

压缩工具

标签:拷贝   路径   分割   拆分   改变   解压缩   option   数字   -o   

原文地址:http://blog.51cto.com/yy1109lll/2316517

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!