文件压缩对于管理员及普通用户来说极为常见。大家往往需要对大量文件进行压缩以节约磁盘空间,或者将数据在不同位置之间往来迁移。而在使用互联网连接时,压缩数据能够显著节约带宽占用及传输时间。Linux平台自带多种快速有效工具,能够将文件体积压缩40%到80%。今天,我们将分享15款最为出色的压缩工具供大家选择。
适用场景
尽管大多数数据压缩工具适用于全部Linux版本,但这里我们将采用Mint 17 Linux作为演示。
1.tar文件压缩
这里的tar一词源自tape archive,即磁带归档。这款工具在Linux管理员中极具人气,且能够对gzip、bzip2乃至lzip等多种文件格式进行归档。
在Debian/Ubuntu中安装tar:
# apt-get install tar
在CentOS中安装tar:
# yum install tar
tar命令中的首个参数必须来自Acdrtux。
示例
创建一个512 MB大小的文件:
# fallocate -l 512M um.img
创建归档:
# tar -cvfz um.tar.gz um.img
-c – 创建归档,-v – 冗余,-f 代表归档文件,-z 代表将文件压缩为gzip格式。
使用man命令可获取更多细节信息。
2.gzip文件压缩
gzip工具是Linux当中最具人气的快速文件压缩工具,其能够保留原始文件名并为其添加.gz扩展名与时间戳。各类Linux发行版通常都提供其内置软件包,即使不具备,大家也能轻松完成安装。
ubuntu环境:
# apt-get install gzip
CentOS环境:
# yum install gzip
示例:
# gzipexamplefile
获取关于压缩文件的信息:
# gzip -l examplefile.gz
compressed uncompressed ratio uncompressed_name
203559 209715200 99.9% examplefile
对压缩文件进行解压缩:
#gzip -d examplefile.gz
以递归方式压缩全部文件与目录:
# gzip -r examplefile
这里不建议大家使用以上工具,否则会给数据恢复带来阻碍。
3.lzma文件压缩
Lzma是一款与zip及tar类似的压缩工具,但其执行速度可与bzip比肩,且内置于全部Linux发行版当中。
要创建一个归档文件,使用以下命令:
# lzma -c --stdoutexamplefile>examplefile.lzma
提取数据:
# lzma -d --stdoutexamplefile.lzma>examplefile
虽然lzma是一款强大的工具,但其在Linux用户中的人气并不高。
4.xz文件压缩
XZ属于lzma的继承者,它不仅能够压缩单一文件,也可以利用一条命令压缩多个文件。这款工具于2009年面世,因此对于陈旧Linux版本的支持效果可能不好。但其已经登陆全部最新Linux操作系统,且能够自动为压缩文件添加.xz扩展名。
示例:
压缩文件:
# xzexamplefile
解压文件:
# xz -d examplefile.xz
5.bzip2文件压缩
Bzip2工具的执行速度远超gzip,其能够更为紧凑地压缩文件与文件夹。不过,它在压缩过程中需要使用更多内存,要降低内存占用,须添加-s选项。
示例:
# bzip2examplefile
添加-s标记:
# bzip2 -s examplefile
解压.bz2压缩文件:
# bzip2 -d examplefile.bz2
或者:
# bunzip2 examplefile.bz2
使用-v选项实现冗余:
# bzip2 -v examplefile
examplefile: 1184831.638:1, 0.000 bits/byte, 100.00% saved, 209715200 in, 177 out.
6.pax文件压缩