Linux——压缩文件

为什么需要压缩文件?
    文件在传输过程中,可能由于文件过大,传输所需时间过多。减少文件大小有两个明显的好处,一是可以减
    少存储空间,二是通过网络传输文件时,可以减少传输的时间。对于某些不常用文件,减少它对硬盘空间的
    浪费,我们往往会将其压缩,在需要时再解压缩。
   
   
Linux中有哪些文件压缩命令?
    在Linux中,提供了许多文件压缩命令,针对所需要压缩的文件不同,我们可以选用不同的压缩方式。
    压缩格式:gz bz2 xz zip z
    根据不同的压缩算法,压缩比也不同。
   
压缩命令详解:
   
    gzip: FILE.gz
    gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中
    比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。
   
    语法格式:gzip 选项 参数
   
    常用选项:
        -a或——ascii:使用ASCII文字模式;
    -d或--decompress或----uncompress:解开压缩文件;
    -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
    -l或——list:列出压缩文件的相关信息;
    -n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;
    -N或——name:压缩文件时,保存原来的文件名称及时间戳记;
    -q或——quiet:不显示警告信息;
    -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
    -S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
    -t或——test:测试压缩文件是否正确无误;
    -#<压缩比>:压缩比是一个介于1~9的数值,默认值为 6 ,指定的数值越大,压缩效率就会愈高;
    --best:此参数的效果和指定“-9”参数相同;
    --fast:此参数的效果和指定“-1”参数相同。
  
  [wangml@iZwz976helaylvgqok97prZ scourse]$ ls
  passwd
  [wangml@iZwz976helaylvgqok97prZ scourse]$ gzip *
  [wangml@iZwz976helaylvgqok97prZ scourse]$ ls
  passwd.gz
  [wangml@iZwz976helaylvgqok97prZ scourse]$ gzip -d *
  [wangml@iZwz976helaylvgqok97prZ scourse]$ ls
  passwd
  
  默认情况下,源文件在被压缩完后会被删除
  
  zcat: 在不解压的情况下,查看被gzip压缩的文本文件的内容。
  
  
  bzip2: FILE.bz2
  bzip2比gzip有更大的压缩比,使用格式近似。
  语法格式:bzip2 选项 参数
  常用选项:
    -c或——stdout:将压缩与解压缩的结果送到标准输出;
    -d或——decompress:执行解压缩;
    -f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
    -k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
    -s或——small:降低程序执行时内存的使用量;
    -v或——verbose:压缩或解压缩文件时,显示详细的信息;
    -z或——compress:强制执行压缩;
    -#<压缩比>:压缩比是一个介于1~9的数值,默认值为 6 ,指定的数值越大,压缩效率就会愈高;
  
  bunzip2 文件: 解压缩 .bz2 文件
  
  bzcat:在不解压的情况下,查看被bzip2文本文件的内容。
  
  
  xz:FILE.xz
  压缩比更大
  语法格式:xz 选项 参数
  常用选项:
      -d:解压缩
      -#<压缩比>:压缩比是一个介于1~9的数值,默认值为 6 ,指定的数值越大,压缩效率就会愈高;
      -k:压缩时保留源文件,也可以使用输出重定向保留源文件
     
  unxz:解压缩
  
  xzcat:在不解压的情况下,查看被xz文本文件的内容,同xzdec
  
  
  zip:可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外
  产生具有“.zip”扩展名的压缩文件。
  
  语法格式:zip 压缩后的文件名 要压缩的文件
  
  常用选项:
    -A:调整可执行的自动解压缩文件;
    -b<工作目录>:指定暂时存放文件的目录;
    -c:替每个被压缩的文件加上注释;
    -d:从压缩文件内删除指定的文件;
    -D:压缩文件内不建立目录名称;
    -f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩
        文件内,使用本参数会一并将其加入压缩文件中;
    -F:尝试修复已损坏的压缩文件;
    -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;
    -i<范本样式>:只压缩符合条件的文件;
    -j:只保存文件名称及其内容,而不存放任何目录名称;
    -J:删除压缩文件前面不必要的数据;
    -k:使用MS-DOS兼容格式的文件名称;
    -l:压缩文件时,把LF字符置换成LF+CR字符;
    -ll:压缩文件时,把LF+cp字符置换成LF字符;
    -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中;
    -n<字尾字符串>:不压缩具有特定字尾字符串的文件;
    -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同;
    -q:不显示指令执行过程;
    -r:递归处理,将指定目录下的所有文件和子目录一并处理;
    -S:包含系统和隐藏文件;
    -t<日期时间>:把压缩文件的日期设成指定的日期;
    -T:检查备份文件内的每个文件是否正确无误;
    -u:更换较新的文件到压缩文件内;
    -v:显示指令执行过程或显示版本信息;
    -V:保存VMS操作系统的文件属性;
    -w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效;
    -x<范本样式>:压缩时排除符合条件的文件;
    -X:不保存额外的文件属性;
    -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效;
    -z:替压缩文件加上注释;
    -$:保存第一个被压缩文件所在磁盘的卷册名称;
    -<压缩比>:压缩比是一个介于1~9的数值。 
    
    unzip:解压缩
   
   
打包和压缩的区别?
    打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
   
    
为什么要区分这两个概念呢?
    这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆
    文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip、bzip2命令)。
   
   
归档工具:
    tar:默认不储存扩展属性
    利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的
    文件。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合
    成为一个文件以便于网络传输是非常有用的。
   
    语法格式:tar 选项 参数
   
    常用选项:
        -c: 创建归档文件
        -x:展开归档文件
        -f:操作归档文件
        --xattrs: 归档时,保留文件扩展属性信息
        -t:不展开归档,只查看归档了哪些文件
        -zcf:归档并调用gzip压缩
        -zxf:调用gzip压缩再归档
        -jcf:归档并调用bzip2压缩
        -jxf:调用bzip2压缩再归档
        -Jcf:归档并调用xz压缩
        -Jxf:调用xz压缩再归档

cpio: 归档工具

Linux —— 压缩文件的更多相关文章

  1. linux 压缩文件的命令总结

    Linux压缩文件的读取 *.Z       compress 程序压缩的档案: *.bz2     bzip2 程序压缩的档案: *.gz      gzip 程序压缩的档案: *.tar     ...

  2. Linux 压缩文件的命令行总结

    Linux压缩文件的读取 ·    *.Z       compress 程序压缩的档案: ·    *.bz2     bzip2 程序压缩的档案: ·    *.gz      gzip 程序压缩 ...

  3. 【Linux】【二】linux 压缩文件(txt)、查看压缩文件内容、解压缩文件、

    通过Xshell 压缩文件.解压缩文件 gzip tools.txt 压缩[tools.txt]文件 zcat tools.txt.gz   查看压缩文件[tools.txt.gz]内容 gunzip ...

  4. linux 压缩文件 及压缩选项详解

    本文介绍linux下的压缩程序tar.gzip.gunzip.bzip2.bunzip2.compress.uncompress. zip. unzip.rar.unrar等程式,以及如何使用它们对. ...

  5. Linux压缩文件笔记

    https://my.oschina.net/dongqianlin/blog/97168http://linux.it.net.cn/CentOS/fast/2017/0628/27029.html ...

  6. linux压缩文件——解压方法

    linux下 tar解压 gz解压 bz2等各种解压文件使用方法 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar ...

  7. linux压缩文件(夹) zip uzip命令的用法

    压缩文件(夹) # 压缩列举的文件,格式如下: zip 压缩包名称 文件1 文件2 文件3 ... # 压缩test.txt, a.out文件,并取名为abc.zip $ zip abc.zip te ...

  8. linux 压缩文件或文件夹

    zip demo.mp4.zip demo.mp4 zip -r videos.zip videos # 压缩文件夹需要加-r

  9. kali linux 压缩文件解压缩命令(包含7z)

    tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1 ...

随机推荐

  1. LinkedHashMap/HashMap(数҉据҉缓҉存҉准҉备҉)

    顾名思义LinkedHashMap是比HashMap多了一个链表的结构.与HashMap相比LinkedHashMap维护的是一个具有双重链表的HashMap,LinkedHashMap支持2中排序一 ...

  2. PHP中的预定义常量、类常量和魔术常量的区别

    PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 对于一些基本的常量是这些常量在 ...

  3. 条款4:确定对象被使用前已被初始化(Make sure that objects are initialized before they're used)

    其实 无论学何种语言 ,还是觉得要养成先声明后使用,先初始化再使用. 1.永远在使用对象之前先将其初始化. 内置类型: 必须手工完成. 内置类型以外的:使用构造函数完成.确保每一个构造函数都将对象的一 ...

  4. POJ 1611 The Suspects (并查集求数量)

    Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, wa ...

  5. 【UVA 10820】Send a Table(欧拉函数)

    Description When participating in programming contests, you sometimes face the following problem: Yo ...

  6. bzoj2973 入门oj4798 石头游戏

    我们人为地搞出来一个全能神,每次调用他他可以给一个节点 \(1\) 个石头. 这样,当前的状态就可以由上一秒的状态搞过来,这就像是一个递推.用矩阵加速. #include <iostream&g ...

  7. C#与Ranorex自动化公用方法

    原创 - C#与Ranorex自动化公用方法 利用c#在Ranorex上写自动化已经有很长的一段时间了,总结发现常用的方法不外乎如下几种: 1.打开浏览器:或者app public static vo ...

  8. ERP类系统设计学习

    文章:分布式.服务化的ERP系统架构设计 文章的方法是对系统进行拆分,拆分成多个子系统.

  9. mappedBy的具体使用及其含义

    mappedBy: 1>只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性: 2>mappedBy标签一定是定义在被拥 ...

  10. SpringBoot自动配置的源码解析

    首先,写源码分析真的很花时间,所以希望大家转的时候也请注明一下,Thanks♪(・ω・)ノ SpringBoot最大的好处就是对于很多框架都默认的配置,让我们开发的时候不必为了大一堆的配置文件头疼,关 ...