如何在 sun solaris 中创建压缩焦油?

Gir*_*ara 11 tar

我已登录到 Sun Solaris OS。我想创建并提取一个压缩的 tar 文件。我试过这个普通的 UNIX 命令:

tar -cvzf file.tar.gz directory1
Run Code Online (Sandbox Code Playgroud)

在 Sun OS 中执行失败并出现以下错误

bash-3.2$ tar -cvzf file.tar.tz directory1
tar: z: unknown function modifier
Usage: tar {c|r|t|u|x}[BDeEFhilmnopPqTvw@[0-7]][bfk][X...] [blocksize] [tarfile] [size] [exclude-file...] {file | -I include-file | -C directory file}...
Run Code Online (Sandbox Code Playgroud)

Rom*_*nov 29

为避免创建临时中间文件,您可以使用此命令

tar cvf - directory1|gzip -c >file.tar.gz
Run Code Online (Sandbox Code Playgroud)

  • 这具有一些处理可以并行发生的潜在优势。 (2认同)
  • @Mark:根据[手册页](http://ibgwww.colorado.edu/~lessem/psyc5112/usail/man/solaris/tar.1.html),“如果省略`f`,`tar`将使用由 `TAPE` 环境变量指示的设备(如果设置);否则,它将使用在 `/etc/default/tar` 中定义的默认值。” 因此,不,您似乎无法安全地假设不需要 `f -`。 (2认同)
  • @rc1,tar 中的破折号表示您将输出文件设置为 STDOUT。有两种类型的参数:BSD 和 SYSV。Linux tar 可以与它​​们一起使用(cvf 之前有和/没有破折号) (2认同)

ter*_*don 10

看起来Solaristar不知道如何压缩。所以只需手动执行:

tar -cvf file.tar directory1 && gzip file.tar
Run Code Online (Sandbox Code Playgroud)

-z无论如何,这就是GNU tar 所做的全部切换。上面的命令将产生file.tar.gz.