压缩:指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容。
打包:指将多个文件(或目录)合并成一个文件,方便传递或部署。 压缩文件或打包文件常见的扩展名: *.tar.gz, *.tar.bz2;linux 系统一般文件 的扩展名用途不大,但是压缩或打包文件的扩展名是必须的,因为 linux 支持的压缩命令 较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法。
常见文件扩展名:
*.tar.gz tar 程序打包的文件,并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,并且经过 bzip2 的压缩
-c :建立打包文件,
-t :查看打包文件的内容含有哪些文件
-x :解打包或解压缩的功能,可以搭配
-C(大写)在特定到特定目录解开
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件最好为 *.tar.bz2
-z :通过 gzip 的支持进行压缩/解压缩:此时文件最好为 *.tar.gz
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来 -f filename:
-f 后面跟处理后文件的全名称(路径+文件名+后缀名) -C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个 选项
-p :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
注意 -c, -t, -x 不可同时出现在一串指令列中
TAR 常用的指令组合!!!
打包与压缩:
tar –zcv –f [/路径/]filename.tar.gz 被压缩的文件或目录
tar –jcv –f [/路径/] filename.tar.bz2 被压缩的文件或目录
练习:将/etc 目录下的所有文件打包并压缩/tmp/part1/tar/etc01.tar.gz
将/etc 目录下的所有文件打包并压缩/tmp/part1/tar/etc02tar.bz2
查询:
tar –ztv –f [/路径/] filename.tar.gz
tar –jtv –f [/路径/] filename.tar.bz2
备份:
tar –zpcv –f [/路径/]filename.tar.gz 被备份文件或目录
tar –jpcv –f [/路径/]filename.tar.bz2 被备份文件或目录
解压到当前目录:
tar –jxv –f [/路径/] filename.tar.bz2
tar –zxv –f [/路径/] filename.tar.gz
解压到指定目录:
tar -jxv -f [/路径/] filename.tar.bz2 –C 指定目录
tar -zxv -f [/路径/] filename.tar.gz -C 指定目录
将/tmp/下 etc01.tar.gz 解压到/tmp/目录下
[root@tedu ~]# cd /tmp/ #首先进入对应目录
[root@tedu tmp]# tar -zxvf etc01.tar.gz
将/tmp/下 etc01.tar.gz 解压到/usr/目录下
[root@tedu tmp]# tar -zxvf etc01.tar.gz -C /usr 或者[root@tedu tmp]# tar -zxvC /usr -f etc01.tar.gz