vim保存root权限的文件

本文介绍了解决Linux环境下使用vim编辑器时,因无sudo权限而导致无法保存/etc/目录内文件的问题。提供了四种实用解决方案,包括使用特殊命令保存、重命名常用命令、先保存至临时文件再由root用户复制,以及直接使用sudo启动vim。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Linux,没有sudo 就直接用vim 编辑/etc/内的文件,等编辑好了之后,使用vim保存时,得到提示说文件无法保存,这时候才发现没权限。针对这种问题,目前有如下几种解决方案。

1. vi /etc/httpd.conf 保存时,用命令:w !sudo tee %

    :w - Write a file.

    !sudo - Call shell sudo command.

    tee - The output of write (vim :w) command is redirected using tee. The % is nothing but current file name i.e. /etc/httpd.conf. In other words tee command is run as root and it takes standard input and write it to a file represented by %. However, this will prompt to reload file again (hit L to load changes in vim itself).

强烈推荐这一种用法。不过,首先得保证运行vim的用户有sudo的权限。关于用户的sudo权限可以参考这里:

http://www.51testing.com/?uid-225738-action-viewspace-itemid-216699

 

2.编辑用户$HOME/.vimrc文件将第一种方案的比较难记的命令重命名一下,下次可以直接使用。

   vim $HOME/.vimrc  添加如下的一句话,并保存。

   command -nargs=? Sudow :w !sudo tee %

   今后用vim编辑时,需要sudo保存时,直接用此处定义的Sudow命令保存即可。

 

3. 先保存到一个临时文件中,然后用root去拷贝它去覆盖需要编辑的文件。

    可能用user账号打开的一个文件,vim /etc/httpd.conf,然后在vim编辑号后,用:w /tmp/httpd.conf即可保存为一个临时文件。

 

4. 使用vim之时直接用sudo vim也可以,哈哈,如  sudo vim /etc/httpd.conf

 

参考:http://www.51testing.com/?uid-225738-action-viewspace-itemid-248016

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值