Linux压缩和解压缩(tar, zip, bz2, 7z, xz, rar, etc)

目录

1. 前言

2. tarball压缩与解压

3. gz文件压缩与解压缩

4. zip文件[解]压缩

5. bz2文件[解]压缩

5. 7z文件[解]压缩 

6. Xz文件[解]压缩 

7. Rar文件压缩与解压缩

8. 性能比较


1. 前言

        汇总简介linux系统中常见各种文件压缩格式,包括tarball, zip, bz2, 7z, xz, rar等等的压缩和解压缩。本文中只介绍所涉及到的工具或命令常见使用方法,更详细更高端的使用方法可以用"cmd --help"的方式进行查看。

2. tarball压缩与解压


The tar command is the most used command to archive multiple files into a tarball — a common Linux file format that is similar to zip format, with compression being optional. 用tar将文件打包,可以压缩也可以不压缩。当然通常来说会以压缩的形式进行打包。

This command is quite complex with a long list of functions such as adding new files into an existing archive, listing the content of an archive, extracting the content from an archive, and many more. Check out some practical examples to know more about other functions. 或者使用“tar --help”查看手册。

tarball压缩的常用命令格式:

tar -czvf my-new-archive.tar.gz file1 file2 ... # 将所列文件打包压缩
tar -czvf my-new-archive.tar.gz * # 将当前目录下所有文件打包压缩

tar -czvf my-new-archive.tgz /path/to/folder # 将指定目录下所有文件打包压缩

其中:

“c” 表示create,即创建压缩包;

“z”表示指定用gzip进行压缩,未指定的话就只是单纯的打包;

“v”表示verbose,即解压过程中会打印出详细的解压信息,不指定的话工具会默默地干活了事

“f”表示指定待处理文件

注意压缩文件后缀并非必需。但是通常带个后缀可以让人知道这是一个什么文件,常用的就是.tar.gz或者更加简洁一点的tgz。

文件解压的常用命令格式:

与“c”相对,“x”表示extract,即提取,解压缩。

tar -xzvf file.tar.gz  #    解压并生成在当前目录下

3. gz文件压缩与解压缩

当然,如果是单个文件的压缩处理的话,就直接用gzip也可以。

gzip bigfile

gunzip bigfile.gz

gzip执行的是in-place压缩,即压缩完后,原始文件被所生成的bigfile.gz所替代。

4. zip文件[解]压缩


Use the zip command to compress your files into a zip archive, and use the unzip command to extract the zipped files from a zip archive.

        解压缩*.zip文件:

unzip filename.zip   

        压缩*.zip文件:

zip name-of-zip-archive filename1 filename2 filename3

zip name-of-zip-archive *

zip -r name-of-zip-archive /Path/To/Folde

5. bz2文件[解]压缩

        file.bz2文件创建方法:

bzip2 bigfile

        As with the gzip command, bzip2 will compress the file that you select "in place", leaving only the original file.


        file.bz2文件解压缩方法:

tar -jxvf   file.bz2

bunzip2  file.bz2

 

5. 7z文件[解]压缩 

        不同版本的linux系统下命令可能会略有不同。 

7za x  file.7z  # 解压缩,redhat

7za a file.7z folderpath  # 压缩,redhat

6. Xz文件[解]压缩 


Xz is a popular algorithm for compressing files based on the LZMA algorithm. By convention, the name of a tar archive compressed with xz ends with either .tar.xz or .txz. 

        Xz文件创建

xz bigfile

        A relative newcomer to the compression command team, xz is a front runner in terms of how well it compresses files. Like (gzip, bzip), you only need to supply the file name to the command. Again, the original file is compressed in place.

        Xz文件解压(整个文件包)

tar -xf archive.tar.xz

tar -xvf archive.tar.xz

tar -xf archive.tar.xz -C extract-to-path

tar -xf archive.tar.xz --directory extract-to-path

xz -d bigfile.xz 

unxz bigfile.xz

         

        也可以解压某个或某些文件或文件夹:

tar -xf archive.tar.xz path-to-file1 path-to-file2 

tar -xf archive.tar.xz dir1 dir2

tar -xf archive.tar.xz --wildcards '*.png'

        也可以不解压只列出压缩包内容

        使用这个命令,需要指定待解压文件的精确的文件名(含路径)。当待解压包非常大,而只需要从中提取少量文件时可以用这种方法解压。如果要知道压缩包中有什么文件时,可以用"--list"或者“-t”选项。甚至还可以用通配符来指定提取某些有共同特征的文件。

Xz压缩文件创建

tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.

tar -cf archive.tar dir  # Create archive.tar from the specified directory.

7. Rar文件压缩与解压缩

Another way to compress files on Linux via the terminal is with Rar. Rar is a free utility that allows those who install it to interact with the RAR archive format. Rar is a proprietary format, so this tool is incredibly useful if you have RAR archives on your Linux PC or know someone who uses the format.

To compress files in with the Rar utility in Linux, you must first install the program. The reason that this program must be installed is that Unrar supports a proprietary format, and many Linux distributions don’t like that fact. 

rar文件压缩生成方法:

rar a -r my-rar-archive.rar /home/username/path/to/folder/

rar a my-rar-archive.rar /home/username/path/to/file.file

rar文件解压缩方法: 

unrar my-rar-archive.rar

8. 性能比较

        论压缩率:xz > bz2 > gz, tgz, zip

        论运行时间,恰与压缩率相反。这符合“No free lunch principle”,压缩率是以更复杂的运算换取的。

        顺便说一句,解压缩通常比压缩要快得多。

        bzip2gzip 和xz等是用压缩文件替换原文件,而tar,zip则会保留源文件。 

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

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

相关文章

编译一个魔兽世界开源服务端Windows需要安装什么环境

编译一个魔兽世界开源服务端Windows需要安装什么环境 大家好我是艾西,去年十月份左右wy和bx发布了在停服的公告。当时不少小伙伴都在担心如果停服了怎么办,魔兽这游戏伴随着我们渡过了太多的时光。但已经发生的事情我们只能顺其自然的等待GF的消息就好了…

平均情况时间复杂度

// n表示数组array的长度 int find(int[] array, int n, int x) {int i 0;int pos -1;for (; i < n; i) {if (array[i] x){ pos i; break;}}return pos; } 通过以上代码&#xff0c;我们分析一下平均情况时间复杂度。 以上代码要查找的变量 x 在数组中的位置&#xff…

2023哪款蓝牙耳机性价比高?200左右高性价比蓝牙耳机推荐

现如今的蓝牙耳机越来越多&#xff0c;人们在选择时不免纠结&#xff0c;不知道选什么蓝牙耳机比较好&#xff1f;针对这个问题&#xff0c;我来给大家推荐几款性价比高的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xff1a;299 蓝牙版本&am…

【文件描述符|重定向|缓冲区】

1 C语言文件操作的回顾 这块博主在讲解C语言时就已经做了很详细的讲解&#xff0c;这里就不详细讲了&#xff0c;直接给出代码。 写操作&#xff1a; #include<stdio.h> #include<stdlib.h> #include<errno.h> #define LOG "log.txt" …

3DES实验 思考与练习:

T1&#xff1a;关于3DES的分析 和 库函数的思考——完全领悟了&#xff01;&#xff01;&#xff01; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <openssl/des.h> /***********************************************…

【pyTorch学习笔记④】PyTorch基础·中篇

文章目录 三、Numpy与Tensor3.Tensor的索引4.Tensor的广播机制5.逐元素操作6.归并操作7.比较操作8.矩阵操作9.PyTorch与Numpy的比较 相关推荐 三、Numpy与Tensor 3.Tensor的索引 &#xff08;1&#xff09;item&#xff1a;若Tensor为单元素&#xff0c;则返回标量&#xff0…

对偶问题和KKT条件

KKT条件 对于不等式约束优化问题 min ⁡ f ( x ) s . t . g ( x ) ≤ 0 \min\quad f(x)\\ {\rm s.t.}\quad g(x)\leq 0 minf(x)s.t.g(x)≤0 拉格朗日函数为 L ( x , λ ) f ( x ) λ g ( x ) L(x,\lambda)f(x)\lambda g(x) L(x,λ)f(x)λg(x) 。 KKT条件包括 拉格朗日函…

工厂方法模式

// 简单工厂模式 #include <iostream> #include <string>// 抽象产品类 class Product { public:virtual ~Product() {}virtual std::string getName() 0; };// 具体产品类A class ProductA : public Product { public:std::string getName() {return "Produ…

(抄送列表,年会抽奖)笔试强训

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 目录 文章目录 一、[编程题]抄送列表 二、[编程题]年会抽奖 一、[编程题]抄送列表 链接&#xff1a;抄送列表__牛客网 来源&#xff1a;牛客网 题目&#xff1a; NowCoder每天要处理许多邮…

ChatGPT实现服务器体验沙箱

服务器体验沙箱 IT 人员在学习一门新技术时&#xff0c;第一个入门门槛通常都是"如何在本地安装并成功运行"。因此&#xff0c;很多技术的官网都会通过沙箱技术&#xff0c;提供在线试用的 playground 或者按步模拟的 tour。让爱好者先在线尝试效果是否满足预期&…

MATLAB函数封装2:QT调用封装函数

在利用MATLAB进行封装函数之后&#xff0c;最主要的目的是对函数进行调用&#xff0c;能够对矩阵运算和其他算法的运行进行快捷处理。 在有了MATLAB函数之后封装成DLL文件之后&#xff0c;在QT中添加动态链接库&#xff0c;就可以实现函数的调用过程&#xff0c;这个过程相对简…

选择云原生是企业进行技术变革的必经之路

前言 众所周知&#xff0c;云计算领域的蓬勃发展&#xff0c;让越来越多的企业将自己的业务搬到云上&#xff0c;上云已经成为大部分企业的首选操作。无论是头部的中大型企业&#xff0c;还是普通的微小企业&#xff0c;企业业务是亘古不变的核心&#xff0c;这关系着企业的命脉…

7.0、Java继承与多态 - 多态的特性

7.0、Java继承与多态 - 多态的特性 面向对象的三大特征&#xff1a;封装性、继承性、多态性&#xff1b; extends继承 或者 implements实现&#xff0c;是多态性的前提&#xff1b; 用学生类创建一个对象 - 小明&#xff0c;他是一个 学生&#xff08;学生形态&#xff09;&…

彻底告别手动配置任务,魔改xxl-job!

分析 改造 1、接口调用 2、创建新注解 3、自动注册核心 4、自动装配 测试 测试后 XXL-Job是一款非常优秀的任务调度中间件&#xff0c;其轻量级、使用简单、支持分布式等优点&#xff0c;被广泛应用在我们的项目中&#xff0c;解决了不少定时任务的调度问题。不仅如此&a…

TIM-定时器——STM32

TIM-定时器——STM32 TIM(Timer)定时器 定时器可以对输入的时钟进行计数&#xff0c;并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元&#xff0c;在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能&#xff0c;而且还包…

Mybatis方式完成CRUD操作

Mybatis方式完成CRUD操作 文章目录 Mybatis方式完成CRUD操作1、java以Mybatis方式操作DB1.1、配置数据源-创建 resources/mybatis-config.xml1.2、创建java bean-Monster1.3、配置Mapper接口声明方法1.4、配置xxMapper&#xff0c;完成SQL配置,实现CRUD操作1.5、Test测试 2、需…

jvm调优策略

jvm调优主要是内存管理方面的调优&#xff0c;包括各个代的大小&#xff0c;GC策略等。 代大小调优 JVM 中最大堆大小有三方面限制&#xff1a;相关操作系统的数据模型&#xff08;32-bt还是64-bit&#xff09;限制&#xff1b;系统的可用虚拟内存限制&#xff1b;系统的可用物…

第三十二章 Unity Mecanim动画系统(上)

在上一章节中&#xff0c;我们介绍了Unity的旧版动画系统&#xff0c;本章节来介绍新版的Mecanim动画系统。新版的Mecanim动画系统实际是对旧版动画系统的升级。新版的Mecanim动画系统仍然是建立在动画片段的基础上的&#xff0c;只不过它给我们提供了一个可视化的窗口来编辑动…

R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习

详情点击链接&#xff1a;R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习 Meta分析的选题与文献检索 Meta分析Meta分析的选题策略文献检索数据库精确检索策略&#xff0c;如何检索全、检索准文献的管理与清洗&#xff0c;如何制定文献纳入排除标准文献数据获取技…

搭建网站使用轻量云服务器怎么样?

​  搭建网站实际上可以从轻量云服务器租用中受益匪浅。如果您正在为个人网站寻找更多的低成本和轻运维&#xff0c;您可以考虑将轻量云服务器作为一个可行的选择。它提供独享资源、独立的IP地址、专属防火墙以及比传统虚拟主机更好的安全性能。本文将介绍轻量云服务器对建站…
最新文章