Debian/Ubuntu 、Fedora 、Arch Linux, 在Linux上,对文本文件进行多线程压缩 xz、pxz、zstd、7z、lrzip

Debian/Ubuntu 、Fedora 、Arch Linux, 在Linux上,对文本文件进行多线程压缩 xz、pxz、zstd、7z、lrzip

  • 前言对比
  • 多线程压缩
  • 1. 使用 `pxz`
    • 安装 `pxz`
    • 使用 `pxz`
  • 2. 使用 `xz` 的 `-T` 选项
    • 使用 `xz -T`
  • 3. 其他压缩命令
    • 1. 使用 `gzip`
    • 2. 使用 `bzip2`
    • 3. 使用 `xz`
    • 4. 使用 `7z`
    • 5. 使用 `zstd`
    • 6. 使用 `tar` 和压缩工具结合
  • 4. 解压缩
  • 总结

前言对比

xz 通常提供非常高的压缩比,特别适合文本文件。它使用 LZMA2 算法,压缩效果优于 gzip 和 bzip2。
zstd 是一种现代的压缩算法,提供了很好的压缩比和速度。虽然在某些情况下它的压缩比可能不如 xz,但它在速度上表现优异。
bzip2 也可以提供良好的压缩比,尤其在处理文本文件时。
7z(p7zip)能够提供极高的压缩比,尤其适合文本和混合类型文件。
lrzip 是一种专门设计用于大文件的压缩工具,能够提供非常高的压缩比,尤其在处理重复数据时。


xz 本身并不支持多线程压缩,但可以使用 pxzxz -T 选项来实现多线程压缩。
以下是如何使用这两种方法的说明:

多线程压缩

1. 使用 pxz

pxzxz 的一个并行版本,能够利用多个 CPU 核心进行压缩。

安装 pxz

在大多数 Linux 发行版中,你可以通过包管理器安装 pxz

# 对于 Debian/Ubuntu
sudo apt-get install pxz

# 对于 Fedora
sudo dnf install pxz

# 对于 Arch Linux
sudo pacman -S pxz

使用 pxz

使用 pxz 压缩文件的基本命令如下:

pxz -9 filename.txt

这里的 -9 表示使用最高压缩级别。

2. 使用 xz-T 选项

在较新的版本的 xz 中,可以使用 -T 选项指定使用的线程数。

使用 xz -T

例如,要使用 4 个线程进行压缩,可以这样做:

xz -T4 -9 filename.txt

这里的 -T4 表示使用 4 个线程,-9 表示使用最高压缩级别。

3. 其他压缩命令

在Linux中,可以使用多种工具对文本文件进行超高压缩。以下是一些常用的方法和工具:

1. 使用 gzip

gzip 是一种常见的压缩工具,适合压缩文本文件。

gzip filename.txt

这将生成一个名为 filename.txt.gz 的压缩文件。

2. 使用 bzip2

bzip2 通常比 gzip 提供更好的压缩率,但速度较慢。

bzip2 filename.txt

这将生成一个名为 filename.txt.bz2 的压缩文件。

3. 使用 xz

xz 可以提供更高的压缩比,尤其适合文本文件。

xz filename.txt

这将生成一个名为 filename.txt.xz 的压缩文件。

4. 使用 7z

7zp7zip 包的一部分,能够提供非常高的压缩比。

7z a filename.7z filename.txt

5. 使用 zstd

zstd 是一种快速且高效的压缩算法,适合对大文件进行压缩。

zstd filename.txt

这将生成一个名为 filename.txt.zst 的压缩文件。

6. 使用 tar 和压缩工具结合

如果你想同时压缩多个文件,可以使用 tar 来打包文件,然后再进行压缩。例如,使用 gzip

tar -czf archive.tar.gz file1.txt file2.txt

4. 解压缩

对于上述所有工具,你可以使用相应的解压命令:

gzip: gunzip filename.txt.gz
bzip2: bunzip2 filename.txt.bz2
xz: unxz filename.txt.xz
7z: 7z x filename.7z
zstd: unzstd filename.txt.zst
tar: tar -xzf archive.tar.gz

选择合适的工具取决于你的需求,如压缩比、速度以及是否需要处理多个文件等。

总结

  • 如果你需要一个简单的多线程解决方案,可以使用 pxz
  • 如果你的 xz 版本支持 -T 选项,也可以直接使用 xz 来进行多线程压缩。

根据你的需求选择合适的工具,通常 pxz 在多线程压缩方面的性能表现会更好。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

open-instruct - 训练开放式指令跟随语言模型

文章目录 关于 open-instruct设置训练微调偏好调整RLVR 污染检查开发中仓库结构 致谢 关于 open-instruct github : https://github.com/allenai/open-instruct 这个仓库是我们对在公共数据集上对流行的预训练语言模型进行指令微调的开放努力。我们发布这个仓库,并…

38 基于单片机的宠物喂食(ESP8266、红外、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机,采用L298N驱动连接P2.3和P2.4口进行电机驱动, 然后串口连接P3.0和P3.1模拟ESP8266, 红外传感器连接ADC0832数模转换器连接单片机的P1.0~P1.…

Mac安装及合规无限使用Beyond Compare

文章目录 Beyond CompareBeyond Compare简介Beyond Compare安装Beyond Compare到期后继续免费使用 Beyond Compare Beyond Compare简介 Beyond Compare 是一款由 Scooter Software 开发的文件和文件夹比较工具。它主要用于对比两个文件或文件夹之间的差异,并支持文…

详细分析 npm run build 基本知识 | 不同环境不同命令

目录 前言1. 基本知识2. 构建逻辑 前言 关于部署服务器的知识推荐阅读:npm run build部署到云服务器中的Nginx(图文配置) 1. 基本知识 npm run 是 npm 的一个命令,用于运行 package.json 中定义的脚本,可以通过 “s…

水体分割检测 包含YOLOV,COCO,VOC三种标记的数据集包含 857张图片

说明 水体分割检测指的是利用深度学习模型进行水体区域的分割和检测。YOLO(You Only Look Once)是一种流行的实时目标检测算法,其主要特点是速度快,适合于实时场景下的目标检测。 在水体分割检测中,可以使用YOLO算法来…

20241128解决Ubuntu20.04安装libwxgtk3.0-dev异常的问题

20241128解决Ubuntu20.04安装libwxgtk3.0-dev异常的问题 2024/11/28 16:17 缘起:中科创达的高通CM6125开发板的Android10的编译环境需要。 安装异常:rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ sudo apt-get install libwxgtk3.0-de…

除了 Docker,还有哪些类似的容器技术?

在容器技术领域,除了广为人知的Docker,还有其他一些类似的技术。 Podman是一种无守护进程的容器引擎,主要应用于Linux系统容器管理与运行。与Docker的显著区别在于其无需长期运行的守护进程,这一特性在安全敏感环境中极具价值&…

JAVA:Spring Boot 实现接口防抖的技术指南

1、简述 在 Web 应用中,接口防抖是一种常见的技术手段,用于防止客户端在短时间内多次触发同一接口,从而减轻服务器的负担和防止重复操作。本文将介绍如何在 Spring Boot 项目中实现接口防抖功能,并通过实例展示其应用场景。 2、防…

连续变量的 交叉熵 如何计算 python tensorflow

连续变量的交叉熵通常在机器学习中的回归问题中使用,但它也可以用于分类问题,当概率分布是连续的时。连续变量的交叉熵计算公式如下: 设 \( p(x) \) 是真实概率密度函数,\( q(x) \) 是预测概率密度函数,交叉熵 \( H(p…

gitee:创建仓库,存入本地文件至仓库

一、git下载 git:下载与安装-CSDN博客https://blog.csdn.net/weixin_46001736/article/details/144107485?sharetypeblogdetail&sharerId144107485&sharereferPC&sharesourceweixin_46001736&spm1011.2480.3001.8118 二、创建仓库 1、主页面->右上角新增…

burpsuite(2)最新版burpsuite安装教程

一、安装Java 1.安装jdk21,直接官网下载 下载链接:Java21 2.cmd 输出java(查看java是否已经被安装) 3.java -version(查看java版本) 二、安装burpsuite 4.下载burpsuite最新版本,选择jar方式…

Java 语言的起源发展与基本概念(JDK,JRE,JVM)

Java语言的起源 源起 Java语言最初是由Sun Microsystems公司(该公司于2009年被Oracle公司收购)开发的一种编程语言。其创造者是詹姆斯高斯林(James Gosling),他是一位加拿大计算机科学家。其前身名为Oak(橡…

ELK(Elasticsearch + logstash + kibana + Filebeat + Kafka + Zookeeper)日志分析系统

文章目录 前言架构软件包下载 一、准备工作1. Linux 网络设置2. 配置hosts文件3. 配置免密登录4. 设置 NTP 时钟同步5. 关闭防火墙6. 关闭交换分区7. 调整内存映射区域数限制8. 调整文件、进程、内存资源限制 二、JDK 安装1. 解压软件2. 配置环境变量3. 验证软件 三、安装 Elas…

Maven、JAVAWeb、Servlet

知识点目标 1、MavenMaven是什么Maven项目的目录结构Maven的Pom文件Maven的命令Maven依赖管理Maven仓库JavaWeb项目 2.网络基础知识 3、ServletMaven Maven是什么 Maven是Java的项目管理工具,可以构建,打包,部署项目,还可以管理…

26页PDF | 数据中台能力框架及评估体系解读(限免下载)

一、前言 这份报告详细解读了数据中台的发展历程、核心概念、能力框架及成熟度评估体系。它从阿里巴巴的“大中台,小前台”战略出发,探讨了数据中台如何通过整合企业内部的数据资源和能力,加速业务迭代、降低成本,并推动业务增长…

使用R的数据包快速获取、调用各种地理数据

数据一直是科学研究绕不开的话题,为了方便快捷的获取各种地理数据,许多R包被开发出来,今天介绍一些方便快捷的数据R包。 rnaturalearth 包使 Natural Earth 数据可用。自然地球特征包括 1:10m、1:50m 和 1&#xff1a…

docker的joinsunsoft/docker.ui修改密码【未解决】

docker的joinsunsoft/docker.ui修改密码 前言 这个挺遗憾的,个人能力不足。想修改密码是不可能了。 因为,系统的密码加密规则不知道。 目前了解到的内容是: 地址是:https://hub.docker.com/r/joinsunsoft/docker.ui服务是用go语…

启动SpringBoot

前言:大家好我是小帅,今天我们来学习SpringBoot 文章目录 1. 环境准备2. Maven2.1 什么是Maven2.2 创建⼀个Maven项⽬2.3 依赖管理2.3.1 依赖配置2.3.2 依赖传递2.3.4 依赖排除2.3.5 Maven Help插件(plugin) 2.4 Maven 仓库2.6 中…

SQL进阶——JOIN操作详解

在数据库设计中,数据通常存储在多个表中。为了从这些表中获取相关的信息,我们需要使用JOIN操作。JOIN操作允许我们通过某种关系(如相同的列)将多张表的数据结合起来。它是SQL中非常重要的操作,广泛应用于实际开发中。本…

JVM(JAVA虚拟机)内存溢出导致内存不足,Java运行时环境无法继续

1、先贴出服务最后打印出来的日志,意思就是给虚拟机分配的内存被用完了,没有可用的内存了,服务运行不了了,被动停服了。详细的日志记录在了/home/user/zx/tomcat/apache-tomcat-8.5.82/bin/hs_err_pid147951.log文件里。 Java Ho…