[Linux]实用指令:压缩、解压、打包
1、压缩、解压
gzip[参数][文件或者目录]
:gzip是一个使用广泛的压缩程序,文件压缩完后,名称后面会多出一个.gz
的扩展名。
常用参数
名称 | 含义 | 示例 |
---|---|---|
-d | decompress:解压缩;解开压缩文件 |
gzip -d aa.txt.gz ;解压aa.txt.gz压缩文件 |
-l | list:列表;列出压缩文件的相关信息 |
gzip -l * ;详细列出每一压缩文件的信息,并不解压 |
-r | recursive:递归;将指定目录下的所有文件及子目录一并处理; |
gzip -r test ;递归压缩下面test目录 |
-v | verbose:详细;显示指令执行过程 |
文件或目录:指定要压缩的文件列表
实例:
- 递归解压目录
gzip -dr test
- 递归压缩目录
gzip -rv test
注意 :
1、我们使用gzip对文件进行压缩后,不会保留原来的文件。
2、我们也可以用gunzip 文件.gz
:来进行解压文件
3、gzip
,压缩文件只能将文件压缩为*.gz
文件
2、 zip/unzip
zip [选项] (参数)
:将要压缩为文件
zip可以用来解压缩文件,作者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经压缩后会产生另外具有.zip
扩展名的压缩文件。
常用选项:
名称 | 含义 |
---|---|
-q | 不显示指令执行过程; |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理; |
参数:
- zip压缩包:指定要创建的zip压缩包;
- 文件列表:指定要压缩的文件列表。
实例
-
将
/home/list
这个目录下所有文件和文件夹打包到当前目录下的 html.zip;-
zip -qr html.zip list
-
-
将当前目录下的文件aa.txt 打包为aa.zip
-
zip aa.zip aa.txt
-
zip
:用于解压缩由zip命令压缩的“.zip”压缩包。
zip [选项](参数)
参数
压缩包:指定要解压的“.zip”压缩包。
常用选项
名称 | 含义 |
---|---|
-d<目录> | 指定文件解压缩后所要存储的目录; |
实例
-
将html.zip解压到 /home/zipdir 目录下
-
unzip -d /home/zipdir html.zip
-
3、tar
tar:是打包指令,最后打包后的文件是.tar.gz文件
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
tar [选项](参数)
:
常用选项
名称 | 含义 | 示例 |
---|---|---|
-c | create:建立新的备份文件,即产生.tar打包文件 | |
-v | 显示操作过程详细信息 | |
-f | file:指定备份文件,即压缩后的文件名 | |
-z | compress:打包同时压缩 | |
-x | 从备份文件中还原文件,即解压.tar文件 |
参数
文件或目录:指定要打包的文件或目录列表
实例
-
压缩多个文件 ,将/home/a1.txt 和/home/a2.txt压缩成 a.tar.gz
-
tar -zcvf a.tar.gz a1.txt a2.txt
-
-
将/home的文件夹 压缩成myhome
-
tar -zcvf myhome.tar.gz /home/
-
-
将a.tar.gz解压搭配当前目录
-
tar -zxvf a.tar.gz
-
-
将myhome.tar.gz 解压到/opt目录下
-
tar -zxvf myhome.tar.gz -C /opt/
-
注意:指定解压目录的那个目录,实现要存在才能成功,否则会报错。
-