8.1 tar打包工具
tar本身就是一个打包工具,可以把目录打包成一个文件,它把所有文件整合成一个大文件,方便复制或者移动。该命令的格式为tar [-zjxcvfpP] filename tar
,它有多个选项。
**-c**
:表示建立一个tar包或者压缩文件包。**-x**
:表示解包或者解压缩。**-v**
:表示可视化。**-f**
:后面跟文件名(即-f filename
,表示压缩后的文件名为filename
,或者解压文件filename
。需要注意的是,如果是多个参数组合的情况下,请把-f
参数写到最后面。**-t**
:查看tar包中的文件。**-z**
:表示同时用gzip压缩。**-j**
:表示同时用bzip2压缩。**-J**
:表示同时用xz压缩。
可以使用# tar -cvf test111.tar test111
test111/
test111/2.txt
test111/1.txt
# ls
1.txt test111 test111.tar
**-tf**
查看tar包中的文件
使用# tar -tf test111.tar test111/ test111/2.txt test111/1.txt
tar
命令打包后,原文件不会消失。也可以同时打包多个文件或文件夹(多个文件名之间使用空格分隔)。tar
命令不仅可以打包目录,也可以打包文件,打包时可不加-v
选项,表示不可视化。示例命令如下:# rm -f test111.tar # tar -cf test.tar test111 1.txt # ls 1.txt test111 test.tar
tar
命令还可以解开打包文件。示例命令如下:# tar xvf test111.tar test111/ test111/2.txt test111/1.txt a.txt
8.2 打包的同时压缩
Linux下最常见的压缩文件通常都是.tar.gz格式的,下面介绍Linux下常见的后缀名所对应的压缩工具。
- .tar.gz:可以理解为先由tar打包,然后再由gzip压缩。
- .tar.bz2:可以理解为先由tar打包,然后再由bzip2压缩。
- .tar.xz:可以理解成先由tar打包,然后再xz压缩。
8.2.1 打包的同时使用gzip压缩
tar
命令非常好用的一个功能就是可以在打包时直接压缩,它支持gzip压缩、bzip2压缩和xz压缩。使用-z
选项,可以压缩成gzip格式的文件,示例命令如下:
使用# tar -czvf test111.tar.gz test111 test111/ test111/2.txt test111/1.txt # ls 1.txt test111 test111.tar.gz test.tar
-tf
选项,可以查看包或者压缩包的文件列表,示例命令如下:
使用# tar -tf test111.tar.gz test111/ test111/2.txt test111/1.txt # tar -tf test.tar test111/ test111/2.txt test111/1.txt 1.txt
-zxvf
选项,可以解压.tar.gz格式的压缩包,示例命令如下:# rm -rf test111 # ls 1.txt test111.tar.gz test.tar # tar -zxvf test111.tar.gz test111/ test111/2.txt test111/1.txt # ls 1.txt test111 test111.tar.gz test.tar
8.2.2 打包的同时使用bzip2压缩
和gzip压缩不同的是,这里使用-cjvf
选项来压缩,压缩过程如下:
使用# tar -cjvf test111.tar.bz2 test111 test111/ test111/2.txt test111/1.txt # ls 1.txt test111 test111.tar.bz2 test111.tar.gz test.tar
-tf
选项来查看压缩包的文件列表,示例命令如下:
使用# tar -tf test111.tar.bz2 test111/ test111/2.txt test111/1.txt
-jxvf
选项来解压.tar.bz2格式的压缩包,示例命令如下: ```tar -jxvf test111.tar.bz2
test111/ test111/2.txt test111/1.txt