gzip,bzip2,xz,tar-读书笔记(九)

news2024/12/29 9:38:28

gzip 将文件进行压缩

在Linux系统中,gzip 是一个压缩和解压文件的命令工具。它使用LZ77压缩算法及霍夫曼编码(Huffman Coding)来压缩文件,通常用来减少文件的大小,以节约磁盘空间或减少网络传输的时间。

gzip 命令的常见参数及其作用如下:

  • -c:将压缩的数据输出到标准输出,而不是写入文件。
  • -d 或 --decompress:解压缩文件。
  • -r 或 --recursive:递归地压缩或解压缩目录及其中所有文件。
  • -l 或 --list:列出压缩文件的详细信息,而不解压。
  • -f 或 --force:强制覆盖已存在的文件。
  • -t 或 --test:测试压缩文件是否完整。
  • -v 或 --verbose:在压缩或解压缩时显示详细的过程信息。
  • -S 或 --suffix:指定压缩后文件的后缀,默认是 .gz。

举例:

  1. 解压缩文件:
gzip -dvf myfile.txt.gz

这个命令会解压缩 myfile.txt.gz 并显示解压缩过程中的信息。

需要注意的是,gzip 只能压缩文件,而不能压缩目录。如果需要压缩目录,可以使用 tar 命令与 gzip 结合来实现,即 tar 命令用来打包目录,然后 gzip 用来压缩打包后的文件。

  • 使用 gzip -d 1.txt 进行解压缩文件
  • gzip -vf 1.txt 进行压缩文件并进行展示过程覆盖原文件
  • gzip -l 1.txt.gz 查看压缩文件中的文件列表
  • gzip -S .zip 1.txt 将文件压缩成zip格式的压缩文件

那个 zcat/zmore/zless 则可以对应于cat/more/less 的方式来读取纯文本文件被压缩后的压缩文件!由于 gzip 这个压缩指令主要想要用来取代compress 的,所以不但 compress 的压缩文件可以使用gzip 来解开,同时 zcat 这个指令可以同时读取compress 与 gzip 的压缩文件呦!

此外,使用 gzip 压缩的文件在 Windows 系统中,竟然可以被 WinRAR/7zip 这个软件解压缩呢


bzip2 将文件进行压缩

在Linux系统中,bzip2 是一个用于数据压缩的工具,它使用了Burrows-Wheeler算法。这个命令通常用来压缩单个文件,或者压缩 tar 归档文件(在这种情况下,通常使用 tar -czv 命令)。压缩后的文件通常具有 .bz2 扩展名。

命令作用:

  • bzip2: 压缩工具,用来压缩文件。
  • bunzip2: bzip2 的解压缩工具,用来解压缩 .bz2 文件。

参数使用:

以下是一些常用的 bzip2 参数:

  • -z 或 --compress:压缩文件。
  • -d 或 --decompress:解压缩文件。
  • -c 或 --stdout:将压缩或解压缩的数据输出到标准输出(通常是终端或命令行界面)。
  • -k 或 --keep:在解压缩时不删除源文件。
  • -f 或 --force:强制压缩或解压缩文件,即使文件不存在或不具有读取权限。
  • -t 或 --test:测试压缩文件的完整性。

使用示例:

  1. 压缩文件

要压缩文件 example.txt,可以使用以下命令:

bzip2 example.txt

这将创建一个名为 example.txt.bz2 的压缩文件,原始文件 example.txt 将会被压缩。

  1. 解压缩文件

要解压缩文件 example.txt.bz2,可以使用以下命令:

bunzip2 example.txt.bz2

这将恢复原始文件 example.txt,而 example.txt.bz2 将被删除(除非使用了 -k 选项)。

请注意,这里提供的是 bzip2 命令的基本使用情况。在实际使用中,可能还需要根据具体情况进行参数的组合和调整。

看上面的范例,你会发现到 bzip2 连选项与参数都跟 gzip 一模一样!只是扩展名由 .gz 变成 .bz2 而已!!你也可以发现到 bzip2 的压缩率确实比 gzip 要好些!不过,对于大容量文件来说,bzip2 压缩时间会花比较久喔!至少比 gzip 要久的多!这没办法~要有更多可用容量,就得要花费相对应的时间!还 OK 啊!


xz 将文件进行压缩

在Linux系统中,xz 是一种数据压缩工具,它使用LZMA算法来压缩文件。xz 命令可以用来压缩文件(xz),解压缩文件(unxz 或 xz -d),或者查看压缩文件的压缩率(xz -l)。

下面是 xz 命令的一些常用参数及其作用:

  • -z 或 --compress:压缩文件。
  • -d 或 --decompress:解压缩文件。
  • -c 或 --stdout:将输出重定向到标准输出,通常与解压缩时使用。
  • -k 或 --keep:压缩或解压缩后保留原始文件。
  • -f 或 --force:强制覆盖已存在的目标文件。
  • -t 或 --test:测试文件是否可以被压缩,但不进行压缩。
  • -0 到 -9:设置压缩的强度,数字越大,压缩率越高,但CPU消耗也越大。

例子

  1. 压缩文件

假设您想压缩一个名为 example.txt 的文件,您可以使用以下命令:

xz example.txt

这将创建一个名为 example.txt.xz 的压缩文件,原始的 example.txt 文件会保持不变。

  1. 解压缩文件

如果您有一个名为 example.txt.xz 的压缩文件,并想要解压缩它,可以使用以下命令:

xz -d example.txt.xz

或者:

unxz example.txt.xz

这将恢复原始文件 example.txt。

虽然 xz 这个压缩比真的好太多太多了!他可以将 gzip 压缩比(压缩后/压缩前)的 21% 更进一步优化到 15% 耶!差非常非常多!不过, xz 最大的问题是...时间花太久了!如果你曾经使用过 xz 的话,应该会有发现,他的运算时间真的比 gzip 久很多喔!

gzip,dzip2,xz的差异

time [gzip|bzip2|xz] -c services > services.[gz|bz2|xz] ”去执行运算结果,结果发现这三个指令的执行时间依序是: 0.019s, 0.042s, 0.261s,看最后一个数字!差了 10 倍的时间耶!所以,如果你并不觉得时间是你的成本考虑,那么使用 xz 会比较好!如果时间是你的重要成本,那么 gzip 恐怕是比较适合的压缩软件喔!

gzip压缩时间要比 dzip2快 dzip2 要比 xz快

xz压缩效果要比 dzip2 效果好 dzip2 要比gzip好

tar 打包指令

tar 命令在Linux系统中用于打包和压缩文件。它通常用于备份文件和目录,以及将文件组合成一个单一的文件,以便于存储或传输。tar 本身不提供压缩功能,但可以与 gzip 或 bzip2 等工具结合使用来压缩文件。

tar 命令的基本语法是:

tar [选项] 文件1 文件2 文件3 ...

这里是一些常见的 tar 命令选项及其说明:

  • -c:创建一个新的归档文件。
  • -x:解压缩归档文件。
  • -z:使用 gzip 进行压缩(与 -c 一起使用时)。
  • -j:使用 bzip2 进行压缩(与 -c 一起使用时)。
  • -v:在处理文件时显示详细信息。
  • -f:指定归档文件的名称。
  • -t:列出归档文件中包含的文件。
  • -r:向已存在的归档文件中追加文件。
  • -u:更新已存在于归档文件中的文件。
  • -p:保持文件权限不变。

例子:

  1. 创建一个包含多个文件的压缩归档文件:
tar -cvzf archive.tar.gz file1 file2 file3

这个命令会创建一个名为 archive.tar.gz 的压缩归档文件,其中包含 file1、file2 和 file3。

  1. 解压缩一个归档文件:
tar -xvzf archive.tar.gz -C /path/to/directory

这个命令会解压缩 archive.tar.gz 文件,并将解压缩后的文件放在 /path/to/directory 目录中。

  • 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

  • 查 询:tar -jtv -f filename.tar.bz2

  • 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

  • 解压zip压缩格式的压缩文件

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot集成JWT快速入门Demo

目录 1. 概述 2. JWT的请求流程 3. Session认证与JWT认证的区别 4 JWT优缺点 4.1 优点 4.2 缺点 5. 快速入门 5.1 创建工程 5.2 导入依赖 5.3 添加配置文件 5.4 添加Swagger2配置类 5.5 添加JWT工具类 5.6 添加entity、service、controller类 5.7 添加拦截器类 …

【Linux】CentOS 7安装后没有图形界面

专栏文章索引:Linux 有问题可私聊:QQ:3375119339 目录 一、项目场景 二、问题描述 三、原因分析 四、解决方案 1.当前处于命令行界面,可以切换为图形界面 2.安装时没有安装图形界面,选择了Minimal Install 3.下…

【Linux】磁盘分区扩容到原有目录(LVM)

一、LVM基本组成 LVM(Logical Volume Manager,逻辑卷管理)逻辑卷管理器是负责管理物理卷、卷组和逻辑卷的软件层。它提供了创建、调整和管理这些组件的命令和工具,使得用户能够灵活地调整和管理磁盘空间。 1.物理卷(PV,Physical…

基于Springcloud可视化项目:智慧工地可视化大数据云平台源码

目录 技术架构 智慧工地系统在实际推行过程中遇到的问题 智慧工地接纳程度较低 基础设施条件有待完善 智慧工地整体生态尚未完善 智慧工地平台各功能模块 施工过程工信程息信管息理管模理块 人员管理模块 生产管理模块 技术管理模块 质量管理模块 安全管理模块 绿…

免费的 ChatGPT 网站(六个)

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…

关于GDAL计算图像坐标的几个问题

关于GDAL计算图像坐标的几个问题_gdal读取菱形四角点坐标-CSDN博客 这篇文章写的很好,讲清楚了图像行列号与图像点坐标(x,y)对应关系,以及图像行列号如何转为地理坐标的,转载一下做个备份。 1.关于GDAL计算图像坐标的…

【Python】使用OPC UA创建数据服务器

目录 准备工作服务器设置创建或获取节点设置节点值启动服务器查看服务器客户端总结 在工业自动化和物联网(IoT)领域,OPC UA(开放平台通信统一架构)已经成为一种广泛采用的数据交换标准。它提供了一种安全、可靠且独立于…

51单片机-独立按键模块

1. 独立按键控制LED状态 轻触按键实现原理&#xff1a;按下时&#xff0c;接通&#xff0c;通过金属弹片受力弹动来实现接通和断开。 松开按键 按下之后&#xff1a;就会被连接 同时按下K1和K2时&#xff0c;P2_0,接口所连LED灯才亮。 #include <REGX52.H> void ma…

【opencv】示例-travelsalesman.cpp 使用模拟退火算法求解旅行商问题

// 载入 OpenCV 的核心头文件 #include <opencv2/core.hpp> // 载入 OpenCV 的图像处理头文件 #include <opencv2/imgproc.hpp> // 载入 OpenCV 的高层GUI(图形用户界面)头文件 #include <opencv2/highgui.hpp> // 载入 OpenCV 的机器学习模块头文件 #includ…

Devin AI: The World’s First AI Software Engineer

Devin AI是Cognition AI团队推出的一款名为Devin的人工智能软件工程师&#xff0c;它被誉为世界上第一个完全自主的AI软件工程师。Devin AI在2024年3月12日发布&#xff0c;并在SWE-bench编码基准测试中设立了新的技术标杆。 Devin AI具备多项强大的能力&#xff0c;包括学习如…

简述OSI七层模型及每层的功能任务和协议

文章目录 一、OSI七层模型的功能和任务1.物理层2.数据链路层3.网络层4.传输层5.会话层6.表示层7. 应用层 二、OSI七层模型每层的协议 开放系统互连参考模型&#xff08;Open System Interconnect&#xff0c;简称OSI&#xff09;是国际标准化组织(ISO)和国际电报电话咨询委员会…

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

SpringBoot+FreeMaker

目录 1.FreeMarker说明2.SpringBootFreeMarker快速搭建Pom文件application.properties文件Controller文件目录结构 3.FreeMarker数据类型3.1.布尔类型3.2.数值类型3.3.字符串类型3.4.日期类型3.5.空值类型3.6.sequence类型3.7.hash类型 4.FreeMarker指令assign自定义变量指令if…

[大模型]DeepSeek-7B-chat FastApi 部署调用

DeepSeek-7B-chat FastApi 部署调用 DeepSpeek 介绍 由70亿个参数组成的高级语言模型 DeepSeek LLM。它是在一个包含2万亿个英文和中文代币的庞大数据集上从零开始训练的。为了促进研究&#xff0c;DeepSeek 已经为研究社区开放了DeepSeek LLM 7B/67B Base 和 DeepSeek LLM 7…

软考129-上午题-【软件工程】-McCabe度量法+白盒测试真题

一、真题 真题1&#xff1a; 简单路径&#xff1a; 简单路径是指在一个图中&#xff0c;从一个顶点出发&#xff0c;经过一系列不同的顶点&#xff0c;最终到达另一个顶点&#xff0c;且在整个过程中&#xff0c;除了起点和终点外&#xff0c;每个顶点只被访问一次的路径。在简…

Linux 目录结构与基础查看命令

介绍 目录结构如下 /bin&#xff1a;存放着用户最经常使用的二进制可执行命令&#xff0c;如cp、ls、cat等。这些命令是系统管理员和普通用户进行日常操作所必需的。 /boot&#xff1a;存放启动系统使用的一些核心文件&#xff0c;如引导加载器&#xff08;bootstrap loader…

商业银行业务与管理

商业银行业务与管理 资产负债表恒等式中国商业银行的资产负债表商业银行的业务种类银行运行管理的案例银行管理的基本准则流动性管理资产和负债管理资本充足管理 资产负债表恒等式 &#xff08;一般&#xff09;资产负债所有者权益 一个公司的资产是由负债和所有者权益所构成…

飞驰云联入选金融信创生态实验室「金融信创优秀解决方案」

近日&#xff0c;由中国人民银行领导、中国金融电子化集团有限公司牵头组建的金融信创生态实验室发布了第三期金融信创优秀解决方案&#xff0c;Ftrans飞驰云联“文件数据传输解决方案”成功入选&#xff01; 本次金融信创优秀解决方案遴选经方案征集、方案初审、专家评审等多环…

【MATLAB源码-第188期】基于matlab的64QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术&#xff0c;作为一种高效的调制方案&#xff0c;能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…

《自动机理论、语言和计算导论》阅读笔记:p172-p224

《自动机理论、语言和计算导论》学习第 8 天&#xff0c;p172-p224总结&#xff0c;总计 53 页。 一、技术总结 1.Context-Free Grammar(CFG) 2.parse tree (1)定义 p183&#xff0c;But perhaps more importantly, the tree, known as a “parse tree”, when used in a …