![如何编辑 /etc 中的只读文件?](https://linux22.com/image/1123371/%E5%A6%82%E4%BD%95%E7%BC%96%E8%BE%91%20%2Fetc%20%E4%B8%AD%E7%9A%84%E5%8F%AA%E8%AF%BB%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我是一个新用户,所以我还不太清楚如何使用这个系统。我想更改我的电脑名称,所以我尝试在 中编辑名称/etc/hostname
,但它是一个只读文件。添加字符!
没有帮助。我正在使用vim
来编辑文件。
答案1
更改系统设置需要超级用户权限。从终端执行
sudo <editor> <filename>
其中可以是 vim 或 nano 或任何其他编辑器命令,并且是您需要编辑的命令。
您也可以使用gksudo gedit <filename>
。
无论哪种情况,您都会被提示输入具有超级用户权限的用户的密码 - 在正常的 Ubuntu 安装中,这将是安装期间创建的第一个用户。
答案2
答案3
非常简短的回答:
你能修改文件(即使它是只读的),如果你自己的它。
简短回答:
即使您以管理员权限登录的用户(在本例中为navid
),您也无法修改/etc/hostname
,因为root
该文件是该用户的。因此,您应该以 root 用户身份登录。
长答案
假设您想将计算机名称从 更改oldName
为newName
,请按照以下步骤操作:
以 root 用户身份登录:
navid@oldName:~$ sudo su -
打开主机名:
root@oldName:~# vi /etc/hostname
你会看到
oldName
。按i进入插入模式然后将其更改为newName
。然后按 Esc+ :+ w+ q+Enter保存并退出。开放主机:
root@oldName:~# vi /etc/hosts
最上面两行如下所示:
127.0.0.1 localhost 127.0.1.1 oldName
与步骤 3 类似,将计算机名称从 更改
oldName
为newName
。然后保存并退出。退出root用户:
root@oldName:~# exit
保存所有未保存的工作并重新启动计算机:
navid@oldName:~$ reboot
打开你的终端,你会看到你的计算机名称已成功更改!:-)
navid@newName:~$
笔记:虽然您可以通过跳过步骤 4 和 5 来实现您想要的效果,但我强烈建议您也执行这些步骤,以避免将来出现潜在的错误。
也可以看看:
答案4
您可能无法访问该文件并无法对其进行更改。
为了获得访问权限,您需要获得超级用户权限sudo
。
打开终端,输入:
sudo -H gedit "your file name "
如果您使用任何其他文本编辑器,请输入该内容。