欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

文件的压缩与解压缩

程序员文章站 2022-05-15 10:59:01
...

Windows下的常见压缩格式有.zip和.rar,而Linux下的常见压缩格式有:gz,bzip2,xz,zip等由于压缩算法的不同,所以以上几个压缩后的文件大小各不同。

一、gzip

用法:gzip 文件路径 gzip压缩与解压完成后会删除源文件。

#压缩文件
[[email protected] app]$gzip testfile
#解压文件
[[email protected] app]$gunzip testfile.gz
[[email protected] app]$gzip -d testfile.gz
#不解压文件查看源文件

二、bzip2

用法:bzip2 文件路径

压缩文件:bzip2 testfile
解压文件:bzip2 -d testfile.bz
-k 不删除原文件的情况下解压:bzip2 -dk testfile.bz
不解压缩查看原文件:bzcat file

三、xz

用法:xz 文件路径
压缩文件:xz testfile
解压文件:xz -d testfile
不删除源文件解压:xz -dk testfile
不解压查看原文件:xzcat file

四、zip打包压缩

zip 可以压缩文件,也可以压缩目录并且默认不删除原文件。以上三个无此功能
压缩文件:zip file
解压文件:unzip file
递归处理子目录:zip -r file

五、tar工具

tar工具是归档文件不是压缩工具,归档完的文件可能比之前的文件还大一些。并且tar工具对于归档和展开归档并不会删除原文件。

1.将多个文件创建到指定路径的归档文件,归档文件通常以tar结尾

[[email protected] test]$tar -cf guidang.tar dir1 dir2

2.查看归档文件中的文件列表

[[email protected] test]$tar -tf guidang.tar

3.展开归档文件

#默认展开之当前目录
[[email protected] test]$tar -xf guidang.tar
#展开至指定归档,使用大C
[[email protected] test]$tar -xf guidang.tar -C /home/root

4.可以使用tar工具对已有的归档文件进行追加
但是对于归档并压缩的文件不支持追加。

[[email protected] test]$tar -rf guidang.tar file 

5.归档并压缩
归档的文件名,一定要与压缩的文件格式相对应。
-j-----bzip2
-z----gzip
-J----xz

  • 举例
[[email protected] test]$tar -Jcf zuoye.tar.xz zuoye/
  • tar打包时排除指定目录
    list为需要打包的文件的绝对路径,
    使用-T调用需要打包的列表文件,-X为排除需要打包的文件
[[email protected] test]$tar -jcf zuoye.tar.bzip2 -T list -X fei
  • 使用tar时将文件进行分割
-b 1M 分割成1M大小的块,-d以数字的方式进行区分,zuoye指定分割后文件前缀
[[email protected] test]$ split  -b 1M -d zuoye.tar.gzip2 zuoye
[[email protected] test]$ ls
zuoye00  zuoye01  zuoye.tar.bzip2
#将分割的文件合并
[[email protected] test]$cat zuoye0* >zuoye.tar.bzip2