Linux压缩文件命令大全:生成与查看
本文详细介绍Linux系统下常用的压缩文件生成与查看命令,涵盖tar、gzip、zip、jar等多种格式。针对后端开发者,文章重点讲解如何使用`tar`和`gzip`命令生成和解压`.tar.gz`文件,以及如何利用`zcat`、`zgrep`等命令高效查看压缩日志文件。此外,文章还阐述了`zip`、`unzip`命令在创建和解压`.zip`及`.jar`文件中的应用,并提供了使用`zipgrep`命令搜索压缩文件内容的技巧,帮助开发者快速掌握Linux压缩文件操作,提升开发效率。
目录
简介
tar与gzip
压缩日志文件
tar与其它压缩算法
zip与jar
查看jar文件
总结
简介
如果你是一名后端开发者,想必你对*.tar.gz
、*.zip
、*.jar
后缀的文件并不陌生。这些都是压缩文件,但它们是如何生成的,又有什么关键区别呢?本文将带你深入了解这些文件及其相关的操作命令,以及它们常见的使用场景。
tar与gzip
在Linux系统中,最常见的压缩文件格式是*.tar.gz
,许多开源软件以这种格式发布源代码或程序。因此,作为后端开发者,了解这些是非常必要的。
首先,这个文件后缀名有两部分,即.tar
和.gz
,这也是由其制作过程决定的,分为两个步骤,如下:
1.使用tar命令将目录打包成单个.tar
文件
<code>#将applogs目录打包为applogs.tar文件 #其中-c代表打包、-f指定打包文件名 $ tar -cf applogs.tar applogs/ <h1>可以发现,打包文件大小与目录占用大小差不多,因为tar仅仅是将目录中的文件组合成单个文件,默认情况下不进行压缩</h1><p>$ du -sh applogs/ applogs.tar 177M applogs/ 175M applogs.tar </p></code>
2.使用gzip命令将.tar
文件压缩为.gz
文件
<code>#使用gzip压缩,会生成applogs.tar.gz文件 $ gzip -k applogs.tar<h1>可以发现压缩后文件体积明显变小</h1><p>$ du -sh applogs.tar applogs.tar.gz 175M applogs.tar 8.8M applogs.tar.gz </p></code>
这就是*.tar.gz
文件的制作过程,实际上这两步可以使用tar命令一步完成,如下:
<code>#打包并压缩,其中-z代表打包后再使用gzip压缩 $ tar -czf applogs.tar.gz applogs/<h1>解压到当前目录</h1><p>$ tar -xzf applogs.tar.gz -C ./ </p></code>
压缩日志文件
由于日志文件通常具有很高的重复率,Linux系统经常会将后端系统生成的历史日志文件压缩后存储,以大幅减少磁盘空间占用。
基于这种需求,Linux上开发了一些查看压缩日志文件的命令,如zcat、zgrep、zless等,如下:
<code>#自动解压文件,并将其中文件内容输出 $ zcat applogs.tar.gz<h1>自动解压文件,并在其中搜索,用法和grep类似</h1><p>$ zgrep -a 'error' applogs.tar.gz </p></code>
这种方法比先解压文件再搜索要高效得多。
tar与其它压缩算法
除了gzip外,tar还可以与其他压缩算法结合使用,如bzip2、xz等,如下:
<code>-j, --bzip2 filter the archive through bzip2 -J, --xz filter the archive through xz --lzip filter the archive through lzip --lzma filter the archive through xz --lzop filter the archive through lzop -z, --gzip, --gunzip, --ungzip filter the archive through gzip --zstd filter the archive through zstd -Z, --compress, --uncompress filter the archive through compress </code>
zip与jar
zip同样是一种常见的压缩文件格式,后缀是*.zip
,与tar和gzip不同的是,zip将打包与压缩两个过程合二为一。在Linux下对应的操作命令是zip
与unzip
,如下:
<code>#创建zip压缩文件 $ zip -r applogs.zip applogs/<h1>查看zip压缩文件中有哪些文件</h1><p>$ unzip -l applogs.zip Archive: applogs.zip Length Date Time Name</p><hr><pre class="brush:php;toolbar:false"><code> 0 2022-09-17 12:58 applogs/</code>
99166 2022-09-16 18:20 applogs/demo.2022-09-16.0.log 13177092 2022-09-17 13:37 applogs/demo.2022-09-17.0.log 948 2022-08-09 15:08 applogs/demo.log ...
203039002 140 files
解压zip文件,-d指定解压目录
$ unzip applogs.zip -d ./
与gzip类似,zip也配套了一批适用于特定场景的命令工具,如zipinfo、zipgrep等,如下:
<code>#zipinfo查看zip文件包含哪些文件 $ zipinfo applogs.zip Archive: applogs.zip 9573195 bytes 140 files drwxrwxrwx 3.0 unx 0 bx stor 22-Sep-17 12:58 applogs/ -rwxrwxrwx 3.0 unx 99166 tx defN 22-Sep-16 18:20 applogs/demo.2022-09-16.0.log -rwxrwxrwx 3.0 unx 13177092 tx defN 22-Sep-17 13:37 applogs/demo.2022-09-17.0.log -rwxrwxrwx 3.0 unx 948 tx defN 22-Aug-09 15:08 applogs/demo.log ... 140 files, 203039002 bytes uncompressed, 9546235 bytes compressed: 95.3%<h1>zipgrep自动解压文件,并在其中搜索,用法和grep类似</h1><p>$ zipgrep 'error' applogs.zip </p></code>
查看jar文件
目前,大多数Java项目都是基于Spring Boot的,Spring Boot会将项目打包成单个jar文件来部署,但实际上jar文件本质上就是zip格式,只是多了一个META-INF/MANIFEST.MF
文件,如下:
<code>$ unzip -p app.jar META-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: Maven Jar Plugin 3.2.0 Main-Class: org.springframework.boot.loader.JarLauncher </code>
如上所示,MANIFEST.MF
文件指定了jar包的Main-Class
,这样当执行java -jar app.jar
时,Java就知道去哪个类找main方法了,而Spring Boot打包的jar,只是将启动类换成了自己的。
很多时候,我们需要确认jar文件中的内容,比如查看Spring Boot内嵌的Tomcat的线程池配置大小,可以如下查看:
<code>$ zipgrep 'max-thread' app.jar BOOT-INF/classes/application.yml:max-threads: 500 </code>
这种方法比JDK自带的jar命令方便得多,如果你是Java开发者,这个命令应该成为你开发工具箱中的一员。
总结
好了,关于压缩文件与命令的介绍就到这里了,简单总结一下:
- tar、gzip:用于打包或解压
.tar.gz
文件的命令,虽然它们是两个命令,但几乎总是一起使用。 - zip、unzip:用于打包或解压
.zip
文件的命令,值得注意的是,它们同样可以处理*.jar
文件,且在搜索场景中,使用zipgrep更方便。
less命令实际上可以直接打开这些压缩文件,它甚至可以打开png、pdf等广义上的压缩文件!
此外,Linux平台上还有其他一些压缩命令,如bzip2、xz、7z、rar等,这里就不一一介绍了,有兴趣的可以查看Linux man文档。
到此为止,这篇关于Linux实现压缩文件的生成与查看的常用命令总结的文章就介绍到这里了。更多相关Linux压缩文件的内容,请搜索我们之前的文章或继续浏览下面的相关文章,希望大家以后多多支持我们!
好了,本文到此结束,带大家了解了《Linux压缩文件命令大全:生成与查看》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多科技周边知识!

- 上一篇
- Python代码入门及基本结构指南

- 下一篇
- DebianOpenSSL备份详细教程及方法
-
- 科技周边 · 人工智能 | 19分钟前 |
- 即梦AI云端同步教程,手把手教你备份与恢复数据
- 240浏览 收藏
-
- 科技周边 · 人工智能 | 31分钟前 |
- 腾势赵长江回应圆规掉头磨胎争议:一年才磨损0.05mm?
- 299浏览 收藏
-
- 科技周边 · 人工智能 | 47分钟前 |
- 三步搞定深度学习梗图!DeepSeek教程让你轻松收获万赞
- 268浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 |
- 通灵义码高阶技巧大公开,工作效率upup!
- 136浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 | 国网信息
- 国网新专利:主动配电网无功电压优化方案公布
- 279浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 |
- 即梦AI这样调整音频,手把手教你实现声画完美同步
- 343浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 | ChatPDF 生图
- ChatPDF也能画图?手把手教你用文献内容生图,太酷了!
- 150浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 |
- 文心一言表格复制不过来?手把手教学轻松解决!
- 401浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 | 人形机器人
- 全球首个!人形机器人智能化分级来了,助推商业化进程加速
- 484浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 |
- 深寻大模型亲授!三招教你快速制作爆款梗图,点赞过万soeasy!
- 147浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 |
- iPhone也能下深寻?超详细安装教程分享
- 115浏览 收藏
-
- 科技周边 · 人工智能 | 1小时前 | 机器人
- 大摩:中国机器人市场4年翻倍,2028年规模剑指1080亿美元
- 332浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 茅茅虫AIGC检测
- 茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
- 58次使用
-
- 赛林匹克平台(Challympics)
- 探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
- 76次使用
-
- 笔格AIPPT
- SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
- 86次使用
-
- 稿定PPT
- 告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
- 79次使用
-
- Suno苏诺中文版
- 探索Suno苏诺中文版,一款颠覆传统音乐创作的AI平台。无需专业技能,轻松创作个性化音乐。智能词曲生成、风格迁移、海量音效,释放您的音乐灵感!
- 83次使用
-
- GPT-4王者加冕!读图做题性能炸天,凭自己就能考上斯坦福
- 2023-04-25 501浏览
-
- 单块V100训练模型提速72倍!尤洋团队新成果获AAAI 2023杰出论文奖
- 2023-04-24 501浏览
-
- ChatGPT 真的会接管世界吗?
- 2023-04-13 501浏览
-
- VR的终极形态是「假眼」?Neuralink前联合创始人掏出新产品:科学之眼!
- 2023-04-30 501浏览
-
- 实现实时制造可视性优势有哪些?
- 2023-04-15 501浏览