作者:melanie_0409 | 来源:互联网 | 2023-05-17 14:56
最近遇到文件压缩文件的问题,顺手查了一下,保存下来,以备以后参考:目前Linux下常见的压缩文件扩展名:*.Zcompress程序压缩的文件(最早期使用),压缩后取
最近遇到文件压缩文件的问题,顺手查了一下,保存下来,以备以后参考:
目前Linux下常见的压缩文件扩展名:
*.Z compress程序压缩的文件(最早期使用),压缩后取代源文件;
*.zip 一个夸平台的文件打包程序,适用于Linux、windows和Mac OS系统;
*.bz2 bzip2程序压缩的文件;
*.gz gzip程序压缩的文件;
*.tar tar程序打包的文件,并没有压缩;
*.tar.gz tar程序打包的文件,并经过gzip程序的压缩;
*.tar.bz2 tar程序打包的文件,并经过bzip2程序压缩。
A)*.zip格式是大家最常见的一种,它具有夸操作系统平台性,可以同时在windows、Linux和Mac Os上使用。
大家可以用zip格式压缩那些需要共享给windows用户的文件。压缩与解压.ZIP格式的文件:
[Lee@leedd.Com tmp]$ zip -r test.zip tmp
adding: test/ (stored 0%)
adding: test/data-file (deflated 24%)
adding: test/r (deflated 51%)
下面是如果解压一个zip文档:
[Lee@leedd.Com tmp]$ rm -rf test #为测试解压,先删除当前目录下的tmp文件
[Lee@leedd.Com tmp]$ unzip test.zip
Archive: test.zip
creating: test/
inflating: test/data-file
inflating: test/r
B) 压缩与解压*.tar*、.tar.gz、*.tar.bz2 格式的文件及对比:
Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩,压缩是由gzip与bzip2来实现的。因此把*.tar*、.tar.gz、*.tar.bz2 放到一起来举例:
比如我们要把目录/var/tmp下的test目录打包压缩到当前目录
[Lee@leedd tmp]$ tar -cvf test.tar test ### 仅打包,不压缩
[Lee@leedd tmp]$ tar -zcvf test.tar.gz test ### 打包后以gzip压缩
[Lee@leedd tmp]$ tar -jcvf test.tar.bz2 test ### 打包后以bzip2压缩
[Lee@leedd tmp]$ ll test.tar* ### 对比压缩后文件大小
-rw-r--r-- 1 Lee mock 10240 01-18 17:05 test.tar
-rw-r--r-- 1 Lee mock 357 01-18 17:06 test.tar.bz2
-rw-r--r-- 1 Lee mock 327 01-18 17:05 test.tar.gz
如何解压缩包:
[Lee@leedd tmp]$ tar -xvf test.tar
[Lee@leedd tmp]$ tar -xvf test.tar.gz
[Lee@leedd tmp]$ tar -jxvf test.tar.bz2
上面测试中,每次要删除解压后的test文件后解压打其他目录,因为如果不定义解压后目录路径和名字则默认解压到当前目录并以把压缩包名称作为文件夹名字。如果要解压到其他目录(如:/var/tmp/find)则如下:
[Lee@leedd tmp]$ tar -jxvf test.tar.bz2 -C /var/tmp/find