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'"

相關內容