tar
最后更新于
最后更新于
我们已经知道了如何压缩单个文件,但没有一个能像 zip
那样打包文件的。但这到此为止。Tape Archiver, 或 tar(1)
, 就是 Slackware 最常用的打包工具。像其他打包工具那样,tar
生成一个包含其他文件和目录的文件。它默认不压缩生成的文件(该文件又叫“tarball”),不过 Slackware 所带的版本支持各种压缩方案,包括上面提到的那几种。
使用 tar
可以简单也可以复杂,随你喜好。一般,生成“tarball”要使用参数 -cvzf
。我们来深入地看看:
参数 | 意义 |
---|---|
tar
对于参数的顺序要求比别的程序更严格。 -f
参数当读或写入文件时必须出现,并且紧跟其后的必须是文件名。看看这个例子:
上面,第一个命令能够正常运行,第二个会失败因为 tar
会尝试打开文件 z
而不是 /tmp/tarball.tar.gz
.
译者注:因为
-f
参数要求一个文件名,因此在-f
之后知道空白字符的字符串都会被当做一个文件路径使用。
既然我们已经充分了解了参数的意义,来让我们看看如何创建和解压“tarball”。前面已经说过,-c
参数用来创建而 -x
用来解压。如果想创建或解压一个压缩过的“tarball”, 我们需要指定合适的压缩方案。自然,如果不想压缩文件也可以不填。下面的这个命令使用 gzip 算法创建并压缩一个“tarball”。尽管没有严格要求,但还是加上 .tar
的扩展名以及所使用的压缩算法为最好。
c
创建“tarball”
x
解压“tarball”
t
显示“tarball”的内容
v
输出更多信息
z
使用 gzip 压缩方案
j
使用 bzip2 压缩方案
J
使用 LZMA 压缩方案
p
保留权限信息