Linux
下存在多个文件压缩工具,常用的有bzip2
、gzip
和zip
。这三个工具都是可以将一个文件进行压缩操作,使其在不丢失任何信息的情况下占用较少的磁盘空间。而如何对于多个文件/目录进压缩操作呢?
我们通过上一关的学习,我们了解到了使用tar
命令可以将多文件/目录打包生成一个文件,那么对于多文件/目录的压缩操作分为两步:第一步是将其进行打包,然后将打包过后的文件进行压缩操作。
接下让我们详细的学习bzip2
、gzip
和zip
的使用方法。
bzip2
bzip2
命令用于创建和管理(包括解压缩).bz2
格式的压缩包。
具体命令如下:
bzip2 命令参数 指定要压缩的文件
常用命令参数如下:
-z或——compress:强制执行压缩;
-d或——decompress:执行解压缩;
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
-v或——verbose:压缩或解压缩文件时,显示详细的信息;
案例演示:
使用bzip2
命令对当前目录下的new.tar
文件进行压缩,具体使用如下命令:
bzip2 new.tar
gzip
gzip
命令用于创建和管理(包括解压缩).gz
格式的压缩包。
具体命令如下:
gzip 命令参数 指定要压缩的文件
常用命令参数如下:
-d或--decompress或----uncompress:解开压缩文件;
-f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-l或——list:列出压缩文件的相关信息;
-r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
案例演示:
使用gzip
命令对当前目录下的new.tar
文件进行压缩,具体使用如下命令:
gzip new.tar
zip
zip
命令对文件进行打包操作。zip
是个使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip
扩展名的压缩文件。
具体命令如下:
zip 命令参数 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
-d:从压缩文件内删除指定的文件;
-q:不显示指令执行过程;
-r:递归处理,将指定目录下的所有文件和子目录一并处理;
-v:显示指令执行过程或显示版本信息;
-u:更换较新的文件到压缩文件内;
-x<范本样式>:压缩时排除符合条件的文件;
案例演示:
使用zip
命令将newDir
目录下的所有文件/目录压缩生成newDir.zip
,具体使用如下命令:
zip -r newDir.zip newDir
tar命令进行压缩
在上一关的学习中,我们学会了使用tar
命令对多个文件/目录进行打包操作,如果针对多文件/目录进行压缩操作时,首先使用tar
将其打包生成一个文件,然后使用bzip2
和gzip
对其进行压缩,那么这里也可以使用tar
命令一步就实现对多文件/目录进行压缩操作。
采用bzip2
方式执行tar
命令进行压缩的具体命令如下:
tar -jcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
-c 建立新的归档文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-j 以bzip2对文件/目录进行压缩;
采用gzip
进行压缩的具体命令如下:
tar -zcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
-c 建立新的归档文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-z 以gzip对文件/目录进行压缩;
案例演示1
:
使用tar
命令将当前目录下的a.txt
、b.txt
和c.txt
文件压缩生成new.tar.bz2
,具体使用如下命令:
tar -jcvf new.tar.bz2 a.txt b.txt c.txt
这里也可以分为两步进行操作,首先是创建tar
包,然后对tar
包使用bzip2
进行压缩操作。
案例演示2
:
使用tar
命令将当前目录下的a.txt
、b.txt
和c.txt
文件压缩生成new.tar.gz
,具体使用如下命令:
tar -zcvf new.tar.gz a.txt b.txt c.txt