0328Linux文件压缩和打包

任务列表:
6.1 压缩打包介绍
6.2 gzip压缩工具
6.3 bzip2压缩工具
6.4 xz压缩工具
6.5 zip压缩工具
6.6 tar打包
6.7 打包并压缩
帖子: http://ask.apelearn.com/question/5435linux

 

1、压缩打包介绍windows

使用压缩文件,能够节省磁盘空间,还能节省传输时间和网络带宽数组

常见的压缩文件网络

  1. windows系统中,常见的压缩文件有.rar, .zip, .7z
  2. linux系统中,常见的压缩文件有.zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz

2、 gzip压缩工具工具

-d:该参数在解压缩时使用spa

-c :把压缩后的文件输出到指定的目录下,原文件不变3d

 

gzip不能压缩目录,文件压缩后是二进制的文件
建立一个目录d6z,查找以.conf结尾的文件,find /etc/ -type f -name "*.conf"
 进入到d6z目录,而后将列出来的文件内容输出到一个文件1.txt里去   find /etc/ -type f -name "*.conf" -exec cat {} >> 1.txt \;   {} 大括号表示find /etc/ -type f -name "*.conf"列(cat)出来的文件,重复写入,使文件内容增长blog

 wc -l 1.txt   显示文件的行数ip

使用gzip 1.txt压缩文件,压缩后的文件名1.txt.gz,使用gzip -d 1.txt.gz   -d  解压文件,压缩以前的文件大小为2.0M,解压后只有1.4M,由于以前的文件存在虚的空间,压缩解压后会把虚的空间释放掉,行数不变io

 

使用压缩等级压缩(1-9),1的效率低,9的压缩效率最高,6为默认。

使用1来压缩,效率最低。 

gunzip 1.txt.gz    gunzip也能够解压文件

file 1.txt.gz   查看压缩文件的信息,识别文件类型,使用 zcat 1.txt.gz  查看压缩文件的内容

gzip -c 1.txt > /tmp/1.txt.gz  压缩到指定目录,压缩包的名字是1.txt.gz/tmp/1.txt.gz

gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt   解压到指定目录,文件名叫2.txt/tmp/d6z/2.txt,两个文件的行数和大小是相同的

3、bzip2压缩工具

bzip2也不能够压缩目录,bzip2用法与gzip基本相同

压缩级别1~9,默认级别为9

查看压缩内容使用 : bzcat 1.txt.bz2

使用前先安装:yum install -y bzip2

bzip2 1.txt   压缩1.txt

 bzip2 -d 1.txt.bz2 或用bunzip2 1.txt.bz2 解压

bzip2 -c 1.txt > /tmp/1.txt.bz2  压缩到指定目录

bzip2 -d -c /tmp/1.txt.bz2 > 555.txt  解压到指定目录

4、xz压缩工具

用法和gzipbzip2相似,压缩程度最狠,不可压缩目录

压缩程度:xz>bzip2>gzip

xz 2.txt  压缩2.txt

xz -d 2.txt.xz 或unxz 2.txt.xz  解压

xz -c 2.txt > /tmp/2.txt.xz   压缩到指定目录,原文件不变

xz -d -c /tmp/2.txt.xz > 4.txt  解压到指定目录,原文件不变

xzcat /tmp/2.txt.xz  查看xz压缩文件

5、zip压缩工具

使用前先安装:yum install -y zip

zip 1.txt.zip 1.txt        压缩包的文件名   须要压缩源文件(不会删除源文件)

zip 2.txt.zip 2.txt  压缩  
 zip -r abc.zip 4.txt abc       压缩文件4.txt和目录abc

-r选项:能够压缩多个文件和目录,压缩目录要加-r选项

yum install -y unzip        安装unzip

unzip abc.zip   使用unzip解压abc.zip时,由于源文件没有删除,解压会提示是否覆盖、替换

 

zip解压文件不能指定文件名,压缩前是什么名字解压后仍是什么名字

unzip 2.txt.zip -d test/   把2.txt.zip解压到test

不能查看压缩包的内容

6、 tar打包

tar能够把全部的目录文件打包成一个大文件,增长传输速度,方便复制和移动

tar也支持一块儿打包目录和文件

-c:创建一个tar包或者压缩文件包
-f:后面跟tar包的名字。指定目标文件名,若是多个参数组合使用时,把-f放在最后面
-z:打包的同时用gzip压缩
-j:同时用bzip2压缩
-J:同时用xz压缩
-t:查看包里面的文件
-v:可视化
-exclude 目录或文件名:表示打包除了该文件以外的内容,过滤掉

 tar -cvf qwe.tar qwe/  打包qwe目录,打包名称是qwe.tar  

使用tar -cf qwe.tar qwe/         若是文件已经打包,再次打包会直接覆盖旧文件,而不会有任何提示

 tar -xvf qwe.tar   解包    解包也会覆盖原目录和文件,不会提示

tar -cvf tobe.tar qwe 1.txt 2.txt    把目录和文件一块儿打包,打包名叫tobe.tar

tar -tf tobe.tar  查看打包文件中的文件列表

 tar -cvf tobe.tar --exclude goto qwe 1.txt 2.txt   使用--exclude goto(文件或目录名)过滤掉goto目录

tar -cvf tobe.tar --exclude "*.txt" qwe 1.txt 2.txt   使用--exclude "*.txt"  也支持过个文件的过滤,把全部txt结尾的文件过滤掉,此时就算打包时后面带有txt结尾的文件,也不会被打包

7、打包并压缩

tar -czvf tobe.tar.gz goto/ 1.txt 2.txt    tar打包的同时使用gzip压缩,加z参数;tar解包就是将命令中的c换成x便可
tar -cjvf tobe.tar.bz2 goto/ 1.txt 2.txt   tar打包的同时使用bzip2压缩,加j参数;tar解包就是将命令中的c换成x便可
tar -cJvf tobe.tar.xz goto/ 1.txt 2.txt     tar打包的同时使用xz压缩,加J参数;tar解包就是将命令中的c换成x便可

 tar -tf tobe.tar.gz    使用-tf能够查看这几种类型的文件列表,tar包不压缩时,也这样看

相关文章
相关标签/搜索