对文件做压缩操作可以减少存储和传输资源的消耗,Linux 系统提供了比较完善文件压缩和解压缩命令。这些命令涵盖了 tar, gz, zip, rar 这些常见的压缩格式,本文收集并总结这些格式和命令的基本操作。
tar
tar 是 Linux 系统中常见的文件归档方式,在主流 Linux 系统中基本都内置了同名命令:tar
,无需安装便可使用。tar 只是创建归档,并不提供压缩功能,所以严格意义上来说,tar 并不是压缩文件。
创建 tar 归档文件的命令如下:
tar cvf test.tar 1.txt 2.txt
test.tar
是要创建的归档文件名称,1.txt
和 2.txt
是要归档的文件。通过上面这条命令就把两个 txt 文件创建成为了 tar 格式的归档文件。
释放 tar 归档文件的命令如下:
tar xvf test.tar
gz
gz 是 gzip 的简称, tar
命令内置了对此格式的支持。和 tar 相比,gz 是真正的压缩格式。创建 gz 压缩文件的命令如下:
tar zcvf test.tar.gz 1.txt 2.txt
解压缩 gz 压缩文件的命令:
tar zxvf test.tar.gz
可以看出,相比 tar 格式,gz 只是多了一个 z
选项,它代表用 gzip 对文件做归档操作。
在 tar
命令中使用 z
选项默认就启用了压缩,如果要自定义压缩等级,可以通过以下方式来生成 gz 压缩文件:
tar cvf - 1.txt 2.txt | gzip -9 - > test.tar.gz
上面的命令组合了 tar 归档命令和 gzip 压缩命令操作。gzip
后的 -9
就是压缩等级,可以根据自己需要来调整。
zip
在 Linux 系统上使用 zip 格式的压缩方法需要确认安装了 zip
和 unzip
命令。在 Debian 系 Linux(比如 Ubuntu)上通过以下命令安装:
sudo apt install zip unzip
安装好后,使用 zip
命令创建压缩文件:
zip test.zip 1.txt 2.txt
上面的命令把 1.txt 和 2.txt 文件放到一起,创建为 test.zip 压缩文件。
使用 zip
命令创建压缩文件时同样也可以指定压缩等级:
zip -9 test.zip 1.txt 2.txt
命令中的 -9
为压缩等级。使用 unzip
命令可以解压缩 zip 格式的压缩文件:
unzip test.zip
rar
在 Linux 上使用 rar 压缩格式和 zip 基本类似,需要先安装 rar
和 unrar
命令。不过 rar 不是免费软件,所以只能用上 rar 格式的解压功能。在 Debian 系 Linux 上可以通过以下命令安装 unrar:
sudo apt install unrar-free
然后通过以下命令来解压 rar 文件:
unrar e test.rar