锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. Linux关于不同类型压缩文件的解压详解

Linux关于不同类型压缩文件的解压详解

0
  • 软件开发
  • 发布于 2024-08-19
  • 0 次阅读
黄健
黄健

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


安能摧眉折腰事权贵,使我不得开心颜?
------《梦游天姥吟留别》



文章目录

  • Linux关于不同类型压缩文件的解压详解
    • 1. 预览压缩包内容
    • 2. `.rar`
      • 2.1 解压语法
      • 2.2 压缩语法
    • 3. `.zip`
      • 3.1 解压语法
      • 3.2 压缩语法
    • 4. `.tar`
      • 4.1 解压语法
      • 4.2 压缩语法
    • 5. `.gz`
      • 5.1 解压语法
      • 5.2 压缩语法
    • 6. `.tar.gz`
      • 6.1 解压语法
      • 6.2 压缩语法
    • 7. `.xz`
      • 7.1 单线程解压与压缩
        • 7.1.1 单线程解压
        • 7.1.2 单线程压缩
      • 7.2 多线程压缩
    • 8. `.tar.xz`
      • 8.1 单线程解压与压缩
        • 8.1.1 单线程解压
        • 8.1.2 单线程压缩
      • 8.2 多线程解压与压缩
        • 8.2.1 多线程解压
        • 8.2.2 多线程压缩
    • 9 `.bzip2`
      • 9.1 多线程
      • 9.2 解压
      • 9.3 压缩
    • 10. `.tar.bz2`
      • 10.1 单线程解压
      • 10.2 多线程解压


Linux入门专栏
Linux入门学习指南
Linux入门学习指南(二)


Linux关于不同类型压缩文件的解压详解

语法中的字段定义如下:
filename 文件名
dirname 目录名
name 可以是文件名也可以是目录名

1. 预览压缩包内容

vim命令预览压缩包里的内容
语法如下

vim filename.tar.xz

关于不同类型压缩文件的解压如下

2. .rar

对于rar的解压,需要先安装rar工具

sudo apt install rar

2.1 解压语法

解压到当前目录

rar e filename.rar

e表示extract
解压到指定目录

rar x filename.rar dirname/

x表示extract
dirname后需要加/表示目录

2.2 压缩语法

压缩文件

rar a filename.rar dirname

这里dirname可以加/也可以不加/

3. .zip

3.1 解压语法

解压到当前目录

unzip filename.zip

解压到指定目录

unzip filename.zip -d dirname

3.2 压缩语法

压缩文件

zip filename.zip -r dirname

4. .tar

4.1 解压语法

解压到当前目录

tar -xvf filename.tar
参数描述
x解压文件(x表示extract)
v打印详细信息v表示verbose
f指定文件名f表示file

解压到指定目录

tar -xvf filename.tar -C dirname

C 表示解压到指定目录
只要包含tar的文件解压都可以使用-C指定输出目录

4.2 压缩语法

压缩文件

tar -cvf filename.tar files

其中files可以是文件夹名也可以是文件的正则表达式如*.text,files不能使用绝对路径
c 表示压缩compress

5. .gz

5.1 解压语法

解压到当前目录

gzip -d filename.gz

d 表示decompress解压
自动将原来的filename.gz删除并生成解压后的文件
可加选项k保留原文件

gzip -dk filename.gz

k表示keep

5.2 压缩语法

压缩到当前目录

gzip filename

自动将源文件删除并创建filename.gz
gzip的选项
k表示keep表示保留源文件
v表示verbose表示打印详细信息

6. .tar.gz

对tar文件用gzip压缩得到的文件,可以先解压gz,再解压tar,反之先压缩为tar再压缩为gz
当然可以用一条命令完成

6.1 解压语法

解压到当前目录

tar -zxvf filename.tar.gz

z表示gz
解压到指定目录

tar -zxvf filename.tar.gz -C path

6.2 压缩语法

压缩文件

tar -zcvf filename.tar.gz files

其中fiels可以是文件夹也可以是正则表达式如*.txt

7. .xz

xz格式压缩率极高,但是压缩和解压极慢

7.1 单线程解压与压缩

7.1.1 单线程解压

解压到当前目录

xz -d filename.xz

会自动删除源文件生成一个filename文件
可用k参数保存源文件

xz -dk filename.xz

k参数表示keep
解压为指定文件名

xz -dc filename.xz > filenamne2

c表示压缩文件输出到stdout 不删除源文件

7.1.2 单线程压缩

压缩到当前目录

xz -z filename

会自动将源文件删除,生成filename.xz文件可用k出纳户保存源文件

xz -zk filename

7.2 多线程压缩

多线程压缩

xz -zkT0 filename

T表示使用多线程,后面跟线程数,如果是0则表示使用机器核心数的个数同等数量的线程进行压缩
该方法只能压缩文件,多线程压缩目录方法可参考.tar.xz

8. .tar.xz

把文件先打包后压缩为xz
解压时可以先解压为xz然后再解压tar
可一条命令完成压缩和解压

8.1 单线程解压与压缩

8.1.1 单线程解压

解压

tar xJf name.tar.xz

x表示extract
J表示xz

8.1.2 单线程压缩

压缩

tar cJf name.tar.xz name

c表示compress

8.2 多线程解压与压缩

8.2.1 多线程解压

解压

xz -dcT0 filename.tar.xz | tar -xC dirname

tar不带f选项表示从stdin中读取

8.2.2 多线程压缩

该方法可压缩文件,也可压缩目录

tar -cf - name | xz -T0 -c > filename.tar.xz

注
tar如果输出的文件名是短杠"-",则会输出到stdout
如果xz没有指定源文件则会从stdin中读取

9 .bzip2

压缩和解压过程都会把源文件删除,如需保留可加参数k

9.1 多线程

bpzip2是多线程的处理方式
用pbzip2进行压缩和解压,如不指定线程数,自动检测能用多少个线程

9.2 解压

解压语法

pbzip2 -db线程数 filename.bz2

生成文件filename,自动删除filename.bz2

9.3 压缩

压缩语法

pbzip2 -zp线程数 filename

生成文件filename.bz2
参数和描述
--fast 牺牲压缩率,提高压缩和解压速度
--best 默认参数,牺牲压缩速度,提高压缩率

10. .tar.bz2

10.1 单线程解压

解压语法

tar -cjf name.tar.bz2 name

10.2 多线程解压

解压语法

bpzip2 -cdp线程数 b.tar.bz2 | tar -xC dirname

感谢阅读,祝君暴富!

原文链接: https://hanshan.blog.csdn.net//article/details/139771265

标签: #Linux 85 #软件开发 1171
相关文章

万字:支付“核心系统”详解 2024-11-02 15:33

专栏作者:隐墨星辰 \| 主编:陈天宇宙 这篇文章也尝试化繁为简,探寻支付系统的本质,讲清楚在线支付系统最核心的一些概念和设计理念。 虽然支付行业已经过了风头最劲的时光,但跨境支付仍然在蓬勃发展,每年依然有很多新人进入这个行业,这篇文章尝试为这些刚入行的新人提供一点帮助。 文章只介绍一些支付行业十几

资深支付架构师视角:实战从问题定义到代码落地的完整套路 2024-11-02 15:33

前言 今天从一个实际案例入手,介绍站在架构师的角度,如何识别并定义问题,提炼需求,技术方案选型,再到详细设计,最后利用AI的能力协助写出核心的代码,验证与调优。 解决问题存在一定的模式,也可以称之为框架,总结出自己的思考和解题框架,以后再碰到同类型的问题就可以如庖丁解牛一样容易。 很多年前,我写代码

Spring 实现 3 种异步接口 2024-10-18 09:07

大家好,我是苏三~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地

重学SpringBoot3-集成Redis(五)之布隆过滤器 2024-10-08 11:24

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器? * 基本概念 适用场景 2. 使用 Redis 实现布隆过滤器 * 项目依赖 Redis 配置

设计模式第16讲——迭代器模式(Iterator) 2024-10-08 11:24

一、什么是迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 二、角色组成 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.