vim
を使用して、通常のユーザーとして書き込みアクセス権を持たないファイルを編集しようとすると、Sudo
を使用しても、書き込めませんが、 nano
を使用して、動作する同じファイルを編集します。
だから例えば私がそうするなら:
Sudo vim /var/path/to/file.conf
ファイルでこれを取得し、そのファイルを編集することはできません:
"/var/path/to/file.conf" [readonly]
しかし、私が代わりに:
Sudo nano /var/path/to/file.conf
ファイルに書き込むことができますが、これはなぜですか、なぜSudo
はvim
と同じようにnano
書き込みアクセス権を与えないのですか?これは何らかのバグですか?それとも、これは単なるものですか?とても迷惑だからです。
Description: Ubuntu 15.04
Release: 15.04
vim:
Installed: 2:7.4.488-3ubuntu2
Candidate: 2:7.4.488-3ubuntu2
Version table:
*** 2:7.4.488-3ubuntu2 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main AMD64 Packages
100 /var/lib/dpkg/status
これは、vim(およびvi)の意図された動作です。
読み取り専用ファイルを編集する場合、通常の方法で(:w
を使用して)ファイルを書き込もうとすると失敗します。これは、変更したくない読み取り専用ファイルを誤って変更しないようにするためです。
really所有するファイルの読み取り専用権限を上書きし、ファイルに変更を書き込む場合は、使用する必要があります:w!
commandこれにより、vimはこれがあなたの望むものであることを知っています。
:q
が終了しないのに似ていますが、:q!
は終了します。変更を書き込んで1つのコマンドで終了する場合は、:wq!
または:x!
を使用できます。