Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

目录

1、使用 tar 命令:

1.1. 压缩:

1.2. 解压:

1.3. tar 命令各参数含义

2. gzip、gunzip

gzip 命令:

压缩文件:

保留原始文件,创建压缩文件:

保留原始文件,显示压缩进度:

gunzip 命令:

解压文件:

保留压缩文件,创建原始文件:

保留压缩文件,显示解压进度:

3. zip、unzip

zip 命令:

压缩文件:

 

压缩目录及其内容:

保留原始文件,创建 ZIP 文件:

unzip 命令:

解压 ZIP 文件:

解压 ZIP 文件到指定目录:

列出 ZIP 文件内容:

压缩文件或目录:

使用 LZMA 算法创建 7z 文件:

使用不同的压缩算法:

解压缩文件:

解压缩 7z 文件:

解压缩到指定目录:

查看 7z 文件内容:

列出 7z 文件的内容:

我的其他博客


在Linux系统中,有多种方式可以用于压缩和解压文件。下面是使用常见命令的一些示例:

1、使用 tar 命令:

1.1. 压缩:
# 将多个文件或目录打包成一个 tar 包,-c 表示创建 tar 包,-v 表示显示详细信息,-f 表示指定文件名
tar -cvf filename.tar file1 file2 dir1# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-z 表示使用 gzip 压缩,-f 表示指定文件名
tar -czf filename.tar.gz dir1# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-j 表示使用 bzip2 压缩,-f 表示指定文件名
tar -cjf filename.tar.bz2 dir1
1.2. 解压:
# 将一个 tar 包解压缩到指定目录下,-x 表示解压,-v 表示显示详细信息,-f 表示指定文件名
tar -xvf filename.tar -C /path/to/directory# 将一个 gzip 压缩的 tar 包解压缩到指定目录下,-z 表示使用 gzip 解压缩
tar -zxvf filename.tar.gz -C /path/to/directory# 将一个 bzip2 压缩的 tar 包解压缩到指定目录下,-j 表示使用 bzip2 解压缩
tar -jxvf filename.tar.bz2 -C /path/to/directory
1.3. tar 命令各参数含义

tar 命令是 Linux 下常用的打包和压缩工具,用于将多个文件或目录打包成一个 tar 包,也可以将一个 tar 包解压缩到指定的目录。tar 命令的各个参数的含义如下:

tar [选项] [文件名] [文件列表]

 其中,选项包括:

  • -c, --create:创建一个 tar 包。可以和 -f 参数一起使用,指定生成的 tar 包的文件名;
  • -x, --extract, --get:解包一个 tar 包。可以和 -f 参数一起使用,指定要解压缩的 tar 包的文件名;
  • -r, --append:将一个或多个文件追加到已存在的 tar 包的末尾。可以和 -f 参数一起使用,指定要追加的 tar 包的文件名;
  • -u, --update:仅将新于 tar 包中已有的文件或目录添加到 tar 包中。可以和 -f 参数一起使用,指定要更新的 tar 包的文件名;
  • -t, --list:列出一个 tar 包中包含的文件列表。可以和 -f 参数一起使用,指定要列出的 tar 包的文件名;
  • -f, --file=ARCHIVE:指定要操作的 tar 包的文件名;
  • -v, --verbose:在操作的过程中显示详细信息;
  • -z, --gzip, --ungzip:在 tar 包中使用 gzip 压缩;
  • -j, --bzip2:在 tar 包中使用 bzip2 压缩;
  • -C, --directory=DIR:指定解压缩到的目录。

例如,将多个文件或目录打包成一个 tar 包,可以使用以下命令:

tar -cvf filename.tar file1 file2 dir1

 

其中,-c 表示创建 tar 包,-v 表示显示详细信息,-f 后面跟着的是生成的 tar 包的文件名,file1 file2 dir1 是要打包的文件或目录列表。

将一个 tar 包解压缩到指定目录下,可以使用以下命令:

tar -xvf filename.tar -C /path/to/directory

其中,-x 表示解压缩,-v 表示显示详细信息,-f 后面跟着的是要解压缩的 tar 包的文件名,-C 后面跟着的是解压缩到的目录。

2. gzip、gunzip

gzipgunzip 是在 Linux 中用于压缩和解压缩文件的工具。gzip 使用 DEFLATE 压缩算法,而 gunzip 则用于解压缩经 gzip 压缩过的文件。以下是它们的详细介绍和使用指令:

gzip 命令:

压缩文件:
gzip filename

这将会创建一个名为 filename.gz 的压缩文件,并删除原始文件。

保留原始文件,创建压缩文件:
gzip -c filename > filename.gz

这会将原始文件压缩,并将压缩内容写入新的 filename.gz 文件,同时保留原始文件。

保留原始文件,显示压缩进度:
gzip -v filename

使用 -v 选项会显示压缩的详细信息,包括压缩比和进度。

gunzip 命令:

解压文件:
gunzip filename.gz

 

这会将 filename.gz 解压缩为原始文件,并删除压缩文件。

保留压缩文件,创建原始文件:
gunzip -c filename.gz > filename

 

这会将压缩文件解压缩,并将原始内容写入新的 filename 文件,同时保留压缩文件。

保留压缩文件,显示解压进度:
gunzip -v filename.gz

 

使用 -v 选项会显示解压缩的详细信息,包括解压缩比和进度。

这些命令可以用于单个文件的压缩和解压缩操作。如果要处理多个文件或者整个目录,建议使用 tar 命令结合 gzip 进行打包和压缩,以方便管理。

3. zip、unzip

zipunzip 是用于在 Linux 系统中创建和解压缩 ZIP 文件的命令行工具。

zip 命令:

压缩文件:
zip archive.zip file1 file2 file3

 

这将会创建一个名为 archive.zip 的 ZIP 压缩文件,包含指定的文件。

压缩目录及其内容:
zip -r archive.zip directory

使用 -r 选项,可以递归地将目录及其内容压缩为一个 ZIP 文件。

保留原始文件,创建 ZIP 文件:
zip -r - files | cat > archive.zip

这将会将文件和目录压缩,并将 ZIP 内容写入 archive.zip 文件,同时保留原始文件。

unzip 命令:

解压 ZIP 文件:
unzip archive.zip

这会将 archive.zip 解压缩到当前目录。

解压 ZIP 文件到指定目录:
unzip archive.zip -d /path/to/destination

使用 -d 选项,可以将 ZIP 文件解压缩到指定的目录。

列出 ZIP 文件内容:
unzip -l archive.zip

使用 -l 选项,可以列出 ZIP 文件的内容列表,包括文件名、压缩比等信息。

这些命令提供了灵活的选项,以满足不同的压缩和解压缩需求。可以通过 man zipman unzip 命令查看它们的详细文档以获取更多信息。

4、7z

7z 是一个用于创建和解压缩文件归档的命令行工具,支持多种压缩算法。以下是 7z 命令的一些常见用法:

压缩文件或目录:

使用 LZMA 算法创建 7z 文件:
7z a archive.7z file1 file2 dir1

这将会创建一个名为 archive.7z 的文件,包含指定的文件和目录,使用 LZMA 算法进行压缩。

使用不同的压缩算法:
7z a -tzip archive.zip file1 file2 dir1

使用 -t 选项可以指定不同的压缩算法,例如 zip

解压缩文件:

解压缩 7z 文件:
7z x archive.7z

这会将 archive.7z 解压缩到当前目录。

解压缩到指定目录:
7z x archive.7z -o/path/to/destination

使用 -o 选项,可以将文件解压缩到指定的目录。

查看 7z 文件内容:

列出 7z 文件的内容:
7z l archive.7z

使用 l 命令,可以列出 7z 文件的内容列表,包括文件名、压缩比等信息。

这些只是 7z 命令的一些常见用法。7z 还支持许多其他选项和压缩算法,你可以通过 man 7z 命令查看 7z 命令的详细文档以获取更多信息。

我的其他博客

简单介绍一些其他的树-CSDN博客

认识二叉树(详细介绍)-CSDN博客

正则表达式详细讲解-CSDN博客

低代码开发:创新之道还是软件开发的捷径?-CSDN博客

HTTP与HTTTPS的区别-CSDN博客

什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查-CSDN博客

在多线程中sleep()和wait()的区别(详细)-CSDN博客

谈谈我对HashMap扩容机制的理解及底层实现-CSDN博客

堆排序详细讲解(一文足矣JAVA)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/215113.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式(7):转义符

正则表达式(7):正则表达式(5):转义符 本博文转载自 此处,我们来认识一个常用符号,它就是反斜杠 “\” 反斜杠有什么作用呢?先不着急解释,先来看个小例子。 …

golang使用es,报错Elasticsearch health check failed

今天golang代码里调用es,结果一直报错。报错内容 ElasticsearchRestHealthIndicator : Elasticsearch health check failed然后又去es管理端看,明明节点是绿色的,估计是golang的这个有问题,时间紧迫,我就直接关掉了健…

侯捷C++ 程序的生前死后

生前:CRT startup code 看完课程,能够回答一下问题: C进入点是main()嘛?什么代码比main更早执行?什么代码在main结束后执行?为什么上述代码可以如此行为?Heap的结构如何?I/O的结构…

日志门面slf4j和各日志框架

简介 简单日志门面(Simple Logging Facade For Java) SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架, 其主要意义在于提供接口,具体的实现可以交由其他日志框架,如log4j、logback、log4j2。 对于一般的Java项目而言&#xff…

元宇宙vr党建云上实景展馆扩大党的影响力

随着科技的飞速发展,VR虚拟现实技术已经逐渐融入我们的日常生活,尤其在党建领域,VR数字党建展馆更是成为引领红色教育新风尚的重要载体。今天,就让我们一起探讨VR数字党建展馆如何提供沉浸式体验,助力党建工作创新升级…

轻量封装WebGPU渲染系统示例<43>- PBR材质与阴影实(源码)

原理简介: 1. 基于rendering pass graph实现。 2. WGSL Shader 基于文件系统和宏机制动态组装。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/PBRShadowTest.ts 当前示例运行效果: 此示例基于此渲染系统实现&a…

【C语言】【数据结构】自定义类型:结构体

引言 这是一篇对结构体的详细介绍,这篇文章对结构体声明、结构体的自引用、结构体的初始化、结构体的内存分布和对齐规则、库函数offsetof、以及进行内存对齐的原因、如何修改默认对齐数、结构体传参进行介绍和说明。 ✨ 猪巴戒:个人主页✨ 所属专栏&am…

手机升级到iOS15.8后无法在xcode(14.2)上真机调试

之前手机是iOS14.2的系统,在xcode上进行真机测试运行良好,因为想要使用Xcode的Instruments功能,今天将系统更新到了iOS15.8 ,结果崩了 说是Xcode和手机系统不兼容不能进行真机测试。在网上查了好些方法,靠谱的就是下载相关版本的…

Centos7云服务器上安装cobalt_strike_4.7。附cobalt_strike_4.7安装包

环境这里是阿里的一台Centos7系统。 开始安装之前首先要确保自己安装了java11及以上环境。 安装java11步骤: sudo yum update sudo yum install java-11-openjdk-devel把服务器端(CS工具分服务器端和客户端)的CS安装到服务器上后给目录下的…

【Java探索之旅】我与Java的初相识(一):Java的特性与优点及其发展史

🎥 屿小夏 : 个人主页 🔥个人专栏 : Java入门到精通 🌄 莫道桑榆晚,为霞尚满天! 文章目录 一. Java语言概述与优势1.1 Java的概述1.2 Java语言的优势 二. Java领域与发展史2.1 Java的使用领域2.…

【Linux20.04-qt5.12.4软件安装与初步使用-qt在Linux使用-记录-笔记】

【Linux-qt软件安装与初步使用-qt在Linux使用-记录-笔记】 1、概述2、环境说明3、步骤总结1、了解并选择自己想要安装的版本2、访问 Qt 官方网站3、在 Qt 网站上找到下载部分(自己想下载)4、下载完成后,给安装程序文件赋予执行权限。5、自动配…

《杂文选刊》明年休刊之随笔

笔者今天偶然发现,网民对于近期登上社交网站热搜榜的一条新闻,既感兴趣又觉迷惑,因此关注度显得较高。 荣登社交网站热搜榜的这条新闻是:12月4日发出“休刊启事 ”,在宣布“《 杂文选刊》2024年1月1日起休刊”的同时&…

django与数据库交互关于当前时间的坑

背景 在线上服务中使用时间进行数据库操作时发现异常,而在本地环境无法成功复现此问题,导致难以进行故障排查。 核心问题 view.py class XxxViewSet(viewsets.ModelViewSet):queryset Xxx.objects.with_status().order_by("status", &quo…

【组合数学】递推关系

目录 1. 递推关系建立2. 常系数齐次递推关系的求解3. 常系数非齐次递推关系的求解4. 迭代法 1. 递推关系建立 给定一个数的序列 f ( 0 ) , f ( 1 ) , . . . , f ( n ) , . . . , f (0), f(1), ..., f(n ),... , f(0),f(1),...,f(n),..., 若存在整数 n 0 n_0 n0​ &#xff…

java--LocalDate、LocalTime、LocalDateTime、ZoneId、Instant

1.为什么要学习JDK8新增的时间 LocalDate:代表本地日期(年、月、日、星期) LocalTime:代表本地时间(时、分、秒、纳秒) LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒) 它们获取对象的方案 2.LocalDate的常用API(…

我的 CSDN 三周年创作纪念日:2020-12-12

本人大叔一枚,自1992年接触电脑,持续了30年的业余电脑发烧爱好者,2022年CSDN博客之星Top58,阿里云社区“乘风者计划”专家博主。自某不知名财校毕业后进入国有大行工作至今,先后任职于某分行信息科技部、电子银行部、金…

UG NX二次开发(C#)-求曲线在某一点处的法矢和切矢

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、在UG NX中创建一个曲线3、直接放代码4、测试案例1、前言 最近确实有点忙了,好久没更新博客了。今天恰好有时间,就更新下,还请家人们见谅。 今天我们讲一下如何获取一条曲线上某一条曲…

仅 CSS 阅读进度条

为了构建一个阅读进度条,即显示用户向下滚动时阅读文章的进度,很难不考虑 JavaScript。但是,事实证明,您也可以使用纯 CSS 构建阅读进度条。 从本质上讲,一个名为 animation-timeline 的新实验性 CSS 属性可以让你指定…

oracle 下载java之前版本

登录oracle官网:Oracle | Cloud Applications and Cloud Platform 点击resource 进入该页面 点击这个 出现之前版本

linux交换分区管理SWAP

概念查看当前的交换分区:free 6.2.5 交换分区管理SWAP 6.2.5.1 概念 作用: ”提升“内存容量,防止OOM(out of memory,内存溢出)。 ​ 对应windows中的虚拟内存。 ​ 从功能上讲,交换分区主要是…