linux的压缩软件,Centos7中使用7zip压缩工具

2023-11-05 16:50

本文主要是介绍linux的压缩软件,Centos7中使用7zip压缩工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导读

7-Zip是一个支持7z(它实现了LZMA压缩算法,具有非常高的压缩比)、LZMA2、XZ、ZIP、Zip64、CAB、ARJ、GZIP、BZIP2、TAR、CPIO、RPM、ISO、大多数文件系统映像和DEB格式的文件归档器。RAR格式由于不是免费许可,已经被删除了。

环境

Centos7.7 Minimal

p7zip-16.02

安装

默认Centos7没有安装p7zip安装包,默认源里面也没有这个安装包,需要安装epel源才能安装p7zip安装包。

[root@localhost ~]# yum -y install epel-release

[root@localhost ~]# yum -y install p7zip p7zip-plugins

使用方法

7z命令提供的函数字母与命令行选项类似,但使用时不使用-。这些参数字母告诉命令它需要执行的函数。

压缩文件

创建一个压缩包使用a参数

创建一个7z格式的压缩包:

[root@localhost ~]# 7z a files.7z file1.txt file2.txt file3.txt file4.txt

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive:

4 files, 0 bytes

Creating archive: files.7z

Items to compress: 4

Files read from disk: 0

Archive size: 143 bytes (1 KiB)

Everything is Ok

执行完命令,查看一下是否已经创建7z格式的压缩包

18e03e43ac3bc81eb4995407d4cbd0d5.png

创建一个包含目录的压缩包:

[root@localhost ~]# 7z a gpg.7z .gnupg/

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive:

2 folders, 5 files, 8280 bytes (9 KiB)

Creating archive: gpg.7z

Items to compress: 7

Files read from disk: 2

Archive size: 4157 bytes (5 KiB)

Everything is Ok

[root@localhost ~]#

dcbd4c76f2673248f3c2e3093a529506.png

7zip还可以压缩、解压缩其他格式的压缩包。比如:创建一个.zip格式的压缩包。

[root@localhost ~]# 7z a files.zip file{1..4}.txt

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive:

4 files, 0 bytes

Creating archive: files.zip

Items to compress: 4

Files read from disk: 4

Archive size: 542 bytes (1 KiB)

Everything is Ok

82b1763dd0c905aba7b3d92b704258a0.png

列出压缩包里面的内容

列出压缩包的内容使用l参数:

[root@localhost ~]# 7z l gpg.7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive for archives:

1 file, 4157 bytes (5 KiB)

Listing archive: gpg.7z

--

Path = gpg.7z

Type = 7z

Physical Size = 4157

Headers Size = 278

Method = LZMA2:12k

Solid = +

Blocks = 1

Date Time Attr Size Compressed Name

------------------- ----- ------------ ------------ ------------------------

2020-01-04 18:24:05 D.... 0 0 .gnupg

2020-01-04 18:22:36 D.... 0 0 .gnupg/private-keys-v1.d

2020-01-04 18:24:48 ....A 0 0 .gnupg/S.gpg-agent

2020-01-04 18:22:36 ....A 0 0 .gnupg/pubring.gpg

2020-01-04 18:24:05 ....A 0 0 .gnupg/secring.gpg

2020-01-04 18:22:36 ....A 7680 3879 .gnupg/gpg.conf

2020-01-04 18:24:52 ....A 600 .gnupg/random_seed

------------------- ----- ------------ ------------ ------------------------

2020-01-04 18:24:52 8280 3879 5 files, 2 folders

1f49c6c48696e9c974b52e30cf5528b7.png

解压文件

使用e来解压文件,解压所有文件到当前目录。(不推荐使用)

[root@localhost test]# 7z e gpg.7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive for archives:

1 file, 4157 bytes (5 KiB)

Extracting archive: gpg.7z

--

Path = gpg.7z

Type = 7z

Physical Size = 4157

Headers Size = 278

Method = LZMA2:12k

Solid = +

Blocks = 1

Everything is Ok

Folders: 2

Files: 5

Size: 8280

Compressed: 4157

可以看到所有文件都解压到当前目录了。

e33075372ac31e760ebc325e6e4dc129.png

现在使用x参数解压文件看一下。

[root@localhost test]# 7z x gpg.7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive for archives:

1 file, 4157 bytes (5 KiB)

Extracting archive: gpg.7z

--

Path = gpg.7z

Type = 7z

Physical Size = 4157

Headers Size = 278

Method = LZMA2:12k

Solid = +

Blocks = 1

Everything is Ok

Folders: 2

Files: 5

Size: 8280

Compressed: 4157

可以看到解压出来的文件,按照原来文件的目录形式解压出来的。

631a67ccce758eae1a1325c6f4b19f5b.png

更新压缩包

一段时间之后,需要将一些新文件添加到文件夹中,并且希望将他们添加到压缩包里面,可以不用创建一个新的压缩包,只需要更新现有的压缩包就可以。

首先将test目录压缩

[root@localhost test]# 7z a files.7z test/

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive:

1 folder, 4 files, 0 bytes

Creating archive: files.7z

Items to compress: 5

Files read from disk: 0

Archive size: 158 bytes (1 KiB)

Everything is Ok

2d50f06a9cd11fa0b5322863e30ad655.png

在test文件夹中创建几个文件,然后再更新压缩包:

[root@localhost test]# touch test/file{5..10}.txt

[root@localhost test]# 7z u files.7z test/

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Open archive: files.7z

--

Path = files.7z

Type = 7z

Physical Size = 158

Headers Size = 158

Solid = -

Blocks = 0

Scanning the drive:

1 folder, 10 files, 0 bytes

Updating archive: files.7z

Items to compress: 7

Files read from disk: 0

Archive size: 186 bytes (1 KiB)

Everything is Ok

17a8550e8adde45d8fb05bd79113984a.png

查看一下是否已经添加文件。

[root@localhost test]# 7z l files.7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)

Scanning the drive for archives:

1 file, 186 bytes (1 KiB)

Listing archive: files.7z

--

Path = files.7z

Type = 7z

Physical Size = 186

Headers Size = 186

Solid = -

Blocks = 0

Date Time Attr Size Compressed Name

------------------- ----- ------------ ------------ ------------------------

2020-03-11 14:24:54 D.... 0 0 test

2020-03-11 14:18:22 ....A 0 0 test/file1.txt

2020-03-11 14:24:54 ....A 0 0 test/file10.txt

2020-03-11 14:18:22 ....A 0 0 test/file2.txt

2020-03-11 14:18:22 ....A 0 0 test/file3.txt

2020-03-11 14:18:22 ....A 0 0 test/file4.txt

2020-03-11 14:24:54 ....A 0 0 test/file5.txt

2020-03-11 14:24:54 ....A 0 0 test/file6.txt

2020-03-11 14:24:54 ....A 0 0 test/file7.txt

2020-03-11 14:24:54 ....A 0 0 test/file8.txt

2020-03-11 14:24:54 ....A 0 0 test/file9.txt

------------------- ----- ------------ ------------ ------------------------

2020-03-11 14:24:54 0 0 10 files, 1 folders

68b10903aec9836f8c45cacfb231a455.png

总结

7z格式的压缩比例比ZIP格式的压缩比例高30%-50%。

这篇关于linux的压缩软件,Centos7中使用7zip压缩工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/351203

相关文章

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时