gunzip 重定向到 /etc/:没有这样的文件或目录

gunzip 重定向到 /etc/:没有这样的文件或目录

我正在尝试跟随本教程将介绍如何制作 VPN,但我在压缩文件时遇到了一些麻烦。

如果我尝试输入代码

sudo gunzip -c '/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf'

它回应

gzip: /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf.gz: No such file or directory

到底是怎么回事?

我把sudo和放在引号中是因为没有它就无法gzip实现etc

答案1

你的引号位置不正确。

像这样运行它:

sudo gunzip -c '/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz' > '/etc/openvpn/server.conf'

正如您所做的那样,整个'/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf'部分被视为单个参数 - 当然不存在具有此路径的文件。

现在它被分成gunzip命令 ( /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz') 中的一个引用路径参数,后面跟着 Bash 输出重定向到'/etc/openvpn/server.conf'

但是,由于示例中的两个路径都不包含空格或其他特殊字符,因此引号不是必需的,也可以完全省略。


正如您所说,您对要将输出重定向到的文件没有写权限,因此您必须这样写:

sudo bash -c "gunzip -c '/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz' > '/etc/openvpn/server.conf'"

相关内容