压缩格式介绍 在Windows下,我们接触最多的压缩文件是.rar格式的,但是在Linux下,不能识别这种格式,它有自己独特的压缩工具。但.zip格式的文件在Windows和Linux下都能使用。使用压缩文件,不仅能节省磁盘空间,而且在传输时还能节省网络宽带。 Linux下最常见的压缩文件通常都是.tar .gz格式的,除此之外,还有.tar , .gz, .bz2 ,.zip等格式。 虽然Linux下文件的后缀名可加可不加,但压缩文件最好加上后缀名。这是为了判断压缩文件是由哪种压缩工具所压缩的,而后才能正确的解压这个文件。 在Linux下常见的后缀名所对应的压缩工具

  • .gz 表示由gzip压缩工具压缩的文件。
  • .bz2 表示由bzip2压缩工具压缩的文件。
  • .tar 表示由tar打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)。
  • .tar .gz 可以理解为先由tar打包,然后再由gzip压缩。
  • .tar .bz2 可以理解为先由tar打包,然后再由bzip2压缩。
  • .tar .xz 可以理解为先由tar打包,然后再xz压缩。

gzip压缩工具 命令语法 gzip(选项)(参数) 命令描述 gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。 gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。 命令选项 -d 该参数在解压时使用; -# 表示压缩等级,1为最差,9为最好,6为默认; -c 表示压缩之后原文件不变,压缩文件放到指定的目录; 命令示例 添加给1.txt文件内容; 以上代码可以看出在1.txt里增加同样的内容,但是每次增加后的大小并不相同。 压缩并解压;

说明: 压缩之前是2.2M,32375个字节。 压缩之后1.txt文件加了一个后缀名.gz,文件大小变成了332K。 解压之后,文件大小变成了1.3M,字节依然没有改变还是32375。

设置压缩级别; 说明:这里的压缩级别,最小是1,最大是9,默认的6。推荐大家用6级别就行,因为压缩到一定的程度就不会压缩了。而且压缩的级别越大,耗费的cpu资源越大。

使用-c选项,压缩之后原文件不变,压缩文件放到/tmp/1.txt.gz中;

解压,把压缩文件和压缩后的文件放到指定目录;

bzip2压缩工具 命令语法 bzip2 [-dz] filename //压缩时,加或不加-选项都可以压缩文件。 命令描述 gzip命令用来压缩文件。bzip2是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.bz”扩展名。 命令选项 -d 解压 -z 压缩<可加可不加> 命令示例 安装bzip2 #yum install -y bzip2

xz压缩工具 命令语法 xz [-dz] filename 命令描述 xz命令用来压缩文件。文件经它压缩过后,其名称后面会多处“.xz”扩展名 命令选项 -z 压缩<此选项可加可不加> -d 解压 命令示例

Linux中zip压缩和unzip解压缩命令详解 1、把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 2、把/home目录下面的mydata.zip解压到mydatabak目录里面 unzip mydata.zip -d mydatabak 3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip zip -r abc123.zip abc 123.txt 4、把/home目录下面的wwwroot.zip直接解压到/home目录里面 unzip wwwroot.zip 5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面 unzip abc*.zip 6、查看把/home目录下面的wwwroot.zip里面的内容 unzip -v wwwroot.zip 7、验证/home目录下面的wwwroot.zip是否完整 unzip -t wwwroot.zip 8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录 unzip -j wwwroot.zip 主要参数 -c:将解压缩的结果 -l:显示压缩文件内所包含的文件 -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 -t:检查压缩文件是否正确 -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中 -v:执行是时显示详细的信息 -z:仅显示压缩文件的备注文字 -a:对文本文件进行必要的字符转换 -b:不要对文本文件进行字符转换 -C:压缩文件中的文件名称区分大小写 -j:不处理压缩文件中原有的目录路径 -L:将压缩文件中的全部文件名改为小写 -M:将输出结果送到more程序处理 -n:解压缩时不要覆盖原有的文件 -o:不必先询问用户,unzip执行后覆盖原有文件 -P:使用zip的密码选项 -q:执行时不显示任何信息 -s:将文件名中的空白字符转换为底线字符 -V:保留VMS的文件版本信息 -X:解压缩时同时回存文件原来的UID/GID

tar tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,但它仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

tar -cvf archive_name.tar directory_to_compress

1 下面是如何解包的命令:

tar -xvf archive_name.tar.gz

1 上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来更改解包的路径:

tar -xvf archive_name.tar -C /tmp/extract_here/

1 tar.gz 这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。可以使用下面的命令去压缩一个目录:

tar -zcvf archive_name.tar.gz directory_to_compress

1 解压缩:

tar -zxvf archive_name.tar.gz

1 上面这个解包命令将会将文档解压在当前目录下面。当然,你也可以用这个命令来更改解包的路径:

tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

1 tar.bz2 这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。下面的命令就是如何使用tar.bz2进行压缩。

tar -jcvf archive_name.tar.bz2 directory_to_compress

1 上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来更改解包的路径:

tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

1

下面对tar命令中一些常用重要的参数进行总结: -c或–create 建立新的备份文件。 -C<目的目录>或–directory=<目的目录> 切换到指定的目录。 -f<备份文件>或–file=<备份文件> 指定备份文件。 -j或–bzip2 以bz2的算法来压缩或者解压文件。 -k或–keep-old-files 解开备份文件时,不覆盖已有的文件。 -m或–modification-time 还原文件时,不变更文件的更改时间。 -N<日期格式>或–newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。 -r或–append 新增文件到已存在的备份文件的结尾部分。 -t或–list 列出备份文件的内容。 -u或–update 仅置换较备份文件内的文件更新的文件。 -v或–verbose 显示指令执行过程。 -w或–interactive 遭遇问题时先询问用户。 -W或–verify 写入备份文件后,确认文件正确无误。 -x或–extract或–get 从备份文件中还原文件。 -z或–gzip或–ungzip 通过gzip指令处理备份文件。 -Z或–compress或–uncompress 通过compress指令处理备份文件。