在Linux系统中更改hosts文件后,生效的时间取决于您的操作系统和网络设置。一般来说,更改hosts文件后立即生效,但有时可能需要手动刷新DNS缓存或重启网络服务才能使更改生效。

在大多数情况下,更改hosts文件后会立即生效。当您编辑hosts文件并保存更改时,系统会立即读取这些更改并应用于您的系统。这意味着您可以立即访问您添加到hosts文件中的新地址或域名。
然而,在某些情况下,更改hosts文件后可能不会立即生效。这可能是因为系统在内存中缓存了DNS记录,或者是因为网络服务还没有重新加载新的hosts文件。在这种情况下,您可以尝试以下方法来使更改生效:
1. 清除DNS缓存:有些Linux系统会在内存中缓存DNS记录,这可能导致您访问域名时仍然使用旧的DNS记录。您可以通过运行以下命令清除DNS缓存来解决这个问题:
```bash
sudo systemd-resolve --flush-caches
```
2. 重启网络服务:如果清除DNS缓存没有解决问题,您可以尝试重新加载网络服务来使更改生效。您可以尝试运行以下命令来重新加载网络服务:
```bash
sudo systemctl restart networking
```
3. 使用nslookup命令检查DNS解析:您可以使用nslookup命令来检查系统是否正确解析您更改后的域名。例如,您可以运行以下命令来检查域名是否解析为正确的IP地址:
```bash
nslookup example.com
```
通过执行上述步骤,您可以确保更改hosts文件后立即生效。请注意,在某些情况下,可能需要以root用户或使用sudo权限来修改hosts文件或重新加载网络服务。如果您对系统不确定,请小心操作以避免影响到您的系统稳定性。