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]# 

  

 

posted @ 2017-12-26 14:25  278108678  阅读(1355)  评论(0编辑  收藏  举报