如何编辑 /etc 中的只读文件?

如何编辑 /etc 中的只读文件?

我是一个新用户,所以我还不太清楚如何使用这个系统。我想更改我的电脑名称,所以我尝试在 中编辑名称/etc/hostname,但它是一个只读文件。添加字符!没有帮助。我正在使用vim来编辑文件。

答案1

更改系统设置需要超级用户权限。从终端执行

sudo <editor> <filename>

其中可以是 vim 或 nano 或任何其他编辑器命令,并且是您需要编辑的命令。

您也可以使用gksudo gedit <filename>

无论哪种情况,您都会被提示输入具有超级用户权限的用户的密码 - 在正常的 Ubuntu 安装中,这将是安装期间创建的第一个用户。

答案2

如果您正在编辑一个sudo没有需要 sudo为了保存,只需使用这个 vim 命令:

:w !sudo tee %

归功于贝科博士。请注意,vim 将注意到文件更改并询问您是否要(加载更改,请按L

答案3

非常简短的回答:

修改文件(即使它是只读的),如果你自己的它。

简短回答:

即使您以管理员权限登录的用户(在本例中为navid),您也无法修改/etc/hostname,因为root该文件是该用户的。因此,您应该以 root 用户身份登录。

长答案

假设您想将计算机名称从 更改oldNamenewName,请按照以下步骤操作:

  1. 以 root 用户身份登录:

    navid@oldName:~$ sudo su -
    
  2. 打开主机名:

    root@oldName:~# vi /etc/hostname
    
  3. 你会看到oldName。按i进入插入模式然后将其更改为newName。然后按 Esc+ :+ w+ q+Enter保存并退出。

  4. 开放主机:

    root@oldName:~# vi /etc/hosts
    

    最上面两行如下所示:

    127.0.0.1       localhost
    127.0.1.1       oldName
    
  5. 与步骤 3 类似,将计算机名称从 更改oldNamenewName。然后保存并退出。

  6. 退出root用户:

    root@oldName:~# exit
    
  7. 保存所有未保存的工作并重新启动计算机:

    navid@oldName:~$ reboot
    
  8. 打开你的终端,你会看到你的计算机名称已成功更改!:-)

    navid@newName:~$ 
    

笔记:虽然您可以通过跳过步骤 4 和 5 来实现您想要的效果,但我强烈建议您也执行这些步骤,以避免将来出现潜在的错误。

也可以看看:

答案4

您可能无法访问该文件并无法对其进行更改。

为了获得访问权限,您需要获得超级用户权限sudo

打开终端,输入:

sudo -H gedit "your file name "

如果您使用任何其他文本编辑器,请输入该内容。

相关内容