Linux文件打包和解压缩命令总结——打包tar、压缩bzip2、gzip、zip、解压bunzip2、gunzip、unzip
Linux系统中如果需要将多个文件打包成一个单独的文件,tar命令则发挥打包作用。由于磁盘空间有限,也需要把不常用的大文件进行压缩以便于节约磁盘空间,而且我们上网下载的文件一般都是压缩过后的文件,通过总结Linux操作系统上解压缩命令,一文搞定Linux系统上常见的文件、目录解压缩操作。
命令
tar打包命令
tar(tape archive)工具可完成许多功能,其名称源于它的原始功能——建和读取归档文件和备份磁带。该工具常用来将多个文件或多个目录打包成一个tar文件,或解压某个tar文件。
打包
tar命令可以将多个文件/目录进行打包,将多个文件生成一个文件,生成的文件后缀为.tar。
具体打包命令如下:
tar -cvf 生成的tar包名 要打包的文件/目录列表
常用命令参数如下:
-c建立新的归档文件;-v处理过程中输出相关信息;-f对普通文件操作;
例子:
在当前目录下创建a.txt、b.txt和c.txt文件,将其打包成一个new.tar,具体使用如下命令:
touch a.txt b.txt c.txt tar -cvf new.tar a.txt b.txt c.txt

例子2:
在当前目录下创建dirA、dirB和dirC目录,将其打包成一个newDir.tar,具体使用如下命令:
mkdir dirA dirB dirC tar -cvf newDir.tar dirA dirB dirC

解包
tar命令可以将已经打包好的文件解压出来。
具体打包命令如下:
tar -xvf 解压包名 -C 解压到指定目录
常用命令参数如下:
-
-x 或 --ext–fract或–get:从备份文件中还原文件;
-
-v 处理过程中输出相关信息;
-
-f 对普通文件操作;
-
-C <目的目录> 切换到指定的目录;
如果不使用-C(大写)参数,则默认解压到当前目录下
例子:
将当前目录下的a.txt、b.txt和c.txt文件删除,将打包好的new.tar文件解压到当前目录,具体使用如下命令:
rm -fr a.txt b.txt c.txttar -xvf new.tar
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rsR6zlWw-1637067024188)(C:\Users\BYinH\AppData\Roaming\Typora\typora-user-images\1637063839552.png)]](https://i-blog.csdnimg.cn/blog_migrate/2acdfb1edaa6ea4e58f2b1dd0be5b589.png)
例子2:
在当前目录下创建newDir目录,将打包好的newDir.tar文件解压到newDir目录下,具体使用如下命令:
mkdir newDir tar xvf newDir.tar -C ./newDir

实例
\# 使用tar命令将当前目录下的oldFile1和oldFile2文件打包成一个newFile.tar文件;
tar -cvf newFile.tar oldFile1 oldFile2
\# 使用tar命令将当前目录下的oldFile.tar文件解压到当前目录下。
tar -xvf oldFile.tar
文件、目录压缩命令
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

这里也可以分为两步进行操作,首先是创建tar包,然后对tar包使用gzip进行压缩操作。
实例
tar -cvf newFile.tar oldFile1 oldFile2
gzip newFile.tar
# 使用bzip2命令对当前目录下的oldFile.tar文件压缩;
bzip2 -vf oldFile.tar
# 使用zip命令将当前目录下的oldDir目录所有文件/目录压缩生成oldDir.zip。
zip -rv oldDir.zip oldDir
文件解压缩命令
Linux下存在多个文件压缩工具,上一关我们介绍了包括bzip2、gzip和zip。针对这三种压缩工具生成的压缩包,我们可以使用bunzip2、gunzip和unzip命令对其进行解压缩。
接下让我们详细的学习bunzip2、gunzip和unzip的使用方法。
bunzip2
bunzip2命令解压缩由bzip2指令创建的.bz2压缩包。使用bzip2 -d命令也可以将.bz2压缩包进行解压。
具体命令如下:
bunzip2 命令参数 指定要解压的文件
常用命令参数如下:
-f或-force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;-k或-keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;-v或-verbose:解压缩文件时,显示详细的信息;
例子:
使用bunzip2命令对当前目录下的new.tar.bz2文件进行解压操作,具体使用如下命令:
bunzip2 new.tar.bz2 或 bzip2 -d new.tar.bz2

**注意:**这里解压生成了一个tar包,如果想得到tar包里的内容,则需要对tar包进行解包操作(详细命令参考第一关知识点)。
gunzip
gunzip命令解压缩由gzip指令创建的.gz压缩包。使用gzip -d命令也可以将.gz压缩包进行解压。
具体命令如下:
gunzip 命令参数 指定要解压的文件
常用命令参数如下:
-f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;-l或-list:列出压缩文件的相关信息;-q或-quiet:不显示警告信息;-r或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理;-v或-verbose:显示指令执行过程;
例子:
使用gunzip命令对当前目录下的new.tar.gz文件进行解压操作,具体使用如下命令:
gunzip new.tar.gz 或 gzip -d new.tar.gz

**注意:**这里解压生成了一个tar包,如果想得到tar包里的内容,则需要对tar包进行解包操作(详细命令参考第一关知识点)。
unzip
unzip命令用于解压缩由zip命令压缩的.zip压缩包。
具体命令如下:
unzip 命令参数 指定要解压的文件
常用命令参数如下:
-q:执行时不显示任何信息;-n:解压缩时不要覆盖原有的文件;-d<目录>:指定文件解压缩后所要存储的目录;
案例演示:
使用unzip命令对当前目录下的newDir.zip文件进行解压操作,具体使用如下命令:
unzip newDir.zip

tar命令进行解压缩
在上一关的学习中,我们学会了使用tar命令对多个文件/目录进行打包压缩操作,本关将继续讲解使用tar命令对文件进行解压缩操作。
采用bunzip2进行解压缩的具体命令如下:
tar -jxvf 指定要解压的文件
常用命令参数如下:
-x或-ext\fract或-get:从备份文件中还原文件;-v处理过程中输出相关信息;-f对普通文件操作;-j以bunzip2进行解压缩;
采用gzip进行压缩的具体命令如下:
tar -zxvf 指定要解压的文件
常用命令参数如下:
-x或–ext\fract或–get:从备份文件中还原文件;-v处理过程中输出相关信息;-f对普通文件操作;-z以gunzip进行解压缩;
例子1`:
使用tar命令对当前目录下的new.tar.bz2文件进行解压,具体使用如下命令:
tar -jxvf new.tar.bz2

这里也可以分为两步进行操作,首先是使用bunzip2进行解压生成tar包,然后对tar包进行解包操作。
例子2:
使用tar命令对当前目录下的new.tar.gz文件进行解压,具体使用如下命令:
tar -zxvf new.tar.gz

这里也可以分为两步进行操作,首先是使用gunzip进行解压生成tar包,然后对tar包进行解包操作。
实例
# 使用tar命令解压当前目录下的oldFile.tar.gz文件;
tar -jxvf oldFile.tar.bz2
# 使用bunzip2命令解压当前目录下的oldFile.tar.bz2文件;
bunzip2 -fkv oldFile.tar.bz2
# 使用unzip命令解压当前目录下的oldDir.zip。
unzip oldDir.zip
over
更多推荐


所有评论(0)