在Linux系统中,解包tar文件的指令格式如下:
tar -xvf filename
仍然以《Linux中的打包与压缩指令:tar》中我们通过tar打包的src.tar文件为例,
CodingAnts@ubuntu:/tmp/tarcom$ ls -Al
total 28
drwxrwxr-x 3 CodingAnts CodingAnts 4096 2012-04-03 00:56 des
drwxrwxr-x 2 CodingAnts CodingAnts 4096 2012-04-03 01:54 src
-rw-rw-r-- 1 CodingAnts CodingAnts 10240 2012-04-02 22:52 src.tar
tarcom目录下有两个文件夹src和des,以及一个tar打包文件src.tar,包的内容为src中的file1和file2文件,在《如何查看通过tar压缩包中的内容》中介绍了查看tar压缩包内容的方法,这里我们就先看下src.tar的内容:
CodingAnts@ubuntu:/tmp/tarcom$ tar tvf src.tar
-rw-rw-r-- CodingAnts/CodingAnts 44 2012-04-02 21:49 src/file1
-rw-rw-r-- CodingAnts/CodingAnts 44 2012-04-02 21:49 src/file2
解包tar文件的内容和查看tar文件的内容类似,只要将选项-t变更为-x即可。
CodingAnts@ubuntu:/tmp/tarcom$ cd des 进入des目录
CodingAnts@ubuntu:/tmp/tarcom/des$ cp ../src.tar . 拷贝src.tar到des目录
CodingAnts@ubuntu:/tmp/tarcom/des$ ll
total 20
drwxrwxr-x 2 CodingAnts CodingAnts 4096 2012-04-03 02:04 ./
drwxrwxr-x 4 CodingAnts CodingAnts 4096 2012-04-03 00:55 ../
-rw-rw-r-- 1 CodingAnts CodingAnts 10240 2012-04-03 02:04 src.tar
CodingAnts@ubuntu:/tmp/tarcom/des$ tar xvf src.tar 在当前目录解压src.tar包
src/file1
src/file2
CodingAnts@ubuntu:/tmp/tarcom/des$ ls -AlR 查看des目录下所有文件,包括子目录
.:
total 16
drwxrwxr-x 2 CodingAnts CodingAnts 4096 2012-04-03 02:05 src
-rw-rw-r-- 1 CodingAnts CodingAnts 10240 2012-04-03 02:04 src.tar
./src:
total 8
-rw-rw-r-- 1 CodingAnts CodingAnts 44 2012-04-02 21:49 file1
-rw-rw-r-- 1 CodingAnts CodingAnts 44 2012-04-02 21:49 file2
对比下就会发现,经过解压指令后,des文件夹下多了一个src目录,该目录就是tar包中的所有内容。
tar包解压时默认在当前位置解压所有的文件,如果需要指定解压后的位置,则需要通过-C选项来指定解压位置。