Linux打包压缩解压缩命令
Linux打包压缩解压缩
打包跟压缩的区别:
1、打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的;
压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩。
2、压缩技术有很多种,因此虽然文件名与文件类型没有直接关系,但是一般情况下还是加上扩展名以表明是使用何种压缩方式压缩,便于使用相应的解压缩技术来还原。
3、常见扩展名
- .z : 使用compress 技术压缩,已经基本不再使用
- .gz : 使用gzip技术压缩,只能对单个文件进行压缩和解压缩。
- .bz2:使用bzip2技术压缩,相对于gzip,压缩比更高,只能对单个文件进行压缩解压缩
- .tar : 使用tar程序打包,但是没有经过压缩
- .tar.gz : 使用tar程序打包,并经过 gzip 技术压缩
- .tar.bz2 : 使用tar程序打包,并经过bzip2技术压缩
4、tar 命令:
常用选项:
-
-c : 建立打包文件,可配合-v来查看详细信息
-
-t : 查看打包文件的内容
-
-x :解打包或解压缩
-
-j : 使用bzip2进行压缩或解压缩,此时文件名最好为 *.tar.bz2
-
-z : 使用gzip进行压缩解压缩,文件名最好为*.tar.gz
-
-v : 显示详细信息
-
-f : filename 使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边
-
-C :要解压缩到的目录名
-
-p : 保留备份数据的原本属性与权限
-
-P : 保留绝对路径,允许备份数据中含有根目录
基本用法:
-
打包压缩
- tar [-j] [-z] [cv] [-f(打包后的文件名)] 要打包的文件
- tar -jcvf filename.tar.bz2 file1 file2 file3
- tar -zcvf filename.tar.gz file1 file2 file3
-
查看文件
- tar [-j] [-z] [tv] [-f (压缩后文件名)]
- tar -jtvf filename.tar.bz2
- tar -ztvf filename.tar.gz
-
解压缩
- tar [-j] [-z] [xv] [-f 压缩后文件名] [-C 目录名]
- tar -jxvf filename.tar.bz2 -C dir
- tar -zxvf filename.tar.bz2 -C dir
实例:
-
使用 tar 打包并压缩备份/test目录
- tar -zpcv -f test.tar.gz /test
- tar -zpcv -f test.tar.gz /test
-
查看压缩文件
- tar -ztvf test.tar.gz
- tar -ztvf test.tar.gz
-
解压缩
- tar -zxvf test.tar.gz -C /software
- 如果不加-C,则会在当前目录下进行解压缩操作
5、gzip 命令:
常用选项:
-c : 将压缩数据输出至屏幕
-d : 解压缩
-t :检验压缩文件的一致性,即查看文件有无错误
-v : 显示详细信息,如原文件,压缩比等
-# : 压缩等级 :-1 最快、压缩比最差
-9 最慢、压缩比最好
默认为-6
实例:
- 将/etc/man.config 复制到/tmp,并用gzip压缩
- cp /etc/man.config /tmp
- gzip -v man.config
- 使用zcat 命令读取压缩后文件内容
- zcat man.config.gz
- 解压缩
- gzip -d man.config.gz (会将原来的压缩文件删除)
- 压缩同时保留原文件
- gzip -9 -c man.config > man.config.gz
5、bzip2 命令:
常用命令:
-c:压缩过程产生的数据输出至屏幕
-d:解压缩
-k:保留原文件
-z:压缩
-v:显示详细信息
-#:与 gzip 相同,-1 最快,-9 压缩比最佳
实例:
- 压缩:bzip2 -z man.config
- 查看文件内容:bzcat man.config.bz2
- 解压缩:bzip2 -d man.config.bz2
- 使用最佳压缩比,并保留原文件
- bzip2 -9 -c man.config > man.config.bz2
- bzip2 -9 -k manconfig