tar xvfz 在 cygwin 中如何工作?
How tar xvfz works in cygwin?
我尝试 tar 使用 xvfz 和 -xvfc 在 Windows 上都无法在 Cygwin 中工作。
$ tar xvfz sshpass-1.0.5.tar.gz
tar (child): sshpass-1.0.5.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
这里用'-'命令tar
$ tar -xvfz sshpass-1.0.5.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
问题:
1. tar 如何与 -
或不与 _
一起使用?
请建议执行tar -xvfz sshpass-1.0.5.tar.gz.
tar 有 3 种语法(根据 this ):
长选项(--文件)
空头选项 (-f)
旧选项(f)
对于旧的选项语法,所有字母都必须跟在 "tar" 之后,并且必须全部落入一个没有空格的块中。字母的顺序并不重要,只要这些字母的参数在选项块之后遵循相同的顺序即可。
这种 tar 选项的旧写法甚至会让有经验的用户感到惊讶。比如两条命令:
# tar cfz sshpass-1.0.5.tar.gz file
# tar -cfz sshpass-1.0.5.tar.gz file
完全不同。第一个示例使用“sshpass-1.0.5.tar.gz”作为选项“f”的值并识别选项“z”。然而,第二个示例使用“z”作为选项“f”的值——可能不是预期的。
保留旧选项以与旧版本 tar 兼容。
带'-'的命令等同于
tar -czf sshpass-1.0.5.tar.gz file
tar -cf sshpass-1.0.5.tar.gz -z file
tar cf sshpass-1.0.5.tar.gz -z file
知道了,文件名中有一个拼写错误,已更正并运行。成功了。
$ tar xvfz sshpass-1.05.tar.gz
sshpass-1.05/
sshpass-1.05/COPYING
sshpass-1.05/AUTHORS
sshpass-1.05/aclocal.m4
sshpass-1.05/INSTALL
sshpass-1.05/Makefile.am
sshpass-1.05/configure.ac
sshpass-1.05/install-sh
sshpass-1.05/Makefile.in
sshpass-1.05/sshpass.1
sshpass-1.05/configure
sshpass-1.05/depcomp
sshpass-1.05/README
sshpass-1.05/NEWS
sshpass-1.05/config.h.in
sshpass-1.05/missing
sshpass-1.05/main.c
sshpass-1.05/ChangeLog
我尝试 tar 使用 xvfz 和 -xvfc 在 Windows 上都无法在 Cygwin 中工作。
$ tar xvfz sshpass-1.0.5.tar.gz
tar (child): sshpass-1.0.5.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
这里用'-'命令tar
$ tar -xvfz sshpass-1.0.5.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
问题:
1. tar 如何与 -
或不与 _
一起使用?
请建议执行tar -xvfz sshpass-1.0.5.tar.gz.
tar 有 3 种语法(根据 this ):
长选项(--文件) 空头选项 (-f) 旧选项(f) 对于旧的选项语法,所有字母都必须跟在 "tar" 之后,并且必须全部落入一个没有空格的块中。字母的顺序并不重要,只要这些字母的参数在选项块之后遵循相同的顺序即可。
这种 tar 选项的旧写法甚至会让有经验的用户感到惊讶。比如两条命令:
# tar cfz sshpass-1.0.5.tar.gz file
# tar -cfz sshpass-1.0.5.tar.gz file
完全不同。第一个示例使用“sshpass-1.0.5.tar.gz”作为选项“f”的值并识别选项“z”。然而,第二个示例使用“z”作为选项“f”的值——可能不是预期的。
保留旧选项以与旧版本 tar 兼容。
带'-'的命令等同于
tar -czf sshpass-1.0.5.tar.gz file
tar -cf sshpass-1.0.5.tar.gz -z file
tar cf sshpass-1.0.5.tar.gz -z file
知道了,文件名中有一个拼写错误,已更正并运行。成功了。
$ tar xvfz sshpass-1.05.tar.gz
sshpass-1.05/
sshpass-1.05/COPYING
sshpass-1.05/AUTHORS
sshpass-1.05/aclocal.m4
sshpass-1.05/INSTALL
sshpass-1.05/Makefile.am
sshpass-1.05/configure.ac
sshpass-1.05/install-sh
sshpass-1.05/Makefile.in
sshpass-1.05/sshpass.1
sshpass-1.05/configure
sshpass-1.05/depcomp
sshpass-1.05/README
sshpass-1.05/NEWS
sshpass-1.05/config.h.in
sshpass-1.05/missing
sshpass-1.05/main.c
sshpass-1.05/ChangeLog