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') への 1 つの引用符で囲まれたパス引数と、それに続く への Bash 出力リダイレクトに分割されています'/etc/openvpn/server.conf'

ただし、例の 2 つのパスのどちらにもスペースやその他の特殊文字が含まれていないため、引用符は不要であり、完全に省略することもできます。


出力をリダイレクトするファイルへの書き込み権限がないとのことなので、次のように記述する必要があります。

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

関連情報