linux修改完/etc/hosts文件后如何生效
时间: 2023-12-04 12:05:29 浏览: 659
在 Linux 中修改完 `/etc/hosts` 文件后,可以采取以下几种方法使其生效:
1. 重新启动网络服务:可以使用以下命令重启网络服务,使修改后的 `/etc/hosts` 文件立即生效。
```
sudo service networking restart
```
2. 重新启动网络管理器:如果你的系统使用网络管理器(NetworkManager),可以使用以下命令重启网络管理器,以使修改后的 `/etc/hosts` 文件生效。
```
sudo service NetworkManager restart
```
3. 清除本地 DNS 缓存:有时候 DNS 缓存可能会导致修改后的 `/etc/hosts` 文件不立即生效。你可以使用以下命令来清除本地 DNS 缓存。
- 对于 Systemd 系统:
```
sudo systemd-resolve --flush-caches
```
- 对于非 Systemd 系统:
```
sudo /etc/init.d/dns-clean restart
```
4. 重启计算机:最简单的方法就是重启计算机。重启后,修改后的 `/etc/hosts` 文件将会生效。
请注意,以上方法中的一些命令可能需要使用管理员权限(通过 `sudo`)执行。
相关问题
修改/etc/hosts如何生效
在您修改了`/etc/hosts`文件后,您需要刷新DNS缓存以使其生效。具体方法取决于您的操作系统。
在Linux和MacOS中,您可以使用以下命令来刷新DNS缓存:
```
sudo killall -HUP mDNSResponder
```
在Windows中,您可以使用以下命令来刷新DNS缓存:
```
ipconfig /flushdns
```
注意:在使用`sudo killall -HUP mDNSResponder`命令时可能需要输入管理员密码。在使用`ipconfig /flushdns`命令时,您需要以管理员身份运行命令提示符。
刷新DNS缓存后,您应该能够通过主机名连接到您的远程服务器。
source /etc/hosts 报错bash
引用\[1\]:问题描述: CentOS 执行 source /etc/profile命令时,报错:-bash: #: 未找到命令 \[root@localhost ~\]# source /etc/profile bash: unse: 未找到命令... 问题原因:/etc/profile文件内容错误,如下 修改/etc/profile文件内容 将unse tMAILCHECK修改为unset MAILCHECK后保存,运行命令可正常执行; 此问题多数情况是/etc/profile文件内容错误导致,耐心检查找到错误位置即可解决;。 引用\[2\]: 我们经常在下载安装一些软件工具后需要配置环境变量。例如jdk、erlang等。我们一般会在/etc/profile中配置一些环境变量参数,然后通过source /etc/profile触发配置生效。 但是我们在source /etc/profile时出现了报错的情况, \[root@aliyun home\]# source /etc/profile bash: id: command is not found 。 引用\[3\]: 这是因为在一些情况下,有很多命令其实是还不能使用的,或者因为某些其他操作把之前命令的关联性给取消了。 例如这里我们的bash: id: command is not found,这里我们可以通过/etc/profile中的配置看到id这个命令在/usr/bin/目录下,并且我们检查了这个命令是存在的。 这个时候我们可以直接去运行export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin加载这些命令后再通过source /etc/profile就可以正常加载新的配置了。一些其他的命令提示未找到也可以通过这种方式进行解决。。
问题:source /etc/hosts 报错bash: id: command is not found是什么原因?如何解决?
回答: 当执行source /etc/hosts命令时,出现bash: id: command is not found的报错,这通常是因为某些命令无法使用或之前的命令关联性被取消了。\[3\]解决这个问题的方法是通过运行export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin来加载这些命令,然后再执行source /etc/hosts命令即可正常加载新的配置。这种方式也适用于其他命令提示未找到的情况。
#### 引用[.reference_title]
- *1* [执行 source /etc/profile命令时,报错:-bash: #: 未找到命令](https://blog.csdn.net/xinguopeng/article/details/113183221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Linux - source /etc/profile报错未找到命令(command is not found)](https://blog.csdn.net/u013985664/article/details/107999898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]