当前位置: 首页 > news >正文

Linux下各种压缩包的压缩与解压

tar 归档,不压缩,常见后缀 .tar

# 将文件夹归档成为一个包
tar cf rootfs.tar rootfs
# 将归档包还原为文件夹
tar xf rootfs.tar # 将归档包还原到路径 a/b/c
tar xf rootfs.tar -C a/b/c

gzip压缩, 常见后缀 .tar.gz .tgz

# 压缩
tar czf rootfs.tar.gz  rootfs
# 解压缩
tar zxf rootfs.tar.gz# 解压到路径 a/b/c
tar zxf rootfs.tar.gz -C a/b/c

bzip2压缩, 常见后缀 .tar.bz2, .tar.bzip2

# 压缩
tar cjf rootfs.tar.bz2 rootfs
# 解压缩
tar jxf rootfs.tar.bz2# 解压到路径 a/b/c
tar jxf rootfs.tar.bz2  -C a/b/c

xz 压缩, 常见后缀 .tar.xz

# 压缩
tar cJf rootfs.tar.xz rootfs
# 解压缩
tar xJf rootfs.tar.xz# 解压到路径 a/b/c
tar xJf rootfs.tar.xz -C a/b/c

lzip压缩, 常见后缀.lz .lzip

# lzip 压缩非Linux内置压缩软件, 需要提前安装
# lzip 和 xz压缩一样采用的是LZMA压缩算法
sudo apt install lzip# 压缩
tar cf rootfs.tar.lz --lzip rootfs
# 解压缩
tar xf rootfs.tar.lz --lzip# 解压到路径 a/b/c
tar xf rootfs.tar.lz --lzip -C a/b/c

lzop压缩, 常见后缀 .tar.lzo .tar.lzop

# lzop压缩使用的是lzop压缩算法
# lzop压缩速度非常快, 压缩比也很高
# lzop 压缩非Linux内置压缩软件, 需要提前安装
sudo apt install lzop# 压缩
tar cf rootfs.tar.lzo --lzop rootfs
# 解压缩
tar xf rootfs.tar.lzo --lzop# 解压到路径 a/b/c
tar xf rootfs.tar.lzo --lzop -C a/b/c

lzma压缩, 常见后缀 .tar.lzma

# lzma 是 xz压缩中默认使用的压缩算法, 所以使用lzma压缩和使用xz压缩是一样的
# 压缩
tar cf rootfs.tar.lzma --lzma rootfs
# 解压缩
tar xf rootfs.tar.lzma# 解压到路径 a/b/c
tar xf rootfs.tar.lzma -C a/b/c

zip压缩, 常见后缀.zip

# 注意, Linux下zip压缩会导致压缩包比原目录还大,解压后可能会变得更大
# 压缩
zip -r rootfs.zip rootfs
# 解压缩
unzip rootfs.zip # 解压到路径 a/b/c
unzip rootfs.zip -d a/b/c

rar压缩, 常见后缀 .rar

# rar 不是Linux内置软件, 需要先安装
sudo apt install rar# 压缩
rar a rootfs.rar rootfs
# 解压缩
rar x rootfs.rar
或者 安装unrar后再解压
sudo apt install unrar
unrar x rootfs.rar# 解压到路径 a/b/c
rar x  rootfs.rar  a/b/c
或者
unrar x  rootfs.rar  a/b/c

7z压缩, 常见后缀 .7z

# 7z 不是Linux内置压缩软件, 需要单独安装
sudo apt install p7zip-full# 压缩
7z a rootfs.7z rootfs
# 解压缩
7z x rootfs.7z# 解压到路径 a/b/c
# 注意 -o 后面紧跟路径, 其间不能有空格
7z x rootfs.7z -oa/b/c
总结
  1. tar 归档后再压缩的包, 都可以 使用 -C 指定解压路径
  2. rar, zip, 7z 都可以自动归档并且压缩
  3. Linux下rar和zip可能会使源文件更大, 大多时候仅仅是用它们解压软件
  4. 各个软件的压缩前后大小对比
83M	    ./rootfs ------ 原目录19M	    ./rootfs.7z
150M    ./rootfs.rar
82M	    ./rootfs.tar
26M	    ./rootfs.tar.bz2
28M	    ./rootfs.tar.gz
19M	    ./rootfs.tar.lz
19M	    ./rootfs.tar.lzma
38M	    ./rootfs.tar.lzo
19M	    ./rootfs.tar.xz
172M	./rootfs.zip
http://www.lryc.cn/news/306644.html

相关文章:

  • 【ctfshow—web】——信息搜集篇1(web1~20详解)
  • GEE入门篇|遥感专业术语(实践操作4):光谱分辨率(Spectral Resolution)
  • c++中模板的注意事项
  • 【代码随想录python笔记整理】第十三课 · 链表的基础操作 1
  • JAVA工程师面试专题-《Mysql》篇
  • @ 代码随想录算法训练营第4周(C语言)|Day22(二叉树)
  • 福特锐界2021plus 汽车保养手册
  • c++进阶路线
  • python中的类与对象(2)
  • Android横竖屏切换configChanges=“screenSize|orientation“避免activity销毁重建,Kotlin
  • 【C语言基础】:操作符详解(二)
  • 模型训练基本结构
  • Redis 数据结构详解:底层实现与高效使用场景
  • Vue2:router-link的replace属性
  • 普中51单片机(DS18B20温度传感器)
  • 2.23C语言学习
  • origin/master master
  • 【数据结构】时间复杂度与空间复杂度
  • 分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
  • 【Git】Git命令的学习与总结
  • 前端工程化面试题 | 18.精选前端工程化高频面试题
  • 大公司的工程师是怎么废掉的...
  • 将yolov8权重文件转为onnx格式并在c#中使用
  • 在Spring Boot启动时禁止自动配置数据源相关的组件、@SpringBootApplication
  • 程序人生:不积跬步无以致千里
  • 通过二叉树例题深入理解递归问题
  • 【Android 协程常见用法】
  • python 进程笔记一 (概念+示例代码)
  • 各中间件数据库默认访问端口总结
  • 鲲鹏arm64架构下安装KubeSphere