探索Linux下的文件压缩与查阅:常用指令精讲

时间:2025-05-16 关注公众号 来源:网络

在Linux操作系统中,高效地管理文件是日常任务之一,而这其中,压缩解压文件的能力尤为重要。无论是备份数据、减少存储空间使用,还是方便文件传输,掌握正确的命令行工具都是提升工作效率的关键。本文将为您汇总并解析在Linux环境下生成与查看压缩文件的常用命令,包括但不限于tar、gzip、bzip2和xz等。从基础用法到高级技巧,我们将一步步引导您深入了解这些命令的精髓,帮助您在终端操作中更加游刃有余。无论是新手还是经验丰富的Linux用户,都能从中找到提升自己技能的宝贵信息。准备好了吗?让我们一起深入Linux的压缩文件处理世界,揭开其高效管理数据的秘密面纱。

  

linux实现压缩文件的生成与查看的常用命令总结

  目录   

简介

  

tar与gzip

  

压缩日志文件

  

tar与其它压缩算法

  

zip与jar

  

查看jar文件

  

总结

  简介   

如果你是一名后端开发者,想必你对*.tar.gz、*.zip、*.jar后缀的文件并不陌生。这些都是压缩文件,但它们是如何生成的,又有什么关键区别呢?本文将带你深入了解这些文件及其相关的操作命令,以及它们常见的使用场景。

  tar与gzip   

在Linux系统中,最常见的压缩文件格式是*.tar.gz,许多开源软件以这种格式发布源代码或程序。因此,作为后端开发者,了解这些是非常必要的。

  

首先,这个文件后缀名有两部分,即.tar和.gz,这也是由其制作过程决定的,分为两个步骤,如下:

  

1.使用tar命令将目录打包成单个.tar文件

#将applogs目录打包为applogs.tar文件   #其中-c代表打包、-f指定打包文件名   $tar-cfapplogs.tarapplogs/   

可以发现,打包文件大小与目录占用大小差不多,因为tar仅仅是将目录中的文件组合成单个文件,默认情况下不进行压缩

$du-shapplogs/applogs.tar   177Mapplogs/   175Mapplogs.tar   登录后复制

2.使用gzip命令将.tar文件压缩为.gz文件

#使用gzip压缩,会生成applogs.tar.gz文件   $gzip-kapplogs.tar

可以发现压缩后文件体积明显变小

$du-shapplogs.tarapplogs.tar.gz   175Mapplogs.tar   8.8Mapplogs.tar.gz   登录后复制

这就是*.tar.gz文件的制作过程,实际上这两步可以使用tar命令一步完成,如下:

#打包并压缩,其中-z代表打包后再使用gzip压缩   $tar-czfapplogs.tar.gzapplogs/

解压到当前目录

$tar-xzfapplogs.tar.gz-C./   登录后复制压缩日志文件   

由于日志文件通常具有很高的重复率,Linux系统经常会将后端系统生成的历史日志文件压缩后存储,以大幅减少磁盘空间占用。

  

基于这种需求,Linux上开发了一些查看压缩日志文件的命令,如zcat、zgrep、zless等,如下:

#自动解压文件,并将其中文件内容输出   $zcatapplogs.tar.gz

自动解压文件,并在其中搜索,用法和grep类似

$zgrep-a'error'applogs.tar.gz   登录后复制

这种方法比先解压文件再搜索要高效得多。

  tar与其它压缩算法   

除了gzip外,tar还可以与其他压缩算法结合使用,如bzip2、xz等,如下:

-j,--bzip2filterthearchivethroughbzip2   -J,--xzfilterthearchivethroughxz   --lzipfilterthearchivethroughlzip   --lzmafilterthearchivethroughxz   --lzopfilterthearchivethroughlzop   -z,--gzip,--gunzip,--ungzipfilterthearchivethroughgzip   --zstdfilterthearchivethroughzstd   -Z,--compress,--uncompressfilterthearchivethroughcompress   登录后复制zip与jar   

zip同样是一种常见的压缩文件格式,后缀是*.zip,与tar和gzip不同的是,zip将打包与压缩两个过程合二为一。在Linux下对应的操作命令是zip与unzip,如下:

#创建zip压缩文件   $zip-rapplogs.zipapplogs/

查看zip压缩文件中有哪些文件

$unzip-lapplogs.zip   Archive:applogs.zip   LengthDateTIMeName


02022-09-1712:58applogs/登录后复制

991662022-09-1618:20applogs/demo.2022-09-16.0.log   131770922022-09-1713:37applogs/demo.2022-09-17.0.log   9482022-08-0915:08applogs/demo.log   ...

  

203039002140files

  解压zip文件,-d指定解压目录   

$unzipapplogs.zip-d./   

  

与gzip类似,zip也配套了一批适用于特定场景的命令工具,如zipinfo、zipgrep等,如下:

#zipinfo查看zip文件包含哪些文件   $zipinfoapplogs.zip   Archive:applogs.zip9573195bytes140files   drwxrwxrwx3.0unx0bxstor22-Sep-1712:58applogs/   -rwxrwxrwx3.0unx99166txdefN22-Sep-1618:20applogs/demo.2022-09-16.0.log   -rwxrwxrwx3.0unx13177092txdefN22-Sep-1713:37applogs/demo.2022-09-17.0.log   -rwxrwxrwx3.0unx948txdefN22-Aug-0915:08applogs/demo.log   ...   140files,203039002bytesuncompressed,9546235bytescompressed:95.3%

zipgrep自动解压文件,并在其中搜索,用法和grep类似

$zipgrep'error'applogs.zip   登录后复制查看jar文件   

目前,大多数Java项目都是基于SpringBoot的,SpringBoot会将项目打包成单个jar文件来部署,但实际上jar文件本质上就是zip格式,只是多了一个META-INF/MANIFEST.MF文件,如下:

$unzip-papp.jarMETA-INF/MANIFEST.MF   Manifest-Version:1.0   Spring-Boot-Classpath-Index:BOOT-INF/classpath.idx   Implementation-Version:0.0.1-SNAPSHOT   Spring-Boot-Layers-Index:BOOT-INF/layers.idx   Start-Class:com.example.demo.DemoApplication   Spring-Boot-Classes:BOOT-INF/classes/   Spring-Boot-Lib:BOOT-INF/lib/   Build-Jdk-Spec:1.8   Spring-Boot-Version:2.4.0   Created-By:MavenJarPlugin3.2.0   Main-Class:org.springframework.boot.loader.JarLauncher   登录后复制

如上所示,MANIFEST.MF文件指定了jar包的Main-Class,这样当执行java-jarapp.jar时,Java就知道去哪个类找main方法了,而SpringBoot打包的jar,只是将启动类换成了自己的。

  

很多时候,我们需要确认jar文件中的内容,比如查看SpringBoot内嵌的Tomcat的线程池配置大小,可以如下查看:

$zipgrep'max-thread'app.jar   BOOT-INF/classes/application.yml:max-threads:500   登录后复制

这种方法比JDK自带的jar命令方便得多,如果你是Java开发者,这个命令应该成为你开发工具箱中的一员。

  总结   

好了,关于压缩文件与命令的介绍就到这里了,简单总结一下:

  tar、gzip:用于打包或解压.tar.gz文件的命令,虽然它们是两个命令,但几乎总是一起使用。   zip、unzip:用于打包或解压.zip文件的命令,值得注意的是,它们同样可以处理*.jar文件,且在搜索场景中,使用zipgrep更方便。   

less命令实际上可以直接打开这些压缩文件,它甚至可以打开png、pdf等广义上的压缩文件!

  

此外,Linux平台上还有其他一些压缩命令,如bzip2、xz、7z、rar等,这里就不一一介绍了,有兴趣的可以查看Linuxman文档。

  

到此为止,这篇关于Linux实现压缩文件的生成与查看的常用命令总结的文章就介绍到这里了。更多相关Linux压缩文件的内容,请搜索我们之前的文章或继续浏览下面的相关文章,希望大家以后多多支持我们!

以上就是Linux实现压缩文件的生成与查看的常用命令总结的详细内容,更多请关注其它相关文章!

阅读全文
扫码关注“ 多特资源库
更多更全的软件资源下载
文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站)
玩家热搜

相关攻略

正在加载中
版权
版权说明

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站)

电话:13918309914

QQ:1967830372

邮箱:rjfawu@163.com

toast