虽然 gzip 与 bzip2 也能够针对目录来进行压缩, 不过,这两个命令对目录的压缩指的是将目录内的所有文件 "分别" 进行压缩的动作。 tar 可以将多个目录或文件打包成一个大文件,同时还可以透过 gzip/bzip2 的支持,将该文件同时进行压缩。
tar
tar的选项与参数非常的多,这里只总结几个常用的选项: # tar [-j|-z] [cv] [-f 创建的文件名]filename... <==打包与压缩 # tar [-j|-z] [tv] [-f 创建的文件名] <==察看文件名 # tar [-j|-z] [xv] [-f 创建的文件名] [-C 目录] <==解压缩 选项与参数: -c :创建打包文件,可搭配-v 来察看过程中被打包的文件名(filename) -t :察看打包文件的内容含有哪些文件名,重点在察看文件名就是了; -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开 特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。 -j :透过 bzip2 的支持进行压缩/解压缩:此时文件名最好为*.tar.bz2 -z :透过 gzip 的支持进行压缩/解压缩:此时文件名最好为*.tar.gz -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来 -f filename:-f 后面要立刻接要被处理的文件名。建议 -f 单独写一个选项 -C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。 …… -p :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件 -P :保留绝对路径,亦即允许备份数据中含有根目录存在之意; --exclude=FILE:在压缩的过程中,不要将FILE 打包
最简单的使用 tar 就只要记忆底下的方式:
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
例子:
使用 tar 加入 -j 或 -z 的参数备份 /etc/ 目录
# tar -jpcv -f /root/etc.tar.bz2 /etc
查阅 tar 文件的数据内容(可察看文件名)
# tar -jtv -f /root/etc.tar.bz2
将备份的数据解压缩,并考虑特定目录的解压缩动作 (-C 选项的应用)
# tar -jxv -f /root/etc.tar.bz2
将该文件在不同的目录解开
# tar -jxv -f /root/etc.tar.bz2 -C /tmp
仅解开单一文件的方法
# tar -jxv -f 打包档.tar.bz2 待解开档名
# tar -jxv -f /root/etc.tar.bz2 etc/shadow
原文地址:http://blog.csdn.net/lsh_2013/article/details/46418061