精华内容
下载资源
问答
  • 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。 1. tar 只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。 (1)打包归档格式: tar -cvf examples.tar files|dir ...

    常用的格式有: tar, tar.gz(tgz), tar.bz2,

    不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。

    1. tar 只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。

    (1)打包归档格式:

    tar -cvf examples.tar files|dir
    #说明:
    -c, --create  create a new archive 创建一个归档文件
    -v, --verbose verbosely list files processed 显示创建归档文件的进程
    -f, --file=ARCHIVE use archive file or device ARCHIVE  后面要立刻接被处理的档案名,比如--file=examples.tar
    
    #举例:
    tar -cvf file.tar file1       #file1文件
    tar -cvf file.tar file1 file2 #file1,file2文件
    tar -cvf file.tar dir         #dir目录

    (2)释放解压格式:

    tar -xvf examples.tar (解压至当前目录下)
    tar -xvf examples.tar  -C /path (/path 解压至其它路径)
    
    #说明:
    -x, --extract, extract files from an archive 从一个归档文件中提取文件
    
    #举例:
    tar -xvf file.tar
    tar -xvf file.tar -C /temp  #解压到temp目录下

    2. tar.gz tgz (tar.gz和tgz只是两种不同的书写方式,后者是一种简化书写,等同处理) 这种格式是Linux下使用非常普遍的一种压缩方式, 兼顾了压缩时间(耗费CPU)和压缩空间(压缩比率) 其实这是对tar包进行gzip算法的压缩

    (1)打包压缩格式:

    tar -zcvf examples.tgz examples (examples当前执行路径下的目录)
    
    说明:
    -z, --gzip filter the archive through gzip 通过gzip压缩的形式对文件进行归档
    
    举例:
    tar -zcvf file.tgz dir #dir目录

    (2)释放解压格式:

    tar -zxvf examples.tar (解压至当前执行目录下)
    tar -zxvf examples.tar  -C /path (/path 解压至其它路径)
    
    举例:
    tar -zcvf file.tgz
    tar -zcvf file.tgz -C /temp

    3 tar.bz

    Linux下压缩比率较tgz大,即压缩后占用更小的空间,使得压缩包看起来更小。 但同时在压缩,解压的过程却是非常耗费CPU时间。

    (1)打包压缩格式:

    tar -jcvf examples.tar.bz2 examples   (examples为当前执行路径下的目录)
    
    说明:
    -j, --bzip2 filter the archive through bzip2 通过bzip2压缩的形式对文件进行归档
    
    举例:
    tar -jcvf file.tar.bz2 dir #dir目录

    (2)释放解压:

    tar -jxvf examples.tar.bz2 (解压至当前执行目录下)
    tar -jxvf examples.tar.bz2  -C /path (/path 解压至其它路径)
    
    举例:
    tar -jxvf file.tar.bz2
    tar -jxvf file.tar.bz2 -C /temp

    4 gz 压缩: gzip -d examples.gz examples

    解压: gunzip examples.gz

    5 zip zip 格式是开放且免费的,所以广泛使用在 Windows、Linux、MacOS 平台,要说 zip 有什么缺点的话,就是它的压缩率并不是很高,不如 rar及 tar.gz 等格式。 压缩: zip -r examples.zip examples (examples为目录)

    解压: zip examples.zip

    6 .rar 压缩: rar -a examples.rar examples

    解压: rar -x examples.rar

    压缩比率,占用时间对比

    为了保证能够让压缩比率较为明显,需选取一个内容较多、占用空间较大的目录作为本次实验的测试。 找了一个大概有23G的目录来测试,首先要明确由于执行环境的变化,误差在所难免

    首先明确一个概念: 压缩比率=原内容大小/压缩后大小,压缩比率越大,则表明压缩后占用空间的压缩包越小

    .tar

    打包:
    time tar -cvf test.tar /usr/test
    时间:
    real    3m20.709s
    user    0m3.477s
    sys     0m42.595s
    
    大小:
    打包前:23214680
    打包后:22202984
    
    耗时:3m20.709s
    压缩比率:22202984/23214680
    
    
    解压:
    time tar -xvf test.tar
    
    大小:
    解压前:22202984
    解压后:23211064
    
    耗时:
    real    2m47.548s
    user    0m4.999s
    sys     1m14.186s

    .tgz

    打包压缩:
    time tar -zcvf test.tgz /usr/test
    时间:
    real    16m30.767s
    user    16m1.394s
    sys     1m7.391s
    
    大小:
    打包前:23211064
    打包后:18949032
    
    耗时:
    压缩比率:
    
    解压:
    tar -zxvf test.tar
    
    大小:
    解压前:18949032
    解压后:23211064
    
    耗时:
    real    3m52.418s
    user    2m46.325s
    sys     1m21.442s

    .tar.bz2

    打包压缩:
    time tar -jcvf test.tar.bz2 /usr/test
    
    时间:
    real    80m39.422s
    user    80m14.599s
    sys     0m58.623s
    
    大小:
    打包前:23211064
    打包后:18728904
    
    耗时:80m39.422s
    压缩比率:
    
    
    解压:
    time tar -jxvf test.tar.bz2
    
    时间:
    real    27m54.525s
    user    27m44.108s
    sys     1m43.645s
    
    大小:
    解压前:18728904
    解压后:23211064

     

    综上结果,初步结论:

    综合起来,在压缩比率上: tar.bz2>tgz>tar 占用空间与压缩比率成反比: tar.bz2<tgz<tar 耗费时间(打包,解压) 打包:tar.bz2>tgz>tar 解压: tar.bz2>tar>tgz 从效率角度来说,当然是耗费时间越短越好

    因此,Linux下对于占用空间与耗费时间的折衷多选用tgz格式,不仅压缩率较高,而且打包、解压的时间都较为快速,是较为理想的选择。

     

    另外,还有一款xz工具,压缩比: xz >biz2 > gzip。压缩时间长的问题可以扩大内存限制、增加线程数。

    官网介绍到: 压缩后的文件大小 gzip 小30%,比bzip2小15%。

    我测试 一个 112M 的文件,xz 压缩完后 4.5M, gz 压缩完后 16M, biz2 缩完后7.6M.

    使用方式:

    xz 进行压缩的时候,默认使用的内存为 总内存的 5% 左右。

    • 压缩文件(源文件不保留)
    xz   /home/nginx/logs/error.log-20191126
    • 压缩文件(源文件保留)
    xz -k /home/nginx/logs/error.log-20191126

    压缩的时候设定最大使用内存 --memlimit-compress= 示例:--mem‐
    limit-compress=80MiB

    • 解压缩文件
    xz -d  /home/nginx/logs/error.log-20191126.xz

    或者

    unxz  /home/nginx/logs/error.log-20191126.xz 

    解压缩的时候设定最大使用内存 --memlimit-decompress=

    • 指定多线程数来进行压缩
    xz -T 4  /home/nginx/logs/error.log-20191126

    具体使用参考文后附录。

    结论:

    再一次印证了物理空间与时间的矛盾(想占用更小的空间,得到高压缩比率,肯定要牺牲较长的时间;反之,如果时间较为宝贵,要求快速,那么所得的压缩比率一定较小,当然会占用更大的空间了)。

     

     

    附:xz使用

    • 一、XZ 基础信息
    • 二、安装
    • 三、详解
      • 3.1、常用的参数
      • 3.2、 常用命令
    • 四、扩展
      • 4.1、unxz
      • 4.2、xzcat
      • 4.3、lzma
      • 4.4、unlzma
      • 4.5、lzcat

    一、XZ 基础信息

    米妮文学网 m.amini.net

    XZ 压缩比比较高,在这里没有进行详细对比。

    官网链接: https://tukaani.org/xz/

    官网介绍到: 压缩后的文件大小 gzip 小30%,比bzip2小15%。

    我测试 一个 112M 的文件,xz 压缩完后 4.5M, gz 压缩完后 16M, biz2 缩完后7.6M.
    压缩比: xz >biz2 > gzip

    二、安装

     
    1. yum install epel-release

    2. yum install xz

    三、详解

    3.1、常用的参数

    默认压缩后的文件后缀为 xz

     
    1. -z 强制执行压缩, 默认不保留源文件。压缩后的文件名为源文件.xz

    2. -d 强制执行解压缩

    3. -l 列出压缩文件的信息

    4. -k 保留源文件不要删除

    5. -f 强制覆盖输出文件和压缩链接

    6. -c 写入到标准输出,输入文件不要删除

    7. -0..-9 压缩比例,默认为6

    8. -e 使用更多的 CPU time 来进行压缩,提高压缩率。不会影响解压时所需要的内存。

    9. -T 指定线程数,默认是 1 ,当设置为 0 时使用和机器核心一样多的线程。

    10. --format= 指定压缩输出格式,可以是 raw、xz、lzma

    11. -v 显示更详细的信息

    注意点: 压缩后的文件时在和源文件同一个目录。当我们压缩的文件为 /home/nginx/logs/error.log-20191126 ,当我们在任意目录执行完 xz /home/nginx/logs/error.log-20191126 后,压缩后的文件路径是 /home/nginx/logs/error.log-20191126.xz.

    3.2、 常用命令

    xz 进行压缩的时候,默认使用的内存为 总内存的 5% 左右。

    • 压缩文件(源文件不保留)
    xz   /home/nginx/logs/error.log-20191126
    • 压缩文件(源文件保留)
    xz -k /home/nginx/logs/error.log-20191126

    压缩的时候设定最大使用内存 --memlimit-compress= 示例:--mem‐
    limit-compress=80MiB

    • 解压缩文件
    xz -d  /home/nginx/logs/error.log-20191126.xz

    或者

    unxz  /home/nginx/logs/error.log-20191126.xz 

    解压缩的时候设定最大使用内存 --memlimit-decompress=

    • 指定多线程数来进行压缩
    xz -T 4  /home/nginx/logs/error.log-20191126

    四、扩展

    4.1、unxz

    xz 压缩包的解压命令

    4.2、xzcat

    xz --decompress --stdout
    查看压缩文件的内容

    4.3、lzma

    xz --format=lzma
    压缩格式为 lzma

    4.4、unlzma

    xz --format=lzma --decompress
    解压 压缩格式为 lzma 的压缩包

    4.5、lzcat

    xz --format=lzma --decompress --stdout

    展开全文
  • 常用的格式有:tar, tar.gz(tgz), tar.bz2,不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。1. tar只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。(1)打包归档格式:...

    常用的格式有:

    tar, tar.gz(tgz), tar.bz2,

    不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。

    1. tar

    只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。

    (1)打包归档格式:

    tar -cvf examples.tar files|dir

    #说明:

    -c, --create create a new archive 创建一个归档文件

    -v, --verbose verbosely list files processed 显示创建归档文件的进程

    -f, --file=ARCHIVE use archive file or device ARCHIVE 后面要立刻接被处理的档案名,比如--file=examples.tar

    #举例:

    tar -cvf file.tar file1 #file1文件

    tar -cvf file.tar file1 file2 #file1,file2文件

    tar -cvf file.tar dir #dir目录

    复制代码

    (2)释放解压格式:

    tar -xvf examples.tar (解压至当前目录下)

    tar -xvf examples.tar -C /path (/path 解压至其它路径)

    #说明:

    -x, --extract, extract files from an archive 从一个归档文件中提取文件

    #举例:

    tar -xvf file.tar

    tar -xvf file.tar -C /temp #解压到temp目录下

    2. tar.gz tgz (tar.gz和tgz只是两种不同的书写方式,后者是一种简化书写,等同处理)

    这种格式是Linux下使用非常普遍的一种压缩方式,

    兼顾了压缩时间(耗费CPU)和压缩空间(压缩比率)

    其实这是对tar包进行gzip算法的压缩

    (1)打包压缩格式:

    tar -zcvf examples.tgz examples (examples当前执行路径下的目录)

    说明:

    -z, --gzip filter the archive through gzip 通过gzip压缩的形式对文件进行归档

    举例:

    tar -zcvf file.tgz dir #dir目录

    (2)释放解压格式:

    tar -zxvf examples.tar (解压至当前执行目录下)

    tar -zxvf examples.tar -C /path (/path 解压至其它路径)

    举例:

    tar -zcvf file.tgz

    tar -zcvf file.tgz -C /temp

    3 tar.bz

    Linux下压缩比率较tgz大,即压缩后占用更小的空间,使得压缩包看起来更小。

    但同时在压缩,解压的过程却是非常耗费CPU时间。

    (1)打包压缩格式:

    tar -jcvf examples.tar.bz2 examples (examples为当前执行路径下的目录)

    说明:

    -j, --bzip2 filter the archive through bzip2 通过bzip2压缩的形式对文件进行归档

    举例:

    tar -jcvf file.tar.bz2 dir #dir目录

    (2)释放解压:

    tar -jxvf examples.tar.bz2 (解压至当前执行目录下)

    tar -jxvf examples.tar.bz2 -C /path (/path 解压至其它路径)

    举例:

    tar -jxvf file.tar.bz2

    tar -jxvf file.tar.bz2 -C /temp

    4 gz

    压缩:

    gzip -d examples.gz examples

    解压:

    gunzip examples.gz

    5 zip

    zip 格式是开放且免费的,所以广泛使用在 Windows、Linux、MacOS 平台,要说 zip 有什么缺点的话,就是它的压缩率并不是很高,不如 rar及 tar.gz 等格式。

    压缩:

    zip -r examples.zip examples (examples为目录)

    解压:

    zip examples.zip

    6 .rar

    压缩:

    rar -a examples.rar examples

    解压:

    rar -x examples.rar

    压缩比率,占用时间对比

    为了保证能够让压缩比率较为明显,需选取一个内容较多、占用空间较大的目录作为本次实验的测试。

    找了一个大概有23G的目录来测试,首先要明确由于执行环境的变化,误差在所难免

    首先明确一个概念:

    压缩比率=原内容大小/压缩后大小,压缩比率越大,则表明压缩后占用空间的压缩包越小

    .tar

    打包:

    time tar -cvf test.tar /usr/test

    时间:

    real 3m20.709s

    user 0m3.477s

    sys 0m42.595s

    大小:

    打包前:

    打包后:

    耗时:3m20.709s

    压缩比率:/

    解压:

    time tar -xvf test.tar

    大小:

    解压前:

    解压后:

    耗时:

    real 2m47.548s

    user 0m4.999s

    sys 1m14.186s

    .tgz

    打包压缩:

    time tar -zcvf test.tgz /usr/test

    时间:

    real 16m30.767s

    user 16m1.394s

    sys 1m7.391s

    大小:

    打包前:

    打包后:

    耗时:

    压缩比率:

    解压:

    tar -zxvf test.tar

    大小:

    解压前:

    解压后:

    耗时:

    real 3m52.418s

    user 2m46.325s

    sys 1m21.442s

    .tar.bz2

    打包压缩:

    time tar -jcvf test.tar.bz2 /usr/test

    时间:

    real 80m39.422s

    user 80m14.599s

    sys 0m58.623s

    大小:

    打包前:

    打包后:

    耗时:80m39.422s

    压缩比率:

    解压:

    time tar -jxvf test.tar.bz2

    时间:

    real 27m54.525s

    user 27m44.108s

    sys 1m43.645s

    大小:

    解压前:

    解压后:

    5a877d2e07fb817aa258a13a29098c27.png

    综上结果,初步结论:

    综合起来,在压缩比率上: tar.bz2>tgz>tar

    占用空间与压缩比率成反比: tar.bz2

    耗费时间(打包,解压)

    打包:tar.bz2>tgz>tar

    解压: tar.bz2>tar>tgz

    从效率角度来说,当然是耗费时间越短越好

    因此,Linux下对于占用空间与耗费时间的折衷多选用tgz格式,不仅压缩率较高,而且打包、解压的时间都较为快速,是较为理想的选择。

    结论:

    再一次印证了物理空间与时间的矛盾(想占用更小的空间,得到高压缩比率,肯定要牺牲较长的时间;反之,如果时间较为宝贵,要求快速,那么所得的压缩比率一定较小,当然会占用更大的空间了)。

    浅谈Linux下各种压缩 解压命令和压缩比率对比

    Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.rar .zip格式. 比如,Linux下常用的tar tar.gz tar.bz2 .Z等等不一而 ...

    Linux下常用压缩 解压命令和压缩比率对比

    常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

    【转】Linux下常用压缩 解压命令和压缩比率对比

    https://www.cnblogs.com/joshua317/p/6170839.html 常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU ...

    linux下的文件解压命令

    说一下tar命令的参数含义:z,使用gzip解压,x:extract解压,v:显示详细信息,f:使用归档在当前文件夹. 在解压时出现了解压失败,原因是没有sudo,无法创建文件夹.

    Linux常用命令——压缩解压命令

    Linux常用命令——压缩解压命令 Linux  gzip 描述:压缩文件 语法:gzip [文件名] 压缩后文件格式:.gz gunzip 描述:解压后缀为.gz的文件 语法:gunzip [文件名 ...

    Linux常用命令6 压缩解压命令

    .zip是Linux和Windows共有的压缩格式 1.压缩解压命令:gzip 命令英文原意:GNU zip   命令所在路径:/bin/gzip 执行权限:所有用户 语法: gzip [文件]   ...

    linux笔记:linux常用命令-压缩解压命令

    压缩解压命令:gzip(压缩文件,不保留原文件.这个命令不能压缩目录) 压缩解压命令:gunzip(解压.gz的压缩文件) 压缩解压命令:tar(打包压缩目录或者解压压缩文件.打包的意思是把目录打包成 ...

    linux中tar及压缩解压命令用法

    把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...

    tar&period;xz如何解压&colon;linux和windows下tar&period;xz解压命令介绍

    在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...

    随机推荐

    My Env

    Font -- YaHei Consolas Hybrid YaHei ConsolasAsume that we put the font file in /usr/share/fonts/myfo ...

    iOS 工程功能实现之好用的第三方

    1.http://www.cocoachina.com/ios/20140224/7868.html  (一个天气App案例) LBBlurredImage是一个继承自UIImageView,轻而易举 ...

    Windows phone8&period;1教务在线客户端

    本人是个大二学生,由于学校的教务在线一直没出windows phone的教务在线,而且本身也对wp开发感兴趣,所以就尝试着开发一下 由于没有系统的学习,只能在摸索中前进,这背后的原理很简单,可不容易实 ...

    Maven仓库的理解及配置

    什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文 件,如log4j.jar,junit. ...

    linux命令:cat

    1:命令介绍: cat用来打印标准输入或连接文件.tac是其相反命令,从最后一行开始打印. 2:命令格式: cat [选项] 文件 3:命令参数: -A, --show-all           等 ...

    CSS中属性position位置详解功能讲解与实例分析

    position有五个值:static.relative.absolute.fixed.inherit. static 是默认值.就是按正常的布局流从上到下从左到右布局,平常我们做网页制作时,没有指定 ...

    Andriod wifi 基本操作

    从用户角度看,Android Wi-Fi模块自下向上可以看为5层:硬件驱动程序,wpa_suppplicant,JNI,WiFi API,WifiSettings应用程序. 1.wpa_supplic ...

    JNI&sol;NDK开发指南(开山篇)

    转载请注明出处:http://blog.csdn.net/xyang81/article/details/41759643 相信很多做过Java或Android开发的朋友经常会接触到JNI方面的技术, ...

    为了启动我在openshift的angular应用

    在Windows环境下搭建OpenShift环境,安装客户端工具rhc,首先需要安装Ruby和Git,参阅https://developers.openshift.com/en/getting-sta ...

    &lbrack;Usaco2007 Dec&rsqb;Building Roads 修建道路&lbrack;最小生成树&rsqb;

    Description Farmer John最近得到了一些新的农场,他想新修一些道路使得他的所有农场可以经过原有的或是新修的道路互达(也就是说,从任一个农场都可以经过一些首尾相连道路到达剩下的所有农 ...

    展开全文
  • 1.压缩 1.压缩概念 1)压缩的目的: 在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。...2.linux下常用的压缩命令 小节: 单个文件的压缩(解压)使用gzip 和bzip2

    1.压缩

    1.压缩的概念
    1)压缩的目的:
    在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。
    接受者接受文件后,解压即可。

    2)压缩的类型
    有损压缩、无损压缩。
    a)有损压缩:
    如mp4视频文件,即使压缩过程中,减少了很多帧的数据,
    对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。
    b)无损压缩:
    如普通文件的压缩,为了保证信息的正确传递,
    不希望文件经过压缩或解压后,出现问题。

    2.linux下常用的压缩命令

    小节:
    单个文件的压缩(解压)使用gzip 和bzip2
    多个文件和目录使用tar

    gzip的常用选项
    -l(list) 列出压缩文件的内容
    -k(keep) 在压缩或解压时,保留输入文件。
    -d(decompress) 将压缩文件进行解压缩

    1)查看
    gzip -l 压缩文件名
    比如:gzip -l pwd.1.gz

    2)解压
    gzip -kd 压缩文件名
    比如:gzip -kd pwd.1.gz
    该压缩文件是以.gz结尾的单个文件

    3)压缩
    gzip -k 源文件名
    比如:gzip -k mypwd.1
    得到了一个.gz结尾的压缩文件

    注意:
    1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,
    并删除原有的文件,所以说,推荐使用gzip -k 来压缩源文件。

    2)相同的文件内容,如果文件名不同,压缩后的大小也不同。

    3)gzip只能压缩单个文件,不能压缩目录。

    提示:
    man pwd会解压/usr/share/man/man1/pwd.1.gz这个文件,
    然后读取该文件中固定的格式的一些信息,然后显示到终端中。

    bzip2来压缩单个文件
    bzip2的常用选项

    -k(keep) 在压缩或解压时,保留输入文件。
    -d(decompress) 将压缩文件进行解压缩

    1)压缩
    bzip2 -k 源文件名
    比如:bzip2 -k mypwd.1
    得到一个.bz2后缀的压缩文件
    2)解压
    bzip2 -kd 压缩文件名
    bzip2 -kd mypwd.1.bz2

    注意:
    1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,
    并删除原有的文件,所以说,推荐使用bzip2 -k 来压缩源文件。
    2)bzip2只能压缩单个文件,不能压缩目录。

    单个文件的压缩使用gzip或bzip2,
    压缩有两个参数:1)压缩时间 2)压缩比
    一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。
    mypwd.1源大小是1477字节,
    gzip压缩后mypwd.1.gz是877字节,
    bzip2压缩后mypwd.1.bz2是939字节。
    myls.1源文件大小7664字节,
    gzip压缩后myls.1.gz是3144字节,
    bzip2压缩后myls.1.bz2是3070字节。

    //============================================================
    gzip、bizp2只能对一个文件进行压缩,而不能对多个文件和目录进行压缩。
    所以需要tar来对多个目录、文件进行打包和压缩。

    tar常用选项
    -c(create) 表示创建用来生成文件包
    -x:表示提取,从文件包中提取文件
    -t可以查看压缩的文件。
    -z使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
    -j使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
    -v(verbose)详细报告tar处理的信息
    -f(file)表示文件,后面接着一个文件名。
    -C <指定目录> 解压到指定目录

    1.tar打包、gzip压缩
    1)压缩
    tar -czvf 压缩文件名 目录名
    如:tar czvf dira.tar.gz dira

    注意:
    tar -czvf与tar czvf是一样的效果,所以说,后面统一取消-。

    2)查看
    tar tvf 压缩文件名
    如:tar tvf dira.tar.gz

    3)解压
    tar xzvf 压缩文件名
    tar xzvf 压缩文件名 -C 指定目录
    如:tar xzvf dira.tar.gz 解压到当前目录
    如:tar xzvf dira.tar.gz -C /home/book 解压到/home/book

    2.tar打包、bzip2压缩
    1)压缩
    tar cjvf 压缩文件名 目录名
    如:tar cjvf dira.tar.bz2 dira

    2)查看
    tar tvf 压缩文件名
    如:tar tvf dira.tar.bz2

    3)解压
    tar xjvf 压缩文件名
    tar xjvf 压缩文件名 -C 指定目录
    如:tar xjvf dira.tar.bz2 解压到当前目录
    如:tar xjvf dira.tar.bz2 -C /home/book 解压到/home/book

    展开全文
  • 当然还有gz、zip、rar,下面将对tar、tar.gz(tgz)、tar.bz2这三个命令进行压缩比率对比,看哪个压缩解压命令效率更高,哪个才是Linux下压缩解压的最佳格式,下面是具体测试。1.tar只是打包动作,相当于归档处理,不...

    在Linux系统下用户最常用到的压缩解压命令是tar、tar.gz(tgz)、tar.bz2,当然还有gz、zip、rar,下面将对tar、tar.gz(tgz)、tar.bz2这三个命令进行压缩比率对比,看哪个压缩解压命令效率更高,哪个才是Linux下压缩解压的最佳格式,下面是具体测试。

    1.tar

    只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。

    (1).打包归档格式:

    tar -cvf examples.tar files|dir

    #说明:

    -c, --create  create a new archive 创建一个归档文件

    -v, --verbose verbosely list files processed 显示创建归档文件的进程

    -f, --file=ARCHIVE use archive file or device ARCHIVE  后面要立刻接被处理的档案名,比如--file=examples.tar

    举例:

    tar -cvf file.tar file1       #file1文件

    tar -cvf file.tar file1 file2 #file1,file2文件

    tar -cvf file.tar dir         #dir目录

    (2).释放解压格式:

    tar -xvf examples.tar (解压至当前目录下)

    tar -xvf examples.tar  -C /path (/path 解压至其它路径)

    说明:

    -x, --extract, extract files from an archive 从一个归档文件中提取文件

    举例:

    tar -xvf file.tar

    tar -xvf file.tar -C /temp  #解压到temp目录下

    2.tar.gz、tgz

    tar.gz和tgz只是两种不同的书写方式,后者是一种简化书写,等同处理。这种格式是Linux下使用非常普遍的一种压缩方式,兼顾了压缩时间(耗费CPU)和压缩空间(压缩比率),其实这是对tar包进行gzip算法的压缩。

    (1).打包压缩格式:

    tar -zcvf examples.tgz examples (examples当前执行路径下的目录)

    说明:

    -z, --gzip filter the archive through gzip 通过gzip压缩的形式对文件进行归档

    举例:

    tar -zcvf file.tgz dir #dir目录

    (2).释放解压格式:

    tar -zxvf examples.tar (解压至当前执行目录下)

    tar -zxvf examples.tar  -C /path (/path 解压至其它路径)

    举例:

    tar -zcvf file.tgz

    tar -zcvf file.tgz -C /temp

    3.tar.bz

    Linux下压缩比率较tgz大,即压缩后占用更小的空间,使得压缩包看起来更小。

    但同时在压缩,解压的过程却是非常耗费CPU时间。

    (1).打包压缩格式:

    tar -jcvf examples.tar.bz2 examples   (examples为当前执行路径下的目录)

    说明:

    -j, --bzip2 filter the archive through bzip2 通过bzip2压缩的形式对文件进行归档

    举例:

    tar -jcvf file.tar.bz2 dir #dir目录

    (2).释放解压:

    tar -jxvf examples.tar.bz2 (解压至当前执行目录下)

    tar -jxvf examples.tar.bz2  -C /path (/path 解压至其它路径)

    举例:

    tar -jxvf file.tar.bz2

    tar -jxvf file.tar.bz2 -C /temp

    附1.gz

    压缩:

    gzip -d examples.gz examples

    解压:

    gunzip examples.gz

    附2.zip

    zip 格式是开放且免费的,所以广泛使用在 Windows、Linux、MacOS 平台,要说 zip 有什么缺点的话,就是它的压缩率并不是很高,不如 rar及 tar.gz 等格式。

    压缩:

    zip -r examples.zip examples (examples为目录)

    解压:

    zip examples.zip

    附3.rar

    压缩:

    rar -a examples.rar examples

    解压:

    rar -x examples.rar

    tar、tar.gz(tgz)、tar.bz2压缩比率,占用时间对比

    为了保证能够让压缩比率较为明显,需选取一个内容较多、占用空间较大的目录作为本次实验的测试。找了一个大概有23G的目录来测试,首先要明确由于执行环境的变化,误差在所难免。首先明确一个概念:压缩比率=原内容大小/压缩后大小,压缩比率越大,则表明压缩后占用空间的压缩包越小。

    1.tar

    打包:

    time tar -cvf test.tar /usr/test

    时间:

    real    3m20.709s

    user    0m3.477s

    sys     0m42.595s

    大小:

    打包前:23214680

    打包后:22202984

    耗时:3m20.709s

    压缩比率:22202984/23214680

    解压:

    time tar -xvf test.tar

    大小:

    解压前:22202984

    解压后:23211064

    耗时:

    real    2m47.548s

    user    0m4.999s

    sys     1m14.186s

    2.tgz

    打包压缩:

    time tar -zcvf test.tgz /usr/test

    时间:

    real    16m30.767s

    user    16m1.394s

    sys     1m7.391s

    大小:

    打包前:23211064

    打包后:18949032

    耗时:

    压缩比率:

    解压:

    tar -zxvf test.tar

    大小:

    解压前:18949032

    解压后:23211064

    耗时:

    real    3m52.418s

    user    2m46.325s

    sys     1m21.442s

    3.tar.bz2

    打包压缩:

    time tar -jcvf test.tar.bz2 /usr/test

    时间:

    real    80m39.422s

    user    80m14.599s

    sys     0m58.623s

    大小:

    打包前:23211064

    打包后:18728904

    耗时:80m39.422s

    压缩比率:

    解压:

    time tar -jxvf test.tar.bz2

    时间:

    real    27m54.525s

    user    27m44.108s

    sys     1m43.645s

    大小:

    解压前:18728904

    解压后:23211064

    结果图

    1130a7714ba359e7aef797b2eca1b2e9.png

    测试结果

    综合起来,在压缩比率上:tar.bz2>tgz>tar

    占用空间与压缩比率成反比:tar.bz2

    耗费时间(打包,解压):

    打包:tar.bz2>tgz>tar

    解压:tar.bz2>tar>tgz

    注:从效率角度来说,当然是耗费时间越短越好。因此,在Linux系统下对于占用空间与耗费时间的折衷多选用tgz格式,不仅压缩率较高,而且打包、解压的时间都较为快速,是较为理想的选择。

    总结

    本次测试再一次印证了物理空间与时间的矛盾(想占用更小的空间,得到高压缩比率,肯定要牺牲较长的时间;反之,如果时间较为宝贵,要求快速,那么所得的压缩比率一定较小,当然会占用更大的空间了)。所以在Linux系统中采用何种格式处理解压缩就看你的需求了。

    相关主题

    展开全文
  • linux中,打包和压缩可以说是两个不同的概念,弄清这两个概念对于我们理解复杂的文件后缀有非常大的帮助 打包 将若干个文件和目录打包在一起变成一个大的文件,这时只是简单的打包,所以一般打包后的文件大小被...
  • [zz]Linux下压缩命令

    2021-05-09 07:46:46
    一、Linux下和windows下的压缩文件的几个说明在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、 bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip...
  • linux中关于压缩的命令

    千次阅读 2017-01-01 10:55:44
    1.前言最近在linux下安装东西,发现好多安装都需要通过使用压缩指令来完成,所以觉得是时候来总结一下了。在windows下,我们常见的压缩格式有两种,zip和rar。在讲述压缩指令之前,我们先去看两个概念,打包和压缩。...
  • 1.打包:linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。1.命令格式:tar[必要参数][选择参数][文件...
  • Linux 文件压缩和打包简介1. 压缩打包介绍常见压缩文件windows .rar .zip .7zLinux .zip, .gz, .bz2, .xz... gzip 以及gzip-d 实例,可以看出压缩后在解压实际大小从1.6M 变成了1.3M并且行数不变Gzip -#表示压...
  • 无论是在邮件发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间。某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件。下面我将会给大家演示如何用这些命令...
  • 一、gzip 压缩某文件的指令 不能压缩目录、不保留原文件gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统比较流行的压缩文件格式,gzip是个使用广泛的压缩程序,...
  • Linux文件压缩和打包

    万次阅读 2018-05-27 13:47:04
    Linux文件压缩和打包一、压缩打包介绍常见压缩文件​ ~Windows .rar .7z .zip ​ ~Linux .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz文件压缩的作用:1、节省空间​ ...
  • Linux下压缩的压缩命令

    千次阅读 2017-12-24 00:10:53
    其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩 ,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将这一大堆文件先打 成一个包,然后再就原来的压缩程序进行压缩。  Linux下最常用的打包程序...
  • 很多人在学习云计算之初,都要学习Linux,云计算服务是部署在Linux...在Linux系统,通常我们使用的打包压缩工具有.tar.gz、.tar.bz2、.zip、gzip、bzip2只压缩文件和tar只打包文件。tar只打包文件tar的打包解包:t...
  • 特别注意,在参数的下达, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 ...
  • Linux压缩打包方法有很多种,以下讲了tar命令的概念,同时文列举了多种范例供大家查看,希望对大家有所帮助....tar命令[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令...
  • linux下tar等打包压缩工具及while语句编写脚本(九)1.压缩与解压缩命令概念压缩格式有:gz, bz2, xz, zip, Z等2.compress压缩命令, 后缀以.Z结尾命令格式:compress 文件名 压缩完成后会删除原文件uncompress解压缩...
  • 打包:默认情况Linux压缩概念一次只能压缩一个文件。针对多文件或文件夹无法进行直接压缩。所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。 1.txt 5MB 2.txt 10MB 3.txt 15MB 1.txt + 2....
  • 快速理解Linux压缩命令

    千次阅读 2014-07-08 21:36:04
    Linux的环境压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.bz2』,相对应的命令有tar、gz、bz2。命令比较多,而且每条命令的参数也很多,每次碰到都不得不google百度之。此文帮你快速的理清这些...
  • Linux系统文件的归档与压缩 一.文件的归档 1.打包:表示将目录的所有内容,捆绑在一起(归档),方便传输,打包后的文件会变大,不一定会变小。 2.打包的命令:tar (不产生后缀名,所有创建的时候推荐命名加上...
  • linux下常用的压缩,解压缩
  • Linux ,学会对文件或目录进行打包(归档)和压缩,是每个初学者的基本技能。 打包指的是将多个文件和目录集中存储在一个文件;而压缩则指的是利用算法对文件进行处理,从而达到缩减占用磁盘空间的目的。 ...
  • 目录 ...linux在网络上传输文件的时候,通常会先压缩再传输,然后解压。 说到压缩文件,如果是 Windows 用户,那应该对 rar 和 zip 两种格式不陌生。一般在 Windows ,我们会使用 WinRAR,7-Z...
  • tar tar 是 Linux 的打包命令,打包和压缩是两个不通的概念,打包指的是将多个文件或目录打包成一个文件,而压缩指的是将大文件通过某个算法压缩成一个小文件,方便节省硬盘存储和网络传输。在 Linux 很多...
  • 总第432篇2021年 第001篇压缩在数据传输和存储过程经常扮演着十分重要的角色,因此提高压缩的效率可以帮助我们节省时间和降低存储成本。本文介绍了压缩算法的优化在构建部署平台的应用,...
  • 在某些文件系统, 没有权限、 属主或时间的概念, 或者对文件名的长度有严格限制, 例如 MSDOS, 在这种情况,bzip2 没有保持原文件名、 属主、 权限以及时间的机制, 从这个意义上说,bzip2 对文件名的处理是...
  • linux 下压缩tar、zip命令

    千次阅读 2013-11-05 11:24:42
    将当前目录的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录所有文件. 2.unzip unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况覆盖文件;...
  • 1、普通tar压缩命令tar -zcvf andywang.tar.gz andywang//将andywang文件夹压缩成andywang.tar.gz2、压缩后的文件太大,需要将andywang.tar.gz分割成N个指定大小的文件split -b 4000M -d -a 1 andywang.tar.gz andy...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,218
精华内容 14,487
关键字:

linux中压缩比的概念

linux 订阅