Command Explanation
Possible Duplicate:
How does the vim “write with sudo” trick work?
Many times I have found myself in a condition where I end up editing file in vi editor for which I don't have permission. So then we have to copy the content in some other file and copy it back to original file by changing the permissions. But I have found one solution through searching web that we can give command :w !sudo tee % and there is no need for copying back and forth. Can anybody explain how this is working !!
Let's see...
:w !{cmd}
executes {cmd}
, feeding the current buffer into its standard input.
Here, {cmd}
is sudo tee %
. This executes tee {filename}
as root
, where {filename}
is the name of the file you're editing. The command writes its standard input (ie the contents of the vim
buffer) into the file, as root
.
Neat trick, BTW.
You're writing the file to the STDIN of the command:
sudo tee %
sudo escalates your permissions and tee writes STDIN to the file (% is replaced by the current filename by vim before executing the command)
链接地址: http://www.djcxy.com/p/49568.html上一篇: Vi escelate用户权限
下一篇: 命令说明