压缩文件名

Linux 底下有很多压缩文件名,常见的如下:

扩展名 压缩程序
*.Z compress
*.zip zip
*.gz gzip
*.bz2 bzip2
*.xz xz
*.tar tar 程序打包的数据,没有经过压缩
*.tar.gz tar 程序打包的文件,经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,经过 bzip2 的压缩
*.tar.xz tar 程序打包的文件,经过 xz 的压缩

压缩指令

1. gzip

gzip 是 Linux 使用最广的压缩指令,可以解开 compress、zip 与 gzip 所压缩的文件。

经过 gzip 压缩过,源文件就不存在了。

有 9 个不同的压缩等级可以使用。

可以使用 zcat、zmore、zless 来读取压缩文件的内容。

  1. $ gzip [-cdtv#] filename
  2. -c :将压缩的数据输出到屏幕上
  3. -d :解压缩
  4. -t :检验压缩文件是否出错
  5. -v :显示压缩比等信息
  6. -# : # 为数字的意思,代表压缩等级,数字越大压缩比越高,默认为 6

2. bzip2

提供比 gzip 更高的压缩比。

查看命令:bzcat、bzmore、bzless、bzgrep。

  1. $ bzip2 [-cdkzv#] filename
  2. -k :保留源文件

3. xz

提供比 bzip2 更佳的压缩比。

可以看到,gzip、bzip2、xz 的压缩比不断优化。不过要注意的是,压缩比越高,压缩的时间也越长。

查看命令:xzcat、xzmore、xzless、xzgrep。

  1. $ xz [-dtlkc#] filename

打包

压缩指令只能对一个文件进行压缩,而打包能够将多个文件打包成一个大文件。tar 不仅可以用于打包,也可以使用 gip、bzip2、xz 将打包文件进行压缩。

  1. $ tar [-z|-j|-J] [cv] [-f 新建的 tar 文件] filename... ==打包压缩
  2. $ tar [-z|-j|-J] [tv] [-f 已有的 tar 文件] ==查看
  3. $ tar [-z|-j|-J] [xv] [-f 已有的 tar 文件] [-C 目录] ==解压缩
  4. -z :使用 zip;
  5. -j :使用 bzip2;
  6. -J :使用 xz;
  7. -c :新建打包文件;
  8. -t :查看打包文件里面有哪些文件;
  9. -x :解打包或解压缩的功能;
  10. -v :在压缩/解压缩的过程中,显示正在处理的文件名;
  11. -f : filename:要处理的文件;
  12. -C 目录 : 在特定目录解压缩。
使用方式 命令
打包压缩 tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 看 tar -jtv -f filename.tar.bz2
解压缩 tar -jxv -f filename.tar.bz2 -C 要解压缩的目录