Linux中打包和压缩是两个过程,分别有对应的指令来执行这两步操作。打包指的是将一堆文件装到一个大袋子里,压缩则是把这个袋子里的空气给抽干。
目录
tar 是Linux中最常用的打包压缩工具,该命令可以把一系列文件打包到一个大文件中,也可以把一个大文件恢复一系列文件。打包/解包的格式如下:
- # 打包文件(打包文件的后缀名一般使用的是.tar)
- tar -cvf 打包文件.tar 被打包的文件所在路径
- # 一次可以打包多个文件
- tar -cvf pkg.tar a.txt b.txt c.txt
-
- # 解包文件
- tar -xvf 打包文件.tar
tar 选项说明:
选项 | 含义 |
-c | 生成档案文件,创建打包文件 |
-x | 解开档案文件 |
-v | 列出归档接档的详细过程,显示进度 |
-f | 指定档案文件,f后面一定是.tar 文件,必须放选项最后 |
注意:f 选项必须放最后,其他的可以随意
tar 和 gzip 结合可以实现文件的打包压缩。tar 只负责打包,不负责压缩;gzip 负责压缩,压缩以后的扩展名为 xxx.tar.gz(由扩展名可以看出,这个压缩包经历了打包和压缩两个过程)。tar 命令中有一个 -z 选项可以调用 gzip,从而达到打包压缩一步到位的效果。基本命令格式如下:
- # 压缩文件
- tar -zcvf 压缩文件.tar.gz 被压缩的文件所在路径
- # 一次可以压缩多个文件
- tar -zcvf pkg.tar.gz a.txt b.txt c.txt
-
- # 解压文件
- tar -zxvf 压缩文件.tar.gz
-
- # 解压文件到指定路径
- tar -zxvf 压缩文件.tar.gz -C /usr
选项说明:
选项 | 含义 |
-C | 解压缩到指定路径 |
使用方式和上面的 gzip 十分类似,tar 命令中有一个 -j 选项可以调用 bzip2,从而可以方便的实现压缩和解压缩。命令格式如下:
- # 压缩文件(将文件压缩成 xxx.tar.bz2格式)
- tar -jcvf 压缩文件.tar.bz2 被压缩的文件所在路径
-
- # 解压文件
- tar -jxvf 压缩文件.tar.bz2
-
- # 解压文件到指定路径
- tar -jxvf 压缩文件.tar.bz2 -C /usr
解压 linux.tar.gz
- tar -zxvf linux.tar.gz
- # tar -zxvf linux.tar.gz -C ./lib/
解压 linux.tar.bz2
tar -jxvf linux.tar.gz
解压 linux.tar.xz
- # 将linux.tar.xz 解压到当前目录下
- # -C 指定解压目录
- tar xf linux.tar.xz -C ./