tar是Unix/Linux中最常用的归档管理工具,可以把一系列文件归档到一个大文件中,也可以把档案文件解开恢复数据
tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用
常用参数:
参数 | 含义 |
-c | 生成归档文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-t | 了列出档案中包含的文件 |
-x | 解压档案文件 |
注意:除了选项f必须放在参数的最后,其他参数顺序任意
打包:
tar -cvf test.tar *.txt
# ls
1.txt 2.txt 3.txt 4.txt
# tar -cvf test.tar *.txt
1.txt
2.txt
3.txt
4.txt
# ll
1.txt 2.txt 3.txt 4.txt test.tar
解包:
tar -xvf test.txt,默认解压到当前目录下
# ls
test.tar
# tar -xvf test.tar
1.txt
2.txt
3.txt
4.txt
# ls
1.txt 2.txt 3.txt 4.txt test.tar
以上打包和解包在实际过程中并不建议使用,因为此方法得到的包并没有压缩(即包大小和原文件大小相同)。下面介绍压缩和解压的方法:
增加选项z,为gzip压缩方式
压缩打包:tar -zcvf test.tar.gz *.txt
$ tar -zcvf test.tar.gz *.txt
1.txt 2.txt 3.txt 4.txt test.tar
$ tar -zcvf test.tar.gz *.txt
1.txt
2.txt
3.txt
4.txt
$ ls
1.txt 2.txt 3.txt 4.txt test.tar test.tar.gz
$ ll
总用量 28
drwxrwxr-x 2 panjiajia panjiajia 4096 8月 27 21:01 ./
drwxrwxr-x 7 panjiajia panjiajia 4096 8月 23 19:32 ../
-rw-rw-r-- 1 panjiajia panjiajia 0 8月 27 21:00 1.txt
-rw-r--r-- 1 root root 120 8月 27 20:59 2.txt
-rw-r--r-- 1 root root 0 8月 23 20:19 3.txt
-rw-r--r-- 1 root root 0 8月 23 20:19 4.txt
-rw-rw-r-- 1 panjiajia panjiajia 10240 8月 27 21:00 test.tar
-rw-rw-r-- 1 panjiajia panjiajia 335 8月 27 21:01 test.tar.gz
ll可以看出,test.tar大小是test.tar.gz的3倍
解压解包:tar -zxvf test.tar.gz
$ ls
test.tar test.tar.gz
$ tar -zxvf test.tar.gz
1.txt
2.txt
3.txt
4.txt
$ ls
1.txt 2.txt 3.txt 4.txt test.tar test.tar.gz
增加选项j,为bzip2压缩方式
压缩打包:tar -jcvf test.tar.bz2 *.txt
解压解包:tar -jxvf test.tar.bz2
$ ls
1.txt 2.txt 3.txt 4.txt test.tar test.tar.gz
$ tar -jcvf test.tar.bz2 *.txt
1.txt
2.txt
3.txt
4.txt
$ ls
1.txt 2.txt 3.txt 4.txt test.tar test.tar.bz2 test.tar.gz
$ rm -rf *.txt
$ ls
test.tar test.tar.bz2 test.tar.gz
$ tar -jxvf test.tar.bz2
1.txt
2.txt
3.txt
4.txt
$ ll
总用量 32
drwxrwxr-x 2 panjiajia panjiajia 4096 8月 27 21:38 ./
drwxrwxr-x 7 panjiajia panjiajia 4096 8月 23 19:32 ../
-rw-rw-r-- 1 panjiajia panjiajia 0 8月 27 21:00 1.txt
-rw-r--r-- 1 panjiajia panjiajia 120 8月 27 20:59 2.txt
-rw-r--r-- 1 panjiajia panjiajia 0 8月 23 20:19 3.txt
-rw-r--r-- 1 panjiajia panjiajia 0 8月 23 20:19 4.txt
-rw-rw-r-- 1 panjiajia panjiajia 10240 8月 27 21:00 test.tar
-rw-rw-r-- 1 panjiajia panjiajia 361 8月 27 21:29 test.tar.bz2
-rw-rw-r-- 1 panjiajia panjiajia 335 8月 27 21:01 test.tar.gz
ll可以看出,bz2压缩方式比gz压缩方式得到的包略大
zip压缩方式:
压缩打包:zip test.zip *.txt
解压解包:unzip test.zip
指定解压目录:
tar -zxvf test.tar.gz -C 解压目录
tar -jxvf test.tar.bz2 -C 解压目录
uzip test.zip -d 解压目录