首页 > 系统相关 >Linux tar 打包 gz bz xz zip 压缩

Linux tar 打包 gz bz xz zip 压缩

时间:2024-06-13 09:21:18浏览次数:14  
标签:zip tar mifen gz xz -- test col

Linux tar 打包 gz bz xz zip 压缩

  • date: 2024-06-13

打包的含义是将多个文件变成一个文件(这个文件称为归档文件),可以用 tar 来做这个事情,但是其不会压缩,可以结合使用其它压缩工具,如 gzip、bzip2 或 xz,来创建既打包又压缩的归档文件,这就是经常看到的压缩包了。

scp -Cpr 传输大量小文件时,发现比较慢,gz 压缩后传输快些,当然有些时间花在压缩上了,感觉先压缩打包再传输比传输时压缩要快些、可靠些

打包(不压缩)

下面的命令含义是将 test 文件夹打包,并将打包后的文件命名为 test.tar

tar -cvf test.tar test

参数说明:c代表创建(create),v代表详细输出(verbose),f 指定归档文件名,这里面 cf 是必须要写的,v 可选。该命令会覆盖操作,并且不会进行询问

解包则是

tar -xf test.tar

参数说明:x 表示提取文件

例子

$ tree test/   # 查看文件夹结构
test/
├── log
│   └── test.txt
├── main.py
├── README.md
├── src
│   └── test.py
└── temp
    └── temp.pyc

$ tar -cvf test.tar test   # 打包
test/
test/temp/
test/temp/temp.pyc
test/log/
test/log/test.txt
test/src/
test/src/test.py
test/main.py
test/README.md

$ ls -l test.tar
-rw-r--r-- 1 mifen mifen 10240  6月12日 16:40 test.tar
$ rm test.tar

$ tar -cf test.tar test   # 打包,不输出详细信息,可以看到不输出所有文件路径了
$ ls -l test.tar
-rw-r--r-- 1 mifen mifen 10240  6月12日 16:41 test.tar

打包压缩

下面的命令含义是将 test 文件夹打包,并将打包后的文件重命名

tar -czf test.tar.gz test
tar -cjf test.tar.bz2 test
tar -cJf test.tar.xz test

参数说明:z、j、J 分别代表 gzip、bzip2、xz 压缩算法

  1. gzip
    • 压缩和解压速度相对较快
    • 压缩率适中
    • 文件扩展名通常为.gz
  2. bzip2
    • 压缩率比gzip高,但压缩和解压速度较慢
    • 适合对压缩率有较高要求,而对处理速度要求不高的场景
    • 文件扩展名通常为.bz2
  3. xz
    • 提供了非常高的压缩率,但压缩和解压速度最慢
    • 适合在存储空间非常有限,且对压缩率有极高要求的场景
    • 文件扩展名通常为.xz

解压缩这三种压缩包,只需要将上面指令中的参数 c 替换为 x,然后把要打包的文件夹这个参数删除即可,如 tar -xzf test.tar.gz

还有一个不是和 tar 搭配的,而在 windows 上很常见的 zip: zip -r test.zip test ,参数 r 表示递归,其对应的解压命令是 unzip test.zip,默认解压到当前目录,指定目录可以用参数 d

例子

上面 test 文件夹没啥内容,用来做压缩的例子体现不出这个压缩效果的差异,不过和 zip 相比确实领先些。于是用一个包含 7w 文件、38个文件夹、大小为 32G 的文件夹做了压缩,压缩体积由大到小分别是 gz bz2 xz

$ zip -r test.zip test
  adding: test/ (stored 0%)
  adding: test/temp/ (stored 0%)
  adding: test/temp/temp.pyc (stored 0%)
  adding: test/log/ (stored 0%)
  adding: test/log/test.txt (stored 0%)
  adding: test/src/ (stored 0%)
  adding: test/src/test.py (stored 0%)
  adding: test/main.py (stored 0%)
  adding: test/README.md (stored 0%)
$ ls -l test.zip
-rw-r--r-- 1 mifen mifen 1394  6月12日 17:03 test.zip

$ tar -czf test.tar.gz test
$ tar -cjf test.tar.bz2 test
$ tar -cJf test.tar.xz test
$ ls -l test.tar.*
-rw-r--r-- 1 mifen mifen 284  6月12日 16:49 test.tar.bz2
-rw-r--r-- 1 mifen mifen 283  6月12日 16:49 test.tar.gz
-rw-r--r-- 1 mifen mifen 300  6月12日 16:49 test.tar.xz

$ du -sh col_1k_6 # 查看文件夹大小
32G     col_1k_6
$ tree col_1k_6 # 查看文件夹目录结构
...
38 directories, 78569 files
$ tar -czf col_1k_6.tar.gz col_1k_6
$ tar -cjf col_1k_6.tar.bz2 col_1k_6
$ tar -cJf col_1k_6.tar.xz col_1k_6
$ ls -lh col_1k_6.tar*
-rw-rw-r-- 1 mifen mifen 5.2G 6月  12 18:54 col_1k_6.tar.bz2
-rw-rw-r-- 1 mifen mifen 5.9G 6月  12 18:31 col_1k_6.tar.gz
-rw-rw-r-- 1 mifen mifen 1.6G 6月  12 21:21 col_1k_6.tar.xz

refer

Archiving and compression

标签:zip,tar,mifen,gz,xz,--,test,col
From: https://www.cnblogs.com/guilinmifen/p/18245206

相关文章

  • 前端JSZip结合file-saver下载文件打包导出压缩文件
    需求场景:前端拿到下载文件的url,请求并将文件进行分类压缩生成压缩包导出前端导出文件的优点:减轻服务器负担:后端生成压缩文件可能会占用服务器资源和时间。如果压缩的内容很大,可能会导致服务器压力增加,影响其他用户的访问速度。将这些任务转移到前端可以减轻服务器负担,提高......
  • 在Linux中,如何进行备份或归档文件(tar 命令)?
    在Linux中,tar命令是用来打包和压缩文件的常用工具。它可以将多个文件和目录合并成一个单一的归档文件,并且可以选择性地对其进行压缩。以下是使用tar命令进行备份或归档文件的一些基本用法:1.创建归档文件基本命令格式:tar[选项][归档后的文件名][要归档的文件或目录]......
  • star 最多的 Go 语言本地化库|GitHub 2.8K
    ......
  • V-STARS 摄影测量基础
    V-STARS摄影测量基础[!NOTE]本文翻译自GeodeticSystemsInc,原文链接:https://www.geodetic.com/basics-of-photogrammetry/。摄影测量摄影测量基础知识在描述V-STARS系统(Video-SimultaneousTriangulationandResectionSystem)的操作之前,先为那些不熟悉该技术的人简要......
  • Star-ccm+网格划分技巧之网格类型及适用场合
    大家在进行网格划分时有没有遇到这样的情况:1、画网格时间很长;2、画网格到中途发生错误,这时候就要用到并行网格划分(ParallelMeshing)。并行网格划分(ParallelMeshing)就是使用多个内核数来加速网格生成,同时比单个内核创建更大的网格。在对大型零件进行网格划分时,此功能特别有......
  • Honor of Kings 2024.06.03 50star (S35) AFK
    HonorofKings2024.06.0350star(S35)AFK来个赛季S35总结吧,这个赛季结束以后,可能要和【魔兽世界】一样AFK了,手游来说肯定没法子和WOW相比,干啥都是有队友才好玩。单排荣耀王者,基本都是肉肉队伍我玩的基本都是肉,爆发强的英雄,最好可以是万金油,免控那种无脑我不怎么玩......
  • 【CTF MISC】XCTF GFSJ0249 misc_pic_again Writeup(LSB隐写+ZIP压缩包+反汇编)
    misc_pic_againflag=hctf{[a-zA-Z0-9~]*}解法用binwalk扫描,找到zip压缩包。binwalk719af25af2ca4707972c6ae57060238e.png用foremost提取,得到一张看起来一样的图片。foremost719af25af2ca4707972c6ae57060238e.png-o719再次用binwalk扫描,又找到......
  • [stars-one] 星念轻小说下载器
    一款将在线轻小说保存到本地的下载工具软件介绍小说单卷下载小说全卷下载(需VIP)多线程解析和下载下载导出为epub文件自动更新软件使用前需要进行用户登录(邮箱注册)采用会员订阅制,PC版和Android版共用账号普通用户能解析小说但只能选择小说第一卷进行下载!!软件内置......
  • Preview failedUnable to start the previewer. openPreviewerLog to check for detai
    DevEcostudio预览器报错 PreviewfailedUnabletostartthepreviewer.openPreviewerLogtocheckfordetails.有两种原因1.main_page.json     src下的路径是否重复        2.struct关键字声明自定义组件名称是否重复我自己排查出来的......
  • Tarjan
    开始我最爱的tarjan吧。说一句,Tarjan最难的不是算法学习,而是如何使用。有向图的强连通分量有向图的强连通分量,是指在有向图的一块地方,在这块地方里面,每个点都能互相到达,这就叫做一个强连通分量定义这里是OIwiki上的定义强连通的定义是:有向图G强连通是指,G中任意两个结......