Linux下最常用的10个文件压缩工具

 

作者简介

李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷。喜欢钻研底层技术,认为底层基础才是王道。一切新技术都离不开操作系统(CPU、内存、磁盘)、网络等。坚持输入输出,记录自己学习的点滴,在平凡中坚持前行,总有一天会遇见不一样的自己。公众号:运维汪(ID:Leeeee_Li)。
 
 

一、前言

作为运维人员,经常会遇到“小李啊,帮我取一下今天的日志”,因此在Linux服务器上压缩包、解压包是经常的事情,但是就我个人而言,经常会遇到很多不一样的压缩解压工具,最常用的是tar。虽然经常用,但是还是很多参数记不住,当然不用去记住每一个参数,–help就行。在十万火急的情况下,一个解压还要去google一下,好像也不合理,因此记住常用的几个还是有必要的,再同样的技术水平情况下,那就只能比速度了。
 

二、Linux下最常用的压缩工具

1、tar
 
1)压缩
tar -zcvf too.tar.gz too

 

2)解压
#.tar.gz     
tar -zxvf  too.tar.gz
 
#.tar.gz2    
tar -jxvf   too.tar.gz2

 

3)排除某个目录打包

把too目录打包成too.tar.gz,除logs目录;注这里的too/logs后面不能加/,如果加的话还是会打包进去。
 
tar -czvf too.tar.gz --exclude=too/logs too

 

4)只打包某个目录,而不是全部打包进去
 
加-C参数, 这样的话可以只打包api3.0 ,而不会从/usr开始一个一个目录都打包进去
 
tar -zcf api3.0_`date +%Y%m%d%H%M%S`.tar.gz -C /usr/local/tomcat/webapps api3.0

 

2、gzip
 
gzip工具是Linux中最流行、最快的文件压缩工具,Gzip工具保留原始文件名称压缩文件的扩展名.gz和时间戳。
 
1)打包
gzip filename

 

2)解压
gzip -d filename # 打包的文件会被删除

 

3、bzip2
 
Bzip2实用程序执行更快的gzip,它压缩文件和文件夹更紧凑。压缩文件时需要更多的内存,为了减少内存消耗,在选项中通过-s标志。
 
1)压缩
bzip2 examplefile or bzip2 -s examplefile

 

2)解压
bzip2 -d examplefile.bz2 or bunzip2 examplefile.bz2

 

3)详细说明

bzip2 -v examplefile

 

4、Lzma
 
Lzma是一种压缩工具,与zip或tar类似,但与bzip相比,它的执行速度更快,虽然lzma是一个强大的工具,但它在Linux用户中并不流行。
 
1)压缩
lzma -c --stdout examplefile> examplefile.lzma

 

2)解压
lzma -d --stdout examplefile.lzma >examplefile

 

5、xz
 
XZ是lzma实用程序的继承者,它只能压缩单个文件,但不能在一个命令中压缩多个文件,它将自动为压缩文件添加.xz扩展名。
 
1)压缩
xz examplefile 
 
2)解压
xz -d examplefile

 

6、pax
 
Pax它的执行速度很快,而且它不仅仅是一个压缩器,它可以真正的归档它可以远程复制文件,在Ubuntu/Mint Linux中,默认情况下Pax没有安装。
 
1)压缩
pax -wf examplefile.tar examplefile
pax -wf examplefile.tar.gz examplefile 

 

2)解压
pax -r <examplefile.tar

 

3)查看压缩包文件清单
pax -f examplefile.tar

 

7、7zip
 
7Zip文件压缩器是一个开源工具,它最初是为微软Windows开发的,它支持多种文件压缩格式和高文件压缩,它可以用一个命令压缩多个文件。
 
1)安装7zip
wget https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-16.02-10.el7.x86_64.rpm
wget https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-plugins-16.02-10.el7.x86_64.rpm
 
sudo rpm -U --quiet p7zip-16.02-10.el7.x86_64.rpm
sudo rpm -U --quiet p7zip-plugins-16.02-10.el7.x86_64.rpm
 

 

2)压缩
7z  a examplefile.7z examplefile

 

3)解压
7z  a examplefile.7z examplefile

 

8、shar
 
Shar是一个命令行工具,可以用来压缩测试文件,Shar可以定义为“shell archive”。一个简单而快速的文件存档实用程序对于获取shell脚本的存档非常有用。
 
1)安装shar工具
yum -y install sharutils

 

2)压缩
shar examplefile > examplefile.shar

 

3)解压
unshar examplefile.shar

 

9、cpio
 
可以定义为复制输入和输出,它在输入中逐行读取文件名列表,在输出中读取归档文件。这是一个内置的经典命令。
 
1)压缩
ls | cpio -ov >/home/username/backup.cpio

 

2)解压
cpio -idv <backup.cpio

 

10、ar
 
rar的前身,仍然在Debian及其衍生物中使用,它是一个简单的归档工具,但并不是很流行。
 
1)压缩 
ar cvsr examplefile.a examplefile
 
2)解压
ar -xv examplefile.a

 

11、iso
 
ISO制作iso镜像
 
dd if=/media/dvd of=/home/username/filename.iso