tar-gz.jpg

0、常见的压缩格式

格式 描述 备注
*.z compress程序压缩的文件; 这已经不流行了
*.zip zip程序压缩的文件; 为兼容WIN端
*.gz gzip程序压缩的文件; 只压缩文件
*.bz2 bzip2程序压缩的文件; 只压缩文件
*.xz xz程序压缩的文件; 只压缩文件
*.tar tar程序打包的文件,并没有压缩过; 只打包文件
*.tar.gz tar程序打包的文件,并且经过gzip的压缩;
*.tar.bz2 tar程序打包的文件,并且经过bzip2的压缩;
*.tar.xz tar程序打包的文件,并且经过xz的压缩;

压缩

1、gzip,zcat/zmore/zless/zgrep,(*.gz)

  • gzip所建立的压缩文件格式为 *.gz;
  • 当用gzip进行文件压缩时,在默认状态下原本的文件会被压缩成 *.gz 文件,源文件会被删除;
  • 用gzip压缩的文件,在win端可以用WinRAR和7zip解压;

    命令语法

    压缩命令

    1. $ gzip [选项与参数] 文件名

    选项与参数

    1. -c : 将压缩的数据输出到屏幕上,可通过数据流重定向来处理
    2. -d : 解压缩的参数
    3. -t : 可以用来检验一个压缩文件的一致性,看看文件有无错误
    4. -v : 可以显示出源文件/压缩文件的压缩比信息
    5. -# : # 为数字,代表压缩等级,-1 最快,但是压缩比最差;-9 最慢,但是压缩比最高;默认是-6
    例程
  1. 压缩

用最简单的指令压缩文件 compress.txt

  1. $ gzip compress.txt

运行结果
原本compress.txt文件不复存在,目录下生成一个压缩文件

  1. $ compress.txt.gz
  1. 解压缩

解压缩刚才压缩的文件

  1. $ gzip -d compress.txt.gz

运行结果

  1. $ compress.txt

查看压缩包内容

  • zcat

无需解压就可以查看压缩包里的内容

  1. $ zcat 文件名.gz
  • eprep

无需解压就可以查找压缩包里的内容

2、bzip2,bzcat/bzmore/bzless/bzgrep,(*.bz2)

  • 比gzip有更高的压缩比;

    命令语法

    压缩命令

    1. $ bzip2 [参数与选项] 文件名

    选项与参数

    1. -c : 将压缩的过程产生的数据输出到屏幕上
    2. -d : 解压缩的参数
    3. -k : 保留原始文件,而不会删除原始的文件
    4. -z : 压缩的参数(默认值,可以不加)
    5. -v : 可以显示出源文件/压缩文件的压缩比等信息
    6. -# : gzip参数相同
    bzip2与gzip相似。

3、xz,xzcat/xzmore/xzless/xzgrep,(*.xz)

  • 压缩比比bzip2更高;
  • 与gzip/bzip2几乎一致

    命令语法

    压缩命令

    1. $ xz [参数与选项] 文件名

    参数与选项

    1. -d : 解压缩
    2. -t : 测试压缩文件的完整性
    3. -l : 列出压缩文件的相关信息
    4. -k : 保留原本的文件不删除
    5. -c : 将数据在屏幕上输出
    6. -# : 同样的,压缩比参数

    打包并压缩

    1、tar

  • 打包,并调用压缩选项压缩成指定格式

    命令语法

  1. 压缩

    1. $ tar [必要参数] [参数1] [可选参数] [-f 压缩后的压缩包名] [待压缩的文件夹名]
  2. 解压缩

    1. $ tar [必要参数] [参数1] [可选参数] [-f 现有的压缩包名] [-C 指定的解压路径] // 指定解压路径
    2. $ tar [必要参数] [参数1] [可选参数] [-f 现有的压缩包名] // 解压到当前路径
  3. 查看压缩包文件内容

    1. $ tar [必要参数] [参数1] [可选参数] [-f 要查看的压缩包名]

    参数与选项

    tar的选项与参数非常多,只列举几个常用的选项。更多选项查阅

    1. $ man tar
  • 必要参数:

此处的必要参数只能选一个,以下选项不能同时出现在一条命令里。

  1. -z : 通过gzip的支持进行压缩或者解压缩,对应的拓展名为 *.tar.gz
  2. -j : 通过bzip2的支持进行压缩或者解压缩,对应的扩展名为 *.tar.bz2
  3. -J : 通过xz的支持进行压缩或者解压缩,对应的扩展名为 *.tar.xz
  • 参数1:

此处的参数只能选一个,以下参数不能同时出现在同一条命令里

  1. -c : 压缩
  2. -t : 查看压缩包里的文件
  3. -x : 解压
  • 可选参数

    1. -v : 在压缩或者解压缩过程中,显示正在处理的文件

    例程

  • 压缩

    1. 将 friend/ 打包成 *.tar.gz

      1. $ tar -zcvf friend.tar.gz friend/

      1. $ tar -zcf friend.tar.gz friend/ // 不显示过程文件
    2. 将 friend/ 打包成 *.tar.bz2

      1. $ tar -jcvf friend.tar.bz2 friend/
    3. 将 friend/ 打包成 *.tar.xz

      1. $ tar -Jcvf friend.tar.xz friend/
  • 解压

    1. 解压 friend.tar.gz

      1. $ tar -zxvf friend.tar.gz // 解压到当前文件夹

      1. $ tar -zxvf friend.tar.gz -C test/ // 解压到当前文件夹下的test文件夹
    2. 解压 friend.tar.bz2

      1. $ tar -jxvf friend.tar.bz2 // 解压到当前文件夹
    3. 解压 friend.tar.xz

      1. $ tar -Jxvf friend.tar.xz // 解压到当前文件夹