我正在尝试编辑资料。使用vi编辑器列出,但在保存文件时得到以下错误:

/etc/apt/sources.list" E212: Can't open file for writing

当前回答

您正在访问的文件可能在同一目录中已经有交换副本(或交换版本)

因此,首先查看隐藏文件是否存在。

例如,请参阅以下类型的文件

.system.conf.swp

通过使用命令

ls -a

然后,删除它使用…

rm .system.conf.swp

通常,我建议开始使用超级用户权限使用…

sudo su

其他回答

因为dir不存在。

可以使用:!Mkdir -p /etc/apt/创建目录。

然后:wq

您正在访问的文件可能在同一目录中已经有交换副本(或交换版本)

因此,首先查看隐藏文件是否存在。

例如,请参阅以下类型的文件

.system.conf.swp

通过使用命令

ls -a

然后,删除它使用…

rm .system.conf.swp

通常,我建议开始使用超级用户权限使用…

sudo su

这种情况经常发生在我身上,我打开一个根文件写作:

而不是失去所有的改变,重新打开与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”。不要重新加载,否则会丢失所做的更改。

修改用户为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问题

您只需要使用根访问权限访问Gemfile。前六世:

命令:

sudo su -

然后:

vi ~/...