Debian 9.3 - 解压失败并提示文件不存在

Debian 9.3 - 解压失败并提示文件不存在

我在 Debian 9.3 中运行了以下命令:

cd /usr/local/src
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

该文件下载得很好,但是,当我执行时:

tar -xzfv maldetect-current.tar.gz

我得到:

tar (child): v: 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

ls -la显示该文件确实存在:

/usr/local/src# ls -la
total 3144
drwxrwsr-x  2 root staff    4096 Jan  8 11:46 .
drwxrwsr-x 11 root staff    4096 Jan  8 11:40 ..
-rw-r--r--  1 root staff 1605546 Jul 14 04:45 maldetect-current.tar.gz

答案1

你陷入了陷阱。tar支持两种格式的命令行选项,一种是带破折号的常见格式,另一种是不带破折号的传统格式。它们在参数处理方面有所不同。

这里:

tar -xzfv maldetect-current.tar.gz

与所有其他工具一样,争论的焦点-f是。v

另一方面,这里:

tar xzfv maldetect-current.tar.gz

的参数f取自下一个命令行参数,即您实际想要给出​​的文件名。

错误消息提到了它尝试访问的文件名,您可能只是错过了它,因为v它相当短。不过,通常有问题的文件会在错误消息中列出。

GNU tar 手册页在“选项样式”下提到了这一点:

在传统风格中,第一个参数是一组选项字母,所有后续参数都为需要它们的选项提供参数。

在 UNIX 或短选项样式中,每个选项字母都以一个破折号为前缀,就像在其他命令行实用程序中一样。如果选项采用参数,则参数跟随在其后面,或者作为单独的命令行单词,或紧随该选项

答案2

文件名应紧跟在 f 选项之后。

tar -xzvf maldetect-current.tar.gz

相关内容