tar 命令用于文件的打包或压缩,是最为常用的打包压缩命令,其语法格式如下:

tar -czvf xxx.tar.gz  source_file (tar -czvf 包名.tar.gz  源文件)        #以tar.gz方式打包并gz方式压缩
tar -xzvf xxx.tar.gz -C path (tar -xzvf xxx.tar.gz -C 目标路径)          #解压缩包

注意:使用tar命令,打包仅仅是打包xxx.tar,打包并压缩就是xxxx.tar.gz,打包压缩的文件一定要指定文件格式,这样解包解压才好用对应的参数来解包解压缩,注意压缩包文件名和源文件位置不要颠倒了。

常用参数选项:

-c --create			:创建新的归档文件,即打包,打包的意思就是说把一堆文件打包成一个文件
-v --verbose 		:可视化,显示详细的tar处理的文件信息的过程
-f --file 			:要操作的文件名
-x  --extract		:解压文件
-z --gzip, --gunzip, --ungzip      :通过 gzip 来进行归档压缩,如 tar -czvf etc.tar.gz /etc/,解压使用tar -zxvf test.tar.gz
-j  --bzip2      	:通过 bzip2 来归档压缩文件,如 tar -jcvf test.tar.bz2 /etc/,解压使用tar -jxvf test.tar.bz2
-J					:使用xz压缩工具压缩成.xz文件,如 tar -Jcvf test.tar.xz /etc/,解压使用tar -Jxvf test.tar.xz
-t  --list 			:表示查看文件,查看文件中的文件内容
-C --directory=DIR  :解压文件至指定的目录,如果是解压到当前目录,可以不加-C

演示示例:

[root@Centos8 shell_scripy]# tar -cvf etc.tar  /etc/						#仅仅是打包,并没有压缩
[root@Centos8 shell_scripy]# tar -xvf etc.tar								#解包

[root@Centos8 shell_scripy]#  tar -czvf etc.tar.gz /etc/					#打包并压缩/etc/目录,压缩包存放在当前目录,名字为etc.tar.gz
[root@Centos8 shell_scripy]#  tar -xzvf  etc.tar.gz -C ./find/				#解压缩etc.tar.gz到指定目录,如果是解压到当前目录,可以不用加-C
[root@Centos8 shell_scripy]# tar -tvf  etc.tar.gz 							#查看压缩包内容

我们更习惯使用gzip格式进行压缩,当然xz格式是压缩率最好的,压缩后文件大小也是最小的,但它的压缩时间也就长。