我正在尝试编辑资料。使用vi编辑器列出,但在保存文件时得到以下错误:
/etc/apt/sources.list" E212: Can't open file for writing
Vim有一个内置的帮助系统。在Vim中运行:h E212将打印以下内容:
:h E212
由于某种原因,无法创建或覆盖正在写入的文件。 原因可能是您没有在该目录中写入的权限 .文件名无效
由于某种原因,无法创建或覆盖正在写入的文件。 原因可能是您没有在该目录中写入的权限
您可能希望以超级用户身份使用sudo vim FILE编辑该文件。或者如果你不想离开你现有的vim会话(现在有适当的sudo权限),你可以运行:
sudo vim FILE
:w !sudo tee % > /dev/null
这将保存文件。
或者你可能在只读装载的fs上
而不是失去所有的改变,重新打开与sudo。请看这个演示如何保存这些更改:
一次设置演示,为低级用户创建一个根拥有的只读文件:
sudo touch temp.txt sudo chown root:root temp.txt sudo chmod 775 temp.txt whoami el
首先以普通用户身份打开文件:
vi temp.txt
然后对文件做一些更改,它会警告你它是只读的。使用此命令。
:w !chmod 777 %
然后写入文件:
:wq!
扩展权限并保存文件。您需要使用感叹号,因为您是作为次要用户编辑根文件。
该命令的功能说明:
w表示写入文件。砰的一声意味着开始解释为外壳。Chmod表示更改权限,777表示所有地方的完全权限。百分比表示当前文件名。
它应用了变化。它会问你是否要重新加载。按“O”表示“Ok”。不要重新加载,否则会丢失所做的更改。
您只需要使用根访问权限访问Gemfile。vi之前:
vi
命令:
sudo su -
然后:
vi ~/...
对我来说,有一个很简单的解决办法。我试图编辑/创建一个文件在一个不存在的文件夹。由于我已经在文件夹中,我试图编辑/创建一个文件。
例如pwd folder/file
pwd folder/file
正在打字
sudo vim folder/file
很明显,它在文件夹中寻找文件夹,但无法保存。
尝试以根用户连接,然后编辑文件。这对我很有用
我参考了Zsolt在第2级,我输入:
然后在我的情况下,我仍然无法修改文件,所以提示添加“!”所以我输入
:q!
然后它就起作用了
对于我来说,在运行vim之前将文件系统从只读更改为只读:
bash-3.2# mount -o remount rw /
您正在访问的文件可能在同一目录中已经有交换副本(或交换版本)
因此,首先查看隐藏文件是否存在。
例如,请参阅以下类型的文件
.system.conf.swp
通过使用命令
ls -a
然后,删除它使用…
rm .system.conf.swp
通常,我建议开始使用超级用户权限使用…
sudo su
当我在目录中的文件上使用git rm时,我得到了这个错误。
git rm
我在~/gitRepo/code/newFeature
在newFeature中只有一个文件。我对该文件做了git rm,然后尝试使用vi创建一个新文件myNewFile。
Ubuntu显示我仍然在newFeature目录中,但实际上git rm已经删除了整个目录。
我必须退出vi,导航到一个目录,然后重新创建newFeature目录。
预先添加sudo命令。
sudo
例如,使用sudo vim textfile.txt代替vim textfile.txt。这样问题就解决了。
sudo vim textfile.txt
vim textfile.txt
修改用户为root
sodu su -
浏览到etc
vi sudoers
在用户特权部分中查找根用户。你会得到它
root ALL=(ALL:ALL) ALL
为您的用户名做相同的输入。如果你的用户名是“myuser”,那么添加
myuser ALL=(ALL:ALL) ALL
它看起来就像
root ALL=(ALL:ALL) ALL myuser ALL=(ALL:ALL) ALL
保存它。将root用户更改为您的用户。现在就用同样的方法来解决你的sudoers问题
我得到这个错误时,我的目录路径是不正确的,确保您的目录名称和路径是正确的
因为dir不存在。
可以使用:!mkdir -p /etc/apt/来创建目录。
:!mkdir -p /etc/apt/
然后:wq
:wq
更改其他用户的权限 对于这种类型 Setfacl -m u:username:rw filename
mkdir -p /var/dir1/dir2
vim /var/dir1/dir2/filename.txt
:wq或:wq!vi编辑器不退出意味着您对pwd没有权限,请根据您所创建的权限检查权限。 例子 您拥有root
只需用-打开文件
sudo vi filename.txt
然后修改文件并使用:wq退出