压缩打包介绍
压缩完的文件,一般都是会小很多,更利于文件的传输和节省磁盘空间,带宽的资源也会减少。
linux下常见的压缩文件(都是后缀名)
.gz
.bz2
.tar
.tar.gz
.tar.bz2
.tar.xz
linux下的文件后缀名可加可不加,但压缩文件最好用上后缀名。为了更方便的知道是由哪种压缩工具所压缩。
gzip压缩工具
先弄个大文件做测试:
find /etc/-type f -name "*conf" -exec cat{} >> 1.txt \;
把查找出来后所有.conf结尾的文件的内容全部追加到 1.txt文件下。
-exec cat {} 针对查找出来的每个文件进行cat
gzip 格式: gzip [-d#] filename #为1~9数字
-d:解压才使用
-#:表示压缩等级,1为最差,9为最好,6为默认
(级别越高,压缩文件也大)
压缩格式: gzip filename
解压格式:gzip -d filename.gz
此时可以发现解压后的文件大小不是我们追加时文件大小,是因为我们解压的时候会把文件中虚的(无用的空间除了)
使用 wc -l filename 可以查看文件的行数
查看一个压缩文件的信息:
这里可以看出是使用什么工具压缩、最后一次秀爱上时间和压缩级别
查看压缩文件内容:
zcat filename.gz
gzip不能压缩目录
其他用法:压缩文件时指定到一个目录下,且这文件不消失
(解压时也行)
只需在压缩或解压时,加上"-c"选项 然后">"重定向到另一个文件就行了(如图)
bzip2压缩工具
命令格式: bzip2 [-dz] filename ;
-z:压缩
-d:解压缩
压缩级别1-9,默认为9
安装bzip2:yum install -y bzip2
bzip压缩工具的用法和gzip工具大同
解压缩:bzip2 -d 1.txt.bz2 == bunzip2 1.txt.bz2
同时也是支持 -c选项
查看压缩文件内容:
bzcat filename.bz2
xz压缩工具
格式:xz [-dz] filename
-d :解压缩
-z :压缩
压缩级别:1-9 默认为6
解压缩:xz -d 2.txt.xz ==unxz 2.txt.xz
支持 -c 选项和 使用 xzcat 查看压缩文件内容
zip压缩工具
zip压缩:可以压缩目录和文件
yum install -y zip
压缩文件:
zip压缩文件时,格式:zip filename.zip filename
压缩目录:
zip压缩目录
zip -r 压缩后目录名.zip(这里的目录名可自定) 源目录
zip压缩文件和目录,原来的文件不会消失
安装unzip 解压工具:yum install -y unzip
解压目录和文件:
unzip 目录名.zip
unzip cansheng.zip
因为zip压缩时没有自动删除源文件,所以会出现提示:
zip解压可以解压到指定的目录下(否则解压到当前目录)
解压文件到指定目录
unzip 2.txt.zip -d test/
使用zip压缩的不能使用cat工具才看压缩文件内容
但是使用:unzip -l cansheng.zip
可看到目录下的文件列表
tar打包工具
tar 把所有文件整合成一个大文件,方便复制移动传输。
命令格式:tar [-zjxcvfpP] filename.tar
-t :查看tar包里的文件(-tf一起用)
-c :建立一个tar包或压缩文
-x :解包或者解压缩
-v :可视化
-f :后面跟文件名(-f filename,表示压缩后的文件名为filename,或者解压文件名为filename,多个参数是-f选项放最后)
-z:表示同时用gzip压缩
-j:表示同时用bzip2压缩
-J:表示同时用xz压缩
--exclde filename :打包或压缩时过滤掉filename文件
打包:tar -cvf canshenglinux.tar canshenglinux
(意思就是把canshenglinux这个目录打包成名字为canshenglinux.tar这个包名;后面包名可自定义,但是一定要加.tar)
解包:tar -xvf canshenglinux.tar
目录和文件一起打包
tar -cvf canshenglinux.tar canshenglinux 3.txt 4.txt
查看tar包下的文件列表
tar -tf cansheng.tar
打包的同时过滤掉不需要打包的文件或目录(--exclude)
tar -cvf canshenglinux.tar --exclude cansheng4 canshenglinux 3.txt 4.txt
(把canshenglinux目录下的cansheng4过滤掉,然后和3.txt,4.txt 一起打包到名字为canshenglinux.tar包下)
--exclude 可多个一起使用
tar -cvf canshenglinux.tar --exclude cansheng4 --exclude "*.txt" canshenglinux 3.txt 4.txt
打包并压缩
-z:表示同时用gzip压缩
-j:表示同时用bzip2压缩
-J:表示同时用xz压缩
1.tar -czvf canshenglinux.tar.gz --exclude cansheng4 canshenglinux 3.txt 4.txt
2.tar -cjvf canshenglinux.tar.bz --exclude cansheng4 canshenglinux 3.txt 4.txt
3.tar -cJvf canshenglinux.tar.xz --exclude cansheng4 canshenglinux 3.txt 4.txt
解包:
把"-c"换为"-x"
查看打包并压缩文件的文件列表
tar -tf filename.tar.gz(bz/xz)
原文地址:http://blog.51cto.com/13589255/2071006