tar 本身为一个打包工具,可以把目录打包成一个文件,它的好处是它把所有文件整合成一个大文件整体,方便拷贝或者移动。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 语法:tar [-zjxcvfpP] filename,tar命令有多个选项,其中不常用的做了标注。
“-z” : 同时用gzip压缩
“-j” : 同时用bzip2压缩
“-x” : 解包或者解压缩
“-t” : 查看tar包里面的文件
“-c” : 建立一个tar包或者压缩文件包
“-v” : 可视化
“-f” : 后面跟文件名,压缩时跟 “-f 文件名”,意思是压缩后的文件名为filename, 解压时跟 “-f 文件名”,意思是解压filename. 请注意,如果是多个参数组合的情况下带有 “-f”,请把 “-f” 写到最后面。
“-p” : 使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用)
“-P” : 可以使用绝对路径。(不常用)
--exclude filename : 在打包或者压缩时,不要将filename文件包括在内。(不常用)
|
那如何分卷解压缩呢?
假如要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| tar cjf - logs/ |split -b 1m - logs.tar.bz2 完成后会产生下列文件: logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac 要解压的时候只要执行下面的命令就可以了: cat logs.tar.bz2.a* | tar xj
再举例: 要将文件test.pdf分包压缩成500 bytes的文件: tar czf - test.pdf | split -b 500 - test.tar.gz 最后要提醒但是那两个"-"不要漏了,那是tar的ouput和split的input的参数。
tar cjf - logs/ |split -b 1m - logs.tar.bz2. 完成后会产生下列文件: logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac 要解压的时候只要执行下面的命令就可以了: cat logs.tar.bz2.a* | tar xj
|