Linux下文档的压缩与打包

Linux下常见的压缩文件通常都是.tar.gz格式的,除此之外,还有.tar、.gz、.bz2、.zip等格式的;也可以不加后缀。
下面介绍Linux下常见的后缀名对应的压缩工具:

.gz:表示由gzip压缩工具压缩的文件;
.bz2: 表示由bzip2压缩工具压缩的文件;
.tar:表示由tar打包程序打包的文件(tar并没有压缩功能,他只是把一个目录合并成一个文件);
.tar.gz:可以理解为先由tar打包,然后再由gzip压缩;
.tar.bz2:可以理解为先由tar打包,然后再由bzip2压缩;
.tar.xz:可以理解为先由tar打包,然后再由xz压缩。

1、gzip压缩工具

gzip [-d#] filename  其中#为1-9的数字
-d:该参数在解压缩时使用
-#:表示压缩等级,1为最差,9为最好,6为默认。一般很少使用,即默认压缩级别。

命令gzip后便直接跟文件名,表示在当前目录下压缩该文件,而原文件也会消失。

gzip 1.txt

命令gzip -d 后边跟压缩文件表示解压该压缩文件。

gzip -d 1.txt.gz
注意 :gzip 不支持压缩目录,压缩目录会报错。

2、bzip2 压缩工具

bzip2 [-dz] filename  其中#为1-9的数字
-z:压缩  可省略
-d:解压缩
压缩级别为1-9,9为默认。一般很少使用,即默认压缩级别。

压缩

bzip2 1.txt

解压缩

bzip2 -d 1.txt.bz2
注意 :bzip2 也不支持压缩目录,压缩目录会报错。

3、xz 压缩工具

xz [-dz] filename  和bzip2类似

xz压缩工具除后缀不同,使用同bzip2类似,不再示例

注意 :xz也不支持压缩目录,压缩目录会报错。

4、tar 打包

tar本身就是一个打包工具,可以把目录打包成一个文件,他把所有文件整合成一个大文件,方便复制和移动。

tar [-zjxcvfpP] filename
-z:表示同时使用gzip压缩;
-j:表示同时使用bzip2压缩;
-J:表示同时使用xz压缩;
-x:表示解包或者解压缩;
-t:表示查看tar包里边的文件;
-c:表示建立一个tar包或则压缩文件包;
-v:表示可视化;
-f:后边跟文件名(即 -f filename,表示压缩后的文件名为filename,或者解压文件filename)需要注意的是,如果是多个参数组合的情况下,请把-f参数写到最后便;
-p:表示使用原文件的属性,压缩前什么属性压缩有害什么属性(不常用);
-P:表示可以使用绝对路径(不常用);
--exclude filename:表示在打包或压缩时,不要将filename文件包括在内(不常用);

具体操作过程如下:

tar -cvf test.tar test  压缩test目录
tar -xvf test.tar  解压

不管压缩还是解压缩,原文件不会删除,但会覆盖当前已经存在的文件或目录;
在日常工作中,也许会用到--exclude选项,下面简单介绍一下它的用法:

tar -cvf test.tar --exclude 1.txt test  // 不用删除test.tar,会自动覆盖

请注意,上例中test.tar 放到了 --exclude选项的前面,该选项除了可以排除文件,也可以排除目录:

tar -cvf test.tar --exclude test111 test222
test111/
test222/
test222/2.txt

5、打包的同时使用gzip压缩

tar命令非常好用的一个功能就是可以在打包时直接压缩,他支持gzip压缩,bzip2压缩和zx压缩;
使用-z选型,可以压缩成gzip格式的文件,示例命令如下:

tar -czvf test.tar.gz test

使用-tf选项,可以查看报或者压缩包的文件列表,示例命令如下:

tar -tf test.tar.gz
tar -tf test.tar

使用-zxvf选项,可以解压.tar.gz格式的压缩包,:

tar -zxvf test.tar.gz

6、打包的同时使用bzip2压缩

和gzip亚所不同的是,这里使用-cjvf选项来压缩:

tar -cjvf test.tar.bz2 test

使用-tf选项来查看压缩包的文件列表:

tar -tf test.tar.bz2

使用-jxvf选项来解压.tar.bz2格式的压缩包,

tar -jxvf test.tar.bz2

7、使用zip压缩

可以压缩目录和文件,压缩目录时,需要指定目录下的文件:
zip 1.txt.zip 1.txt
zip test.zip test/*
说明:zip 后边先跟目标文件名,即压缩后的自定义压缩包名,然后跟要压缩的目录或者文件;如果你的CentOS没有该命令,需要使用yum工具安装它:
yum install -y zip

使用-r 选项递归压缩,代替 /*

zip -r test.zip test/     这样就不用 /* 了

解压.zip格式文件时并不用zip命令,而使用unzip命令。

unzip 1.txt.zip

如果系统中没有unzip命令,需要使用yum工具安装它:

yum install -y unzip

8、zcat、bzcat命令的使用

对于gzip或者bzip2压缩格式的文本文档,可以使用zcat、bzcat命令直接查看文档内容:

zcat 1.txt.gz
bzcat 2.txt.bz2

以上便是今天要总结的内容,有瑕疵的地方请多指教。

你可能感兴趣的:(Linux下文档的压缩与打包)