我正在努力追隨本教學介紹如何製作 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'"