tar是linux下最常用的打包命令,使用tar打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的,也有.gz或.bz2结尾的。
1 常用参数
-c,--create # 新建打包文件,搭配-v查看被打包的文件名
-t,--list # 列出包的内容(有那些文件名)
-x,--extract # 解压,搭配-C(解压到特定目录)
# 注意:-c -t -x不能同时出现在同一命令行中。
-j,--bzip2 # 通过bzip2的支持进行压缩和解压缩,文件名最好为*.tar.bz2
-z,--gzip # 通过gzip的支持进行压缩或解压缩,文件名最好为*.tar.gz
-v,--verbose # 显示详细
-f filename # 接要被处理的文件,建议:-f 单独使用
-C,--directory = DIR # 解压到特定目录DIR
-p # 保留备份数据文件的权限和属性,常用于备份重要的数据
-P # 保留打包文件的根目录
-X, --exclude-from=FILE # 排除指定文件
2 常用组合示例
2.1 打包
参数组合:将a.txt b.txt c.txt d.txt这四个文件打包成abcd.tar.bz2。
#tar -cvj -f abcd.tar.bz2 a.txt b.txt c.txt d.txt
详情:
[@tc_57_161 lyy]# ll total 28 -rw-r--r-- 1 root root 10240 Dec 12 18:50 a.txt -rw-r--r-- 1 root root 10 Dec 12 18:48 b.txt -rw-r--r-- 1 root root 10 Dec 12 18:49 c.txt -rw-r--r-- 1 root root 10 Dec 12 18:49 d.txt -rw-r--r-- 1 root root 196 Dec 12 18:51 new.tar.bz2 drwxr-xr-x 3 root root 24 Nov 23 19:32 project drwxr-xr-x 2 root root 135 Dec 1 15:52 test [@tc_57_161 lyy]# tar -cvj -f abcd.tar.bz2 a.txt b.txt c.txt d.txt a.txt b.txt c.txt d.txt [@tc_57_161 lyy]# ll total 32 -rw-r--r-- 1 root root 196 Dec 16 21:18 abcd.tar.bz2 -rw-r--r-- 1 root root 10240 Dec 12 18:50 a.txt -rw-r--r-- 1 root root 10 Dec 12 18:48 b.txt -rw-r--r-- 1 root root 10 Dec 12 18:49 c.txt -rw-r--r-- 1 root root 10 Dec 12 18:49 d.txt -rw-r--r-- 1 root root 196 Dec 12 18:51 new.tar.bz2 drwxr-xr-x 3 root root 24 Nov 23 19:32 project drwxr-xr-x 2 root root 135 Dec 1 15:52 test
2.2查询
[@tc_57_161 lyy]# tar -jtv -f abcd.tar.bz2 -rw-r--r-- root/root 10240 2017-12-12 18:50 a.txt -rw-r--r-- root/root 10 2017-12-12 18:48 b.txt -rw-r--r-- root/root 10 2017-12-12 18:49 c.txt -rw-r--r-- root/root 10 2017-12-12 18:49 d.txt
2.3 解压
命令:
# tar -jxv -f abcd.tar.bz2 -C mytar/
# -C 解压到哪个目录
详情:
[@tc_57_161 lyy]# mkdir mytar [@tc_57_161 lyy]# tar -jxv -f abcd.tar.bz2 -C mytar/ a.txt b.txt c.txt d.txt [@tc_57_161 lyy]# ls -l mytar/ total 24 -rw-r--r-- 1 root root 10240 Dec 12 18:50 a.txt -rw-r--r-- 1 root root 10 Dec 12 18:48 b.txt -rw-r--r-- 1 root root 10 Dec 12 18:49 c.txt -rw-r--r-- 1 root root 10 Dec 12 18:49 d.txt [@tc_57_161 lyy]#