tar 命令
虽然 zip
命令能够很好地将数据压缩和归档进单个文件,但是目前,Unix 和 Linux 上广泛使用的归档工具是 tar
命令。
tar
命令开始是用来将文件写到磁带设备上归档的,然而它也能把输出写到文件里,这种用法在 Linux 上已经普遍用来归档数据了。 利用 tar
命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
打包和压缩
打包:将一大堆文件或目录变成一个总的文件;
压缩:将一个大的文件通过一些压缩算法变成一个小文件;
为什么要区分打包和压缩呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar
命令),然后再用压缩程序进行压缩(gzip
、bzip2
命令等)。
命令用法
function
参数定义了 tar
命令应该做什么,如下表所示:
功能
长名称
描述
-A
--concatenate
将一个已有的 tar 归档文件追加到另一个已有 tar 归档文件
-c
--create
创建一个新的归档文件
-d
--diff
检查归档文件和文件系统的不同之处
-r
--append
追加文件到已有 tar 归档文件末尾
-t
--list
列出已有 tar 归档文件的内容
-u
--update
将比 tar 归档文件中已有的同名文件新的文件追加到该 tar 归档文件中
-x
--extract
从已有 tar 归档文件中提取文件
常用可选参数
参数
说明
-C dir
切换到指定目录
-f file
输出结果到文件或设备 file
-j
将输出重定向给 bzip2
命令来压缩内容
-p
保留所有文件权限
-v
在处理文件时显示文件
-z
在输出重定向给 gzip
命令来压缩内容
使用实例
创建名为 test.tar 的归档文件,包含 test 和 test2 目录内容
列出 test.tar 的内容(但并不提取文件)
提取 test.tar 的内容
Last updated