unix 为什么有些程序可以编辑/etc/host而有些不能?

biswetbf  于 2023-11-18  发布在  Unix
关注(0)|答案(2)|浏览(154)

我尝试使用Emacs、VSCode等(当然是使用sudo)编辑我的**/etc/hosts**文件,但它一直说我没有编辑该文件的权限。
然后我尝试了Vim,Nano和Atom.这些都能够编辑和保存文件。
(运行echo 'some host' | sudo tee -a /etc/hosts也很好)。
为什么有些编辑器可以毫无问题地编辑文件,而有些则不行呢?

cuxqih21

cuxqih211#

尝试使用本地emacs打开C-x C-f /sudo::/etc/hosts

shyt4zoc

shyt4zoc2#

我真的不能提供答案,但我确定一件事:你应该避免在sudo模式下启动Emacs!
使用另一个答案中提到的/sudo::/etc/hosts是一种选择,但我更喜欢使用sudo -e /etc/hosts,因为它更安全,可以从命令行运行。这将在默认编辑器中打开文件的副本,并在关闭时将其保存回来。
要将默认编辑器设置为Emacs,请预先执行export EDITOR=emacsclient(我假设您已经启动了emacs-server)。无论如何,此设置都是一个好主意,因为它可以与许多其他命令行工具一起使用,因此您应该将其放在shell初始化配置中。
通常我有一个shell别名e,用emacsclient打开一个普通的文件,E通过sudo -e打开它,这很容易记住。

相关问题