zoukankan      html  css  js  c++  java
  • mac下编辑权限文件

    编辑权限文件

    方法一

    [Vim]以sudo权限来保存vim打开的readonly文件

    champwang 2015-07-09 23:49:23 9410 收藏
    分类专栏: tools VIM
    版权
    [Vim]以sudo权限来保存vim打开的readonly文件

    本文要说的命令如下:

    :w ! sudo tee % > /dev/null
    1
    在做 linux 配置的時候,会改到只讀的文件,比如 /etc/profile

    $ ls -al /etc/profile
    -rw-r–r– 1 root root 1139 Mar 14 17:30 /etc/profile
    用 vim 打開該只文件 /etc/profile 修改后,保存會出錯:

    :w
    E45: ‘readonly’ option is set (add ! to override)
    按提示在命令结尾加一个叹号,然后再次执行,还是出错:

    :w!
    “/etc/profile” E212: Can’t open file for writing
    用以下命令可以解决。此时,Vim会有两次交互,
    一,输入密码:

    :w ! sudo tee % > /dev/null
    [sudo] password for user:
    二,警告文件已被修改了,并显示出一个选项菜单。
    这里按 L键重新将该文件载入缓冲区。

    Press ENTER or type command to continue
    W12: Warning: File “/etc/profile” has changed and the buffer was changed in Vim as well
    See “:help W12” for more info.
    [O]K, (L)oad File:
    该条命令如何工作:
    查阅vim 的文档(输入:help :w),会提到 :write !{cmd}。

    :[range]w[rite] [++opt] !{cmd}
    Execute {cmd} with [range] lines as standard input
    (note the space in front of the ‘!’). {cmd} is
    executed like with “:!{cmd}”, any ‘!’ is replaced with
    the previous command :!.
    该命令会把缓冲区的内容作为标准输入传给指定的{cmd}, {cmd} 可以是任何外部的命令或程序。這裡調用了外部命令tee以sudo 权限运行保存。命令中符号 % 是vim 当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径,这里就会展开为当前文件的完整路径/etc/profile. 然后缓冲区的内容将当做标准输入,覆盖该编辑文件的内容。vim 检测到该文件被一个外部程序修改,就会跳出提示选择。然而这里的文件和缓冲区的内容是一致的。

    这条命令怪模怪样,却经常用到。记在这里,加深理解,也有助于记住此命令。
    ————————————————
    版权声明:本文为CSDN博主「champwang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/champwang/article/details/46823611

    方法二

    1. 终端下先 cd到该文件的目录下;

    $ cd /Users/***/Documents
    2. 执行命令 chmod a+x 文件名;

    $ chmod a+x ~/keyfagaha
    3. terminal自动运行写入功能,将选中的文件写成terminal 下的Unix可执行文件;

    4. 最后,退出terminal,“control+click” 打开该文件即可。
    ————————————————
    版权声明:本文为CSDN博主「W_Hhh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/W_Hhh/article/details/101354245

  • 相关阅读:
    table标签中不能有div、span等标签
    奇葩的ASCII 160 号空格
    解决“只能通过Chrome网上应用商店安装该程序”的方法
    谈谈页面流程图(附案例) | 人人都是产品经理
    mysql-connector-java-5.1.34下载
    二、web.xml文件配置
    spring Beans初始化及配置
    Junit单元测试的使用
    什么是IOC?
    二、springMVC项目依赖配置pom.xml
  • 原文地址:https://www.cnblogs.com/sundaysme/p/13172171.html
Copyright © 2011-2022 走看看