我正在为uni做一个项目,不确定如何继续,我被赋予了将unix机器上的主机名从一个事物更改为另一个事物的任务,我以root身份登录到该盒子
主机名是garnet.bct.bolton.ac.uk garnet
我需要更改.bct
为.amt
新的主机名应该是garnet.amt.bolton.ac.uk garnet
我有多个主机名cat /etc/hosts
,它们都需要从 更改bct
为amt
我想我需要使用,grep
但据我所知
cat /etc/hosts | grep bct
答案1
你还没有说明你的 *nix 是什么。但...
据我所知,你有两个任务:
- 更改unix盒子的主机名
- 更改该 UNIX 机器解析网络上其他系统的方式。
首先,您需要编辑文件/etc/hostname
并更改它。
nano /etc/hostname
对于第二个,您需要将所有实例更改bct
为amt
in /etc/hosts
。您可以使用交互式编辑器来完成此操作,也可以使用sed
.
互动式:
nano /etc/hosts
和sed
:
第一次运行:
sed 's/\.bct\.bolton/\.amt\.bolton/g` /etc/hosts
并确保它看起来没问题。这只是向您展示了它将改变什么。要进行更改,请添加-i
选项:
sed -i 's/\.bct\.bolton/\.amt\.bolton/g` /etc/hosts
答案2
运行这个:
sed -i 's/\.bct/\.amt/g' /etc/hosts
另外,请注意,如果您要更改登录计算机的主机名,那么仅在 /etc/hosts 中进行更改是不够的。如果您使用的是 Centos/Fedora/RHEL,则还必须在文件 /etc/sysconfig/network 中更改主机名。