目录
前言:
不管是在 Linux 还是其他操作系统中,关于数据的压缩和解压缩操作是经常被用到的。
由于在 windows 平台文件的相关操作被傻瓜化了,到了 Linux 平台让好多小伙伴感觉有点束手无策,
本篇文章中主要为大家讲解基于 Linux 的常用压缩包操作,格式包含:tar.gz, .tgz, .tar.bz2, .zip, .rar, .tar.xz。
一,tar
1.打包并压缩
如果使用 tar 完成文件压缩,涉及的参数如下,在使用过程中参数没有先后顺序:
- c: 创建压缩文件
- z: 使用 gzip 的方式进行文件压缩
- j: 使用 bzip2 的方式进行文件压缩
- v: 压缩过程中显示压缩信息,可以省略不写
- f: 指定压缩包的名字
一般认为 .tgz 文件就等同于 .tar.gz 文件,因此它们的压缩方式是相同的。
tar -czvf all.tar.gz *.c test.txt app monitor
tar -cjvf all.tar.bz2 *.c test.txt app monitor
2.解包并解压
如果使用 tar 进行文件的解压缩,涉及的参数如下,在使用过程中参数没有先后顺序:
- x: 释放压缩文件内容
- z: 使用 gzip 的方式进行文件压缩,压缩包后缀为.tar.gz
- j: 使用 bzip2 的方式进行文件压缩,压缩包后缀为.tar.bz2
- v: 解压缩过程中显示解压缩信息
- f: 指定压缩包的名字
使用以上参数是将压缩包解压到当前目录,如果需要解压到指定目录,需要指定参数 -C。 一般认为 .tgz 文件就等同于 .tar.gz 文件,解压缩方式是相同的。解压的语法格式如下:
tar -xzvf all.tar.gz
tar -xjvf all.tar.bz2
二,zip
没有zip相关指令的可以用以下命令进行下载安装:
- Ubuntu
- sudo apt install zip # 压缩
- sudo apt install unzip # 解压缩
- CentOS
- # 因为 centos 可以使用 root 用户登录, 基于 root 用户安装软件, 不需要加 sudo
- sudo yum install zip # 压缩
- sudo yum install unzip # 解压缩
1,压缩 (.zip)
使用 zip 压缩目录需要注意一点,必须要添加参数 -r, 这样才能将子目录中的文件一并压缩,如果要压缩的文件中没有目录,该参数就可以不写了。
另外使用 zip 压缩文件,会自动生成文件后缀.zip, 因此就不需要额外指定了。
- # 语法: 后自动添加压缩包后缀 .zip, 如果要压缩目录, 需要添加参数 r
- $ zip [-r] 压缩包名 要压缩的文件
2 解压缩 (.zip)
对应 zip 格式的文件解压缩,必须要使用 unzip 命令,和压缩的时候使用的命令是不一样的。如果压缩包中的文件要解压到指定目录需要指定参数 -d, 默认是解压缩到当前目录中。
- # 语法1: 解压到当前目录中
- $ unzip 压缩包名
- # 语法: 解压到指定目录, 需要添加参数 -d
- $ unzip 压缩包名 -d 解压目录
三,rar
1 压缩 (.rar)
使用 rar 压缩过程中的注意事项和 zip 是一样的,如果压缩的是目录, 需要指定参 -r, 如果只压缩文件就不需要添加了。压缩过程中需要使用参数 a (archive), 压缩归档的意思。
rar 工具在生成压缩包的时候也会自动添加后缀,名字为.rar, 因此我们只需要指定压缩包的名字。
- # 文件压缩, 需要使用参数 a, 压缩包名会自动添加后缀 .rar
- # 如果压缩了目录, 需要加参数 -r
- # 语法:
- $ rar a 压缩包名 要压缩的文件 [-r]
2 解压缩 (.rar)
解压缩.rar 格式的文件的时候,可以使用 rar 也可以使用 unrar, 操作方式是一样的,需要添加参数 x, 默认是将压缩包内容释放到当前目录中,如果要释放到指定目录直接指定解压目录名即可,不需要使用任何参数。
- # 解压缩: 需要参数 x
- # 语法: 解压缩到当前目录中
- $ rar/unrar x 压缩包名字
- # 语法: 解压缩到指定目录中
- rar/unrar x 压缩包名字 解压目录
四,xz
.xz 格式的文件压缩和解压缩都相对比较麻烦,通过一个命令是完不成对应的操作的,需要通过两步操作才行。并且操作过程中需要使用 tar 工具进行打包,压缩使用的则是 xz 工具。
1 压缩(.tar.xz)
# 语法:
# 第一步
$ tar cvf xxx.tar 要压缩的文件
# 第二步, 最终得到一个xxx.tar.xz 格式的压缩文件
$ xz -z xxx.tar
2 解压缩 (.tar.xz)
解压缩的步骤和压缩的步骤相反,需要先解压缩,然后将文件包中的文件释放出来。
使用 xz 工具解压需要使用参数 -d。
- # 语法:
- # 第一步: 压缩包解压缩, 得到 xxx.tar
- $ xz -d xxx.tar.xz
- # 第二步: 将 xxx.tar 中的文件释放到当前目录
- $ tar xvf xxx.tar