虽然gzip和bzip2也可以针对目录进行解压缩,但是它们是分别对目录里面的文件或者目录进行解压缩。所以在最好会产生很多压缩文件。这是非常头痛的事情。
前段时间迁移数据库文件。a服务器里面我备份的sql文件有750g之后想通过scp 复制到别的服务器上去。到时不知道是由于网络原因还是稳健太大的原因。在辅助过去的中途都会中断。导致辅助不完整。因此才用压缩在删除scp过去。
tar的参数非常多,我只讲几个常用的参数,更多的参数可以自行用man tar 查询。
【root@xxx ~】#tar [-j] [-z] [cv] [-f 新建的文件名] filename ...《==打包和压缩
【root@xxx ~】#tar[-j][-z][tv][-f新建的文件名] 《==查看文件名
【root@xxx ~】#tar [-j][-z] [xv] [-f新建的文件名] 《==解压缩
参数:
-c:新建打包文件,可搭配 -v 来查看过程中被打包的文件名(filename)
-t: 查看打包文件有哪些文件名,重点是查看文件名;
-x: 解打包或者解压缩的功能,可以搭配 -C (大写) 在特定目录解开;
要留意的是 -c ,-t ,- x 不可同时出现在一串命令行中
-j: 通过bzip2 的支持进行压缩、解压缩,此时文件名最好为 *.tar.bz2
-z: 通过gzip 的支持进行压缩、解压缩,此时文件名最好为 * .tar.gz
-v: 在压缩、解压缩的过程中,将正在执行的文件名显示出来
-f: filename: -f 后面要接被处理的文件名,建议 -f 单独写个参数
-C : 目录 : 这个参数解压时候。若要在的顶目录解压缩,可以使用这个参数
其实最简单的使用tar就只要记忆下面的方式即可:
压缩: tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查询: tar -jtv -f filename .tar.bz2
解压缩: tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
其中个人比较中意的一个参数是 -p
这个参数是为了保存原本文件的权限和属性,
强调一下若备份完了之后 想删除文件 尽量不要用rm -rf 是很危险的命令!!