Linux文件压缩和打包

gzip压缩工具

1.将etc下的所有conf文件查看后循环追加到1.txt文件中

[root@bogon gzip]# find /etc/ -type f -name '*.conf' -exec cat {} >> 1.txt \;
[root@bogon gzip]# ls
1.txt

2.用gzip进行压缩后

[root@bogon gzip]# ll -sh 1.txt
628K -rw-r--r-- 1 root root 628K 12月 26 09:18 1.txt
[root@bogon gzip]# wc -l 1.txt
18297 1.txt
[root@bogon gzip]# gzip 1.txt
[root@bogon gzip]# ll -h 1.txt.gz
-rw-r--r-- 1 root root 166K 12月 26 09:18 1.txt.gz
[root@bogon gzip]#

3.gzip -d 或 gunzip  解压的文件名

[root@bogon gzip]# gzip -d 1.txt.gz
[root@bogon gzip]# du -sh 1.txt
628K 1.txt
[root@bogon gzip]#

4.gzip -(1-9) 指定压缩级别,用 -1 压缩后变为196k ,-9是压缩比最大的 默认是-6级别。

[root@bogon gzip]# du -sh 1.txt
628K 1.txt
[root@bogon gzip]# gzip -1 1.txt
[root@bogon gzip]# du -sh 1.txt.gz
196K 1.txt.gz
[root@bogon gzip]#

5.用gzip -9 压缩一下试试,变成了168k

[root@bogon gzip]# gzip -9 1.txt
[root@bogon gzip]# du -sh 1.txt.gz
168K 1.txt.gz
[root@bogon gzip]#

6.file命令可以查看压缩文件信息

[root@bogon gzip]# file 1.txt.gz
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Tue Dec 26 09:18:00 2017, max compression
[root@bogon gzip]#

7.zcat 命令可以查看压缩文件内容

8.压缩文件指定到一个目录下,并且原文件不消失。

[root@bogon gzip]# gzip -c 1.txt > /tmp/1.txt.gz
[root@bogon gzip]# ll
总用量 628
-rw-r--r-- 1 root root 642394 12月 26 09:18 1.txt
[root@bogon gzip]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[root@bogon gzip]#

9.解压文件同样也可以指定目录

[root@bogon gzip]# gzip -d -c /tmp/1.txt.gz > /tmp/gzip/2.txt
[root@bogon gzip]# ls
1.txt 2.txt
[root@bogon gzip]#

10.查看文件大小和行数

[root@bogon gzip]# wc -l 1.txt 2.txt
18297 1.txt
18297 2.txt
36594 总用量
[root@bogon gzip]# du -sh 1.txt 2.txt
628K 1.txt
628K 2.txt
[root@bogon gzip]#

11.gzip 不能压缩目录

bzip2压缩工具

1.bzip2比gzip压缩的更狠

[root@bogon bzip2]# bzip2 1.txt
[root@bogon bzip2]# du -sh 1.txt.bz2
152K 1.txt.bz2
[root@bogon bzip2]#

2.解压使用bzip2 -d 或者 bunzip2  1.txt.bz2 ,不支持压缩目录,支持-c 指定压缩到某个目录

[root@bogon bzip2]# bzip2 -d 1.txt.bz2
[root@bogon bzip2]# ll
总用量 628
-rw-r--r-- 1 root root 642394 12月 26 15:19 1.txt
[root@bogon bzip2]#
[root@bogon bzip2]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@bogon bzip2]# du -sh /tmp/1.txt.bz2
152K /tmp/1.txt.bz2
[root@bogon bzip2]#

3.支持 -d -c 选项

[root@bogon bzip2]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt
[root@bogon bzip2]# ls
1.txt 3.txt
[root@bogon bzip2]#

4.bzip2也有压缩级别,默认的压缩级别就是9

5.bzcat 也是查看压缩文件内容的。

xz压缩工具

1.xz压缩工具压缩比比bzip2更狠不支持压缩目录

2.xz 文件名

[root@bogon xz]# xz 1.txt
[root@bogon xz]# ls
1.txt.xz
[root@bogon xz]# ll
总用量 144
-rw-r--r-- 1 root root 144124 12月 26 16:14 1.txt.xz
[root@bogon xz]# du -sh 1.txt.xz
144K 1.txt.xz
[root@bogon xz]#

3.用xz -d或unxz 解压缩

[root@bogon xz]# xz -d 1.txt.xz
[root@bogon xz]# ls
1.txt
[root@bogon xz]#

4.支持 -d -c

[root@bogon xz]# ls
1.txt
[root@bogon xz]# xz -c 1.txt > /tmp/2.txt.xz
[root@bogon xz]# xz -d -c /tmp/2.txt.xz > ./2.txt
[root@bogon xz]# ll
总用量 1256
-rw-r--r-- 1 root root 642394 12月 26 16:14 1.txt
-rw-r--r-- 1 root root 642394 12月 26 16:18 2.txt
[root@bogon xz]#

5.可以用xzcat查看压缩包内容

zip压缩工具

1.cp -r 功能上是等价的。不加-r或者-R的时候,只拷贝文件,不拷贝文件夹;加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,余此类推。

2.zip压缩文件,保留文件不删除

[root@bogon zip]# zip 1.txt.zip 1.txt
adding: 1.txt (deflated 74%)
[root@bogon zip]# ll
总用量 796
-rw-r--r-- 1 root root 642394 12月 26 18:06 1.txt
-rw-r--r-- 1 root root 170088 12月 27 09:25 1.txt.zip
[root@bogon zip]#

3.zip压缩目录和文件

[root@bogon tmp]# zip -r gzip.zip dnsmasq.txt gzip
adding: dnsmasq.txt (deflated 64%)
adding: gzip/ (stored 0%)
adding: gzip/1.txt (deflated 74%)
adding: gzip/2.txt (deflated 74%)
[root@bogon tmp]#
[root@bogon tmp]# ll *.zip
-rw-r--r-- 1 root root 349639 12月 27 09:37 gzip.zip
[root@bogon tmp]#

4.unzip 减压zip压缩包

[root@bogon tmp]# unzip gzip.zip
Archive: gzip.zip
replace dnsmasq.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: dnsmasq.txt
inflating: gzip/1.txt
inflating: gzip/2.txt
[root@bogon tmp]#

5.将文件减压到test目录

[root@bogon tmp]# unzip gzip.zip -d test/
Archive: gzip.zip
inflating: test/dnsmasq.txt
creating: test/gzip/
inflating: test/gzip/1.txt
inflating: test/gzip/2.txt
[root@bogon tmp]#

6.zip没有zipcat命令,可以用unzip -l 查看文件列表

[root@bogon tmp]# unzip -l gzip.zip
Archive: gzip.zip
Length Date Time Name
--------- ---------- ----- ----
25194 12-22-2017 17:49 dnsmasq.txt
0 12-26-2017 14:16 gzip/
642394 12-26-2017 09:18 gzip/1.txt
642394 12-26-2017 14:16 gzip/2.txt
--------- -------
1309982 4 files
[root@bogon tmp]#

tar打包 

1.tar c创建 v可视化 f后面跟打包成什么

[root@bogon tar]# tar cvf zip.tar zip/
zip/
zip/1.txt
zip/1.txt.zip
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
[root@bogon tar]#

2.解包用xvf 从档案文件中释放文件

[root@bogon tar]# tar -xvf zip.tar
zip/
zip/1.txt
zip/1.txt.zip
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
[root@bogon tar]# ll
总用量 2060
drwxr-xr-x 3 root root 45 12月 27 10:02 zip
-rw-r--r-- 1 root root 2109440 12月 27 10:07 zip.tar
[root@bogon tar]#

3.tar可以目录文件一起打包

[root@bogon tar]# tar -cvf zip.tar zip 1.txt 2.txt
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]#

4.tar -tf 可以查看包文件列表

[root@bogon tar]# tar -tf zip.tar
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]#

5.--exclude 指定打包时不包含的目录

[root@bogon tar]# tar -tf zip.tar
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]# tar -cvf zip.tar --exclude gzip zip 1.txt 2.txt
zip/
zip/1.txt
zip/1.txt.zip
1.txt
2.txt
[root@bogon tar]#

6.--exclude 可以写多个不包含*.txt

[root@bogon tar]# tar -cvf zip.tar --exclude gzip --exclude "*.txt" zip 1.txt 2.txt
zip/
zip/1.txt.zip
[root@bogon tar]#

7.tar打包并压缩成gz格式tar -zcvf

[root@bogon tar]# tar -zcvf zip.tar.gz zip
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
[root@bogon tar]# du -sh zip.tar.gz
664K zip.tar.gz
[root@bogon tar]#

8.支持bz2

[root@bogon tar]# tar -jcvf zip.tar.bz2 zip
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
[root@bogon tar]#

9.支持xz压缩

[root@bogon tar]# tar -Jcvf zip.tar.xz zip
zip/
zip/gzip/
zip/gzip/1.txt
zip/gzip/2.txt
zip/1.txt
zip/1.txt.zip
[root@bogon tar]# du -sh zip.tar.xz
308K zip.tar.xz
[root@bogon tar]#

  

上一篇:iOS 开发自定义一个提示框


下一篇:在 Visual C++ 中开发自定义的绘图控件