在系统使用过程中,对文件进行存储和传输是必不可少的。从文件管理的角度而言,同时存储或传输多个文件的效率显然低于存储和管理一个文件。那么,为了提高文件管理的效率,是否有方法将多个文件打包成一个文件?tar 命令应运而生。
tar 取名于 “tape archive” ,最初为了将文件存储于磁带机而设计,随着设计人员对其不断改进,目前 tar 已经演变为以打包功能为核心的多功能应用程序。在具体使用上,可以认为 tar 命令形式由 “功能参数(主参数)” 和 “选项参数(辅助参数)” 构成。功能参数表明了 tar 的主要功能,包括 “打包、查看、拆包” 三种,这三种功能为互斥关系,即任何一次 tar 操作必为且仅为三种操作之一。选项参数作为功能参数的必要补充,与功能参数搭配使用。对选项参数的约束较少,一般一个选项对于三种功能都适用。
一、tar 的功能参数
理解 tar 的功能,可以将打包文件看成一辆大巴车,将众多入包文件看成大巴车的乘客。大巴车与乘客的关系(上车、下车)体现了 tar 的各主要功能。
- 打包文件制作
- 打包文件制作即是将众多文件打包成一个文件,可以看成是”上车功能”。
- 功能参数: –create / -c / c
- 打包文件查看
- 打包文件查看即是查看一个打包文件中的内容,以看成是”查票功能”。
- 功能参数: –list / -t / t
- 打包文件解包
- 打包文件解包即是将一个打包文件拆开,还原出被打包的文件,可以看成是”下车功能”。
- 功能参数: –extract / -x / x
二、tar 的选项参数
- 指定文件选项
- 利用 tar 功能,无论是打包、查看、还是拆包,都必须要告诉 tar 要操作的文件是哪一个,即指定操作的目标(打包成那个文件、查看哪个文件、拆包哪个文件),这个目标就是通过”指定文件选项”指明。
- 选项参数: –file=filename / -f filename
- 处理过程信息显示选项
- 通过该选项,可以对 tar 操作的过程进行显示。
- 选项参数: –verbose / -v / -vv / v / vv
> 注:使用 vv 时,显示更为详细的过程信息。
- 指定解包文件夹选项
- 该选项可以指定将 tarball 解包到指定的文件夹中去。
- 选项参数: –directory=DIR / -C DIR
- 压缩选项
- 打包技术常与压缩技术相结合,tar 也不例外。通过不同的选项参数,tar 可以结合多种不同的压缩技术。
- 选项参数:
选项 含义 -z / –gzip 为 tar 操作(打包、查看、解包)提供 gzip 压缩技术支持 -j / –bzip2 为 tar 操作(打包、查看、解包)提供 bzip2 压缩技术支持 – – zstd 为 tar 操作(打包、查看、解包)提供 zstd 压缩技术支持
注:Arch 中常用的软件包压缩方式-a / –auto-compress 根据 archive 档案的后缀自动选择解压的应用程序
三、tar 的使用
利用功能参数和选项参数的组合,即可进行所需的 tar 操作,如:
tar -cf archive.tar foo bar
tar -tvf archive.tar
tar -xf archive.tar