linux中vim保存root权限的文件

Linux中经常会遇到用vim编辑好了文件,保存的时候提示当前文件是只读的。

E45: 'readonly' option is set (add ! to override)

原因也很简单,因为用户对当前编辑的文件没有写入权限,一个可行的解决办法就是重新使用sudo命令打开这个文件重新进行编辑,但是这样做的话,之前的编辑工作就需要全部重来了,怎么样才能在忘记使用sudo vim编辑自己不可写的文件后,仍然可以正常写入文件呢?

vim的强大之处就体现出来了,下面的指令轻松搞定

:w !sudo tee %

下面是命令使用的情况

:w !sudo tee %
[sudo] password for xxxx:
...
...
...

Press ENTER or type command to continue

回车后会提示文件已经改变,按O或者L重新加载一下就好。

W12: Warning: File "xxx" has changed and the buffer was changed in Vim as well
See ":help W12" for more info.
[O]K, (L)oad File:

命令解释

:w 是vim的写入命令
% 当前编辑的文件名
!sudo tee vim中调用shell命令都是以!开头的
整个命令就是:以root的身份运行tee命令,读取vim :w命令的输出作为标准输入,将其内容输出到标准输出设备,同时保存到%表示的文件中

时间: 2024-10-07 08:31:28

linux中vim保存root权限的文件的相关文章

linux中php使用root权限执行shell脚本

今天晚上:19:30分,这个困扰了我好久的问题终于解决,其中的原理也终于弄清楚了,总之是利用sudo来赋予Apache的用户root的执行权限,下面记录一下: 利用php利用root权限执行shell脚本必须进行以下几个步骤:(所有步骤都是我亲自实验,若有不妥可指出,谢谢!) 1. 确定一下你的Apache的执行用户是谁.注:不一定就是nobody,我自行安装的httpd,我的Apache的用户就是daemon 2. 利用visudo为你的Apache执行用户赋予root执行权限,当然还有设置无

以普通用户启动的Vim如何保存需要root权限的文件

在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误: E45: 'readonly' option is set (add ! to override) 这表明文件是只读的,按照提示,加上!强制保存::w!,结果又一个错误出现: "readonly-file-name" E212: Can't open file for writing 文件明明存在,为何提示无法打开?这错误又代表什么呢?查看文档:help E212:

whitespace-关于linux中vim插件的问题.

问题描述 关于linux中vim插件的问题. 本人使用了bronson/vim-trailing-whitespace和nicoraffo/conque两个插件. 一个是标记无效空格,一个是在vim中调出终端. 于是就出现调出终端后会在终端分屏中红色高亮无效空格. 请问如何不在终端中标记无效空格.并且标记无效空格的插件我还非常想用. 在whitespace中有g:extra_whitespace_ignored_filetypes选项. 此选项可以对相应的文件类型忽略.但是我不知道conque调

java-android中怎么请求root权限

问题描述 android中怎么请求root权限 android中怎么请求root权限并且执行事件..执行的事件应该写在哪里?求代码..谢谢 解决方案 已解决..一直不知道执行的事件写在哪里..才知道获取的root权限是给你操纵一个目录的权限 解决方案二: 转自:http://orgcent.com/android-chmod-root-permission/ Android手机进行root之后,才可以请求root权限.?root是系统中唯一的超级用户,具有系统中所有的权限. 以下是实现代码: *

Linux中在当前目录下解压rpm文件?

Linux中在当前目录下解压rpm文件? cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax -r 示例如下: [root@localhost 6-18]# cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax -r[root@localhost 6-18]# ll总用量 44-rw-r--r--. 1 root root 40174 6月&http://www.aliyun.com/zixun/a

Linux中使用split来分割合并文件

Linux中使用split来分割合并文件 我们使用split命令来完成: 用法:split [选项]... [输入 [前缀]]将输入内容拆分为固定大小的分片并输出到"前缀aa"."前缀ab",...:默认以 1000 行为拆分单位,默认前缀为"x".如果不指定文件,或者文件为"-",则从标准输入读取数据. 长选项必须使用的参数对于短选项时也是必需使用的.&http://www.aliyun.com/zixun/aggr

Ubuntu系统如何以root权限打开文件或是文件夹?

Ubuntu系统如何以root权限打开文件或是文件夹? 代码: sudo apt-get install nautilus-gksu 然后右键单击文件或文件夹,选择"以管理员打开".或者可以 代码: sudo nautilus 某文件夹

在Linux中如何恢复被删除的文件

  当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过一些方法恢复的.当用户删除了一个文件,该文件并没有消失,只是被隐藏了一段时间. 这里将解释它是如何工作的.在一个文件系统中,有一个叫做 文件分配表 的东西,这个表跟踪文件在存储单元(如硬盘, MicroSD 卡,闪存驱动器等等)中的位置.当一个文件被删除,文件系统将会在文件分配表中执行以下两个任务之一:这个文件在文件分配表上的条目被标记为 "自由空间" 或删

【Linux】Linux中Vim基础

word转成html再搞到csdn这块,效果不是很好,表格每行显示太高........囧 ---------------------------- VIM命令训练稿 目录 1.打开文件操作...1 2.存储及退出文件...2 3.模式转换...2 4.光标移动...3 5.插入...4 6.删除...4 7.复制和黏贴...5 8.查找...5 9.替换...6 10.编辑多个文件...6 11.其他命令...6 12分屏操作...7 13 vim的帮助指令...9 14.七个习惯   1.打开