我正在尝试跟随本教程将介绍如何制作 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'"