暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

运维汪 2021-01-12
411

一、前言


作为运维人员,经常会遇到“小李啊,帮我取一下今天的日志”,因此在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 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


                                                        end



                                                        作者简介

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

                                                         

                                                         

                                                        往期推荐

                                                        Linux常用命令 | find

                                                        Linux常用命令 | grep

                                                        shell读取文档中的命令并逐行执行

                                                        HTTP系列(一)URI、URL、URN的区别

                                                        图解HTTP权威指南 (一)| HTTP报文

                                                        图解HTTP权威指南(二)| 连接管理

                                                        图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应

                                                        图解HTTP权威指南(四)| 代理

                                                        图解HTTP权威指南(五)| HTTP缓存


                                                        文章转载自运维汪,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                        评论