Unix 在Solaris和AIX中组合gunzip和tar命令

Unix 在Solaris和AIX中组合gunzip和tar命令,unix,solaris,tar,aix,gunzip,Unix,Solaris,Tar,Aix,Gunzip,我正在运行以下命令以在Solaris和AIX中解压文件: # gunzip /opt/myfile.tar.gz | tar -xvf- 但我得到了一个错误: tar: Unexpected end-of-file while reading from the storage media. 我需要修复什么?为什么要修复?gunzip的默认行为是就地解压文件,用解压文件替换压缩文件,并且您没有指定NESSCESSARY命令将未压缩的数据流放入标准输出。因此,tar命令不会通过管道接收任何要处理

我正在运行以下命令以在Solaris和AIX中解压文件:

# gunzip /opt/myfile.tar.gz | tar -xvf-
但我得到了一个错误:

tar: Unexpected end-of-file while reading from the storage media.

我需要修复什么?

为什么要修复?gunzip的默认行为是就地解压文件,用解压文件替换压缩文件,并且您没有指定NESSCESSARY命令将未压缩的数据流放入标准输出。因此,tar命令不会通过管道接收任何要处理的内容,因此您会收到所看到的错误消息

这将有助于:

gunzip -c ../myfile.tar.gz | tar -xfv -
此命令行在Solaris 11.3上进行了测试。。。旧版本的Solaris可能需要不同的命令行排序,如

gunzip -c ../myfile.tar.gz | tar -xvf -

为什么要这样做?gunzip的默认行为是就地解压文件,用解压文件替换压缩文件,并且您没有指定NESSCESSARY命令将未压缩的数据流放入标准输出。因此,tar命令不会通过管道接收任何要处理的内容,因此您会收到所看到的错误消息

这将有助于:

gunzip -c ../myfile.tar.gz | tar -xfv -
此命令行在Solaris 11.3上进行了测试。。。旧版本的Solaris可能需要不同的命令行排序,如

gunzip -c ../myfile.tar.gz | tar -xvf -

我认为类似的东西应该可以工作,但我没有一个Solaris系统来测试它

gzip -dc /opt/myfile.tar.gz | tar xvf -

我认为类似的东西应该可以工作,但我没有一个Solaris系统来测试它

gzip -dc /opt/myfile.tar.gz | tar xvf -

我知道还有其他方法可以解开它。。!但我想用上面的方式。它应该能正常工作。。!?它不应该按指定的方式工作,因为
gunzip
默认为写入文件,而不是读取管道的标准输出
gzcat
gunzip-c
将其更改为写入stdout。我知道还有其他方法可以将其解压。。!但我想用上面的方式。它应该能正常工作。。!?它不应该按指定的方式工作,因为
gunzip
默认为写入文件,而不是读取管道的标准输出
gzcat
gunzip-c
将其更改为写入stdout。在macOS Sierra上,BSD
tar
将使用
tar xfv-
(选项前无破折号)和
tar-xvf-
但不使用
tar-xfv-
(选项前有破折号)。
tar
语法早于几乎普遍使用
-X
来表示选项的日期;它最初只支持前面没有破折号的选项。该版本需要单个集群中的所有选项,如果出现
f
,则使用下一个参数作为tar文件名。一些版本的
tar
在选项前接受破折号,然后像
getopt()
函数那样处理
f
;文件名紧随其后。GNU
tar
在这方面的行为与BSD
tar
基本相同-如果选项以破折号开头,则
-f
必须位于集群的末尾,并且tar文件名要么附在
f
上,要么附在下一个参数中。这些较现代版本的
tar
支持多个带参数的命令行选项-当选项集群以
-
开头时,它们相当传统。在macOS Sierra上,BSD
tar
将与
tar xfv-
一起使用(选项前没有破折号)使用
tar-xvf-
但不使用
tar-xfv-
(在选项前加一个破折号)。
tar
语法早于几乎普遍使用
-X
来表示选项的日期;它最初只支持前面没有破折号的选项。该版本需要单个集群中的所有选项,如果出现
f
,则使用下一个参数作为tar文件名。一些版本的
tar
在选项前接受破折号,然后像
getopt()
函数那样处理
f
;文件名紧随其后。GNU
tar
在这方面的行为与BSD
tar
基本相同-如果选项以破折号开头,则
-f
必须位于集群的末尾,并且tar文件名要么附在
f
上,要么附在下一个参数中。这些较现代版本的
tar
支持多个带参数的命令行选项-当选项集群以
-
开头时,它们相当传统。