系统中hosts文件的作用和修改(全部)和HTTP 错误 404.0 - Not Found

本文详细介绍了hosts文件的作用与配置方法,包括加快域名解析、方便局域网用户、屏蔽网站、顺利连接系统及虚拟域名等应用场景。同时,文章还提供了在不同操作系统中定位、编辑和维护hosts文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hosts文件位于系统盘C:\WINDOWS\system32\drivers\etc\hosts中,
Linux及其他类Unix操作系统:/etc/hosts
hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”
值得一提的是#后都是注释,所以清空hosts文件对系统正常运行并没有什么影响。
hosts文件有哪些作用呢?

1、加快域名解析
对于要经常访问的网站,我们可以通过在hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。例如:hosts文件中添加一条:61.139.126.235 对应网站

(注意:IP与域名中间要有空格,IP地址一定要输入正确,不然就访问不了该网站了,可以通过运行CMD,输入“ping 网站域名” 来获得网站的IP地址!)这样访问速度就会快一点啦,因为他不需要经过DNS域名服务器进行IP地址的解析!

2、方便局域网用户
在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址,这对不少人来说相当麻烦,现在可以分别给这些服务器取个容易记住的名字,然后在hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。

3、屏蔽网站(域名重定向)
现在有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中不乏有病毒木马。对于这些网站我们可以利用Hosts把该网站的域名映射到一个错误的IP或本地计算机的IP,这样就不用访问了。在Windows系统中,约定 127.0.0.1为本地计算机的IP地址,0.0.0.0是错误的IP地址。例如,我们在hosts中,输入以下内容(2个例子):
0.0.0.0 对应屏蔽网站
127.0.0.1 对应屏蔽网站
此外一些软件的破解激活也经常用到hosts文件,原理就是屏蔽软件自动连接官方服务器验证激活信息是否正确。

4、顺利连接系统
对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问。那么我们配置好Hosts文件,这样输入服务器名就能顺利连接了。

5.虚拟域名
很多时候,网站建设者需要把”软环境“搭建好,再进行上传调试。但类似于邮件服务,则需要使用域名来辅助调试,这时就可以将本地 IP 地址与一个”虚拟域名“做地址指向,就可以达到要求的效果,且无需花费。如:
127.0.0.1 网站域名
之后在浏览器地址栏中输入对应的网站域名即可。

现在某些病毒,恶意程序会修改我们的host文件,导致我们无法访问某些网站,或跳转别的界面,当发现某些网站不能访问时,出现>>
1,无法显示此网页
错误代码: DNS_PROBE_POSSIBLE(修改为错误的IP,如0.0.0.0)
2、您访问的域名未绑定至主机;(修改为一个某一个虚拟主机的IP)
3,跳转别的界面(修改为一个某一个虚拟主机的IP,并在这个虚拟主机绑定这个域名)
4,www.taobao.com 响应时间过长(修改为本地IP,百度可找到)
5,www.taobao.com 拒绝了我们的连接请求。(修改为127.0.0.1)

我们可以进入hosts文件进行观察,如果是因为hosts文件造成的网站无法访问,删除病毒添加的语句等

1,在修改HOSTS文件时候,还常常遇到修改保存后无效的情况,这里要提醒大家注意的一点:很多人是写在最后行,写完最后一行后在没有回车的情况下,这一行是不生效的。一定要记得回车。建议大家遵循这样的习惯:“ip地址+Tab+域名+换行” 添加记录。

2、hosts文件的系统属性:
hosts文件默认具有隐藏属性,系统默认设置情况下是看不到的,当然进到这个文件除了直接输入路经也是无法看到了。解决办法:打开我的电脑->点击工具->文件夹选项->查看->取消勾选隐藏受保护的系统文件->确定即可。
修改后无法保存:
在Hosts文件上面点右键->属性->把只读属性去掉->确定,即可保存。

3.Hosts在UAC安全策略无法打开或编辑:
遇到windows VISTA 或者 windows 7 操作系统无法打开和编辑的情况,提示:“不能创建文件” 或者 “文件操作失败”等提示,是因为安全机制UAC造成的,你可以使用以下方法解决:
按着Shift键,然后Hosts文件上面右键, 以管理员方式运行即可。

4.一个比较便捷的打开hosts文件的方法
新建一个txt文件,在你其中输入:
notepad “%SystemRoot%\system32\drivers\etc\hosts”
ipconfig /flushdns
exit 保存,将扩展名改成成.bat,之后双击这个bat文件就可以自动打开hosts文件进行修改了。

5.Android中的Hosts
由于某些原因,可能需要修改 hosts 文件指定域名到对应的 IP 地址。Android 是基于 Linux 的系统,与 Linux 类似,通过 hosts 文件来设置。
在 Android 下,/etc 是 link 到 /system/etc 的,我们需要修改 /system/etc/hosts 来实现。但是这个文件是只读,不能通过 shell 直接修改。可以通过连接到 PC 上使用 adb 来修改。步骤如下:
1、获得root权限:adb root
2、设置/system为可读写:adb remount
3、将hosts文件复制到PC:adb pull /system/etc/hosts
4、修改PC机上文件
5、将PC机上文件复制到手机:adb push /system/etc/hosts
如果要查看是否修改成功,可以在PC上执行adb shell,运行cat /system/etc/hosts;或者在手机上运行cat /system/etc/hosts。
在Android系统中,hosts文件格式有一点与PC机Linux不同:不能在一行中一个IP对应多个域名,比如:
127.0.0.1 host1.example.com host2.example.com host3.example.com
在大多PC机Linux系统是合法的,但不能在Android上起作用,需要拆成每个域名一行才能使用:
x.x.x.x host1.example.com
x.x.x.x host2.example.com
x.x.x.x host3.example.com

文件更新
1.访问googlecode网站获得Google Hosts的最新文件[1] ,这里提供了最新的映射IP地址,将获得的hosts文件附加到自己电脑的hosts中就可以了;
2.利用smarthosts.exe程序,下载smarthosts.exe程序,下载后双击这个程序会生成3个文件 hosts、lists和srvlist注意使用这个经常会弹出错误,这个时候不要着急,过几分钟后可以重试。

HTTP 错误 404.0 - Not Found
HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。 详细错误信息
模块 IIS Web Core
通知 MapRequestHandler
处理程序 PHP_via_FastCGI
错误代码 0x80070002
请求的 URL http://127.0.0.1:80/wp-admin/install.php
物理路径 C:\inetpub\wwwroot\wp-admin\install.php
登录方法 匿名
登录用户 匿名
解决办法:找到”host”文件,去除127.0.0.1 localhost前面的#号即可。

<think>首先,用户的问题是关于“puttest.txt找不到文件”的错误。这似乎是文件上传时找不到文件错误,可能与Hadoop或类似分布式文件系统相关。从系统级指令,我需要:-所有行内数学表达式使用$...$格式。-独立公式使用$$...$$并单独成段。-LaTeX语法正确。-使用中文回答。-生成相关问题。-在引用的段落末尾添加引用标识。-回答结构清晰,帮助用户逐步解决问题。-保证回答真实可靠。参考提供的引用:-[^1]:关于HTTP404错误,但这可能与用户问题无关。-[^2]:HDFS上传文件失败,涉及datanode拒绝通信,解决方案是配置dfs.namenode.datanode.registration.ip-hostname-check为false。-[^3]:Hadoop上传文件错误文件只能复制到0个节点,解决方案是删除数据目录下的所有数据。用户的问题是“puttest.txt找不到文件”,这类似于HDFS的hadoopfs-put命令失败。错误消息是“找不到文件”,这可能意味着本地文件test.txt不存在,或者是路径问题。用户说:“我想解决上传test.txt文件时出现的'找不到文件'问题”,所以错误是当尝试上传时,系统说找不到文件。可能的原因:1.本地文件test.txt不存在或路径错误。2.权限问题导致无法访问文件。3.Hadoop配置问题,如引用[2][3]提到的。4.网络或主机名解析问题。基于引用[2],用户提到在hosts文件中配置了域名解析,但仍然报错,解决方案是修改hdfs-site.xml设置ip-hostname-check为false。引用[3]提到删除数据目录下的所有数据。但用户的具体错误是“找不到文件”,这听起来更像是本地文件问题,而不是HDFS内部问题。错误消息是“puttest.txt找不到文件”,这可能在执行hadoopfs-puttest.txt/destination时,如果test.txt在本地不存在,就会报这个错。在Hadoop中,如果本地文件不存在,错误通常是“Nosuchfileordirectory”或类似。用户说“找不到文件”,在中文中可能就是“filenotfound”。所以,我应该引导用户检查本地文件是否存在。但引用[2][3]是关于HDFS内部错误的,所以可能用户误解了错误,或者错误是HDFS找不到文件。在Hadoop上下文中,“put”命令是上传本地文件到HDFS。如果本地文件不存在,错误是本地文件找不到;如果HDFS有问题,错误可能是其他。用户描述:“puttest.txt找不到文件”,这很可能是指本地文件找不到。为了全面,我应该覆盖常见原因。回答结构:1.**理解问题**:确认错误。2.**可能原因**:列出常见原因。3.**逐步解决**:提供检查步骤。4.**解决方案**:基于原因给出方案。5.**生成相关问题**:在最后添加相关问题。使用中文回答。生成相关问题:类似示例,例如:-如何避免文件上传错误-Hadoop配置的最佳实践?-如何检查HDFS健康状态?引用:我需要引用提供的引用,如果相关。引用[2][3]似乎相关,因为涉及Hadoop上传问题。引用[2]是关于datanode拒绝通信,引用[3]是关于复制问题。对于“找不到文件”,引用可能不完全匹配,但可以提及作为一般参考。用户说“上述引用仅供参考”,所以我应该基于问题回答。最终回答应包括:-引言:确认问题。-原因分析。-解决步骤。-代码或命令示例(如果需要)。-相关问题。-引用标识。确保LaTeX正确:如果有数学,但这里可能不需要数学表达式。用户问题是文件操作,不涉及数学,所以可能不需要$...$格式。但指令说所有行内数学表达式必须使用,如果没有,就不用了。或者如果有变量,如路径,但路径不是数学表达式。所以,可能不涉及LaTeX。独立公式:如果有,单独成段。现在,构建回答。</think>### 解决“put test.txt 找不到文件错误 在Hadoop或类似分布式文件系统中(如HDFS),使用`hadoop fs -put test.txt`命令上传文件时出现“找不到文件错误,通常表示系统无法定位或访问指定的文件。这可能是由本地文件路径问题、权限错误系统配置错误引起的。下面我将逐步分析错误原因并提供详细的解决方案,帮助您快速修复问题。本回答基于常见Hadoop实践参考信息[^2][^3],确保可靠性实用性。 #### 错误原因分析 “找不到文件错误文件上传过程中常见,主要原因包括: 1. **本地文件不存在或路径错误**:`test.txt`文件在您的本地系统中不存在,或路径输入错误(例如,文件不在当前工作目录)。 2. **文件权限问题**:您没有足够的权限读取本地文件(如Linux系统中的文件权限不足)。 3. **Hadoop配置问题**:HDFS的配置错误导致无法正确解析文件路径,例如主机名解析失败(参考[^2])或数据节点问题(参考[^3])。 4. **环境变量或路径设置错误**:Hadoop命令行环境未正确设置,导致无法识别本地文件系统。 根据您的描述,错误发生在`put`命令执行时,这通常指向本地文件问题(原因1或2),但Hadoop配置问题(原因3)也可能间接引发类似错误。 #### 逐步解决方案 按照以下步骤检查修复问题,每一步都包含验证命令或操作。确保您以Hadoop用户(如`hdfs`或具有权限的用户)执行命令。 1. **检查本地文件是否存在及路径正确性** - 在本地系统中,确认`test.txt`文件是否存在且路径正确。 - 使用命令行检查文件: ```bash ls -l /path/to/test.txt # 替换为您的实际路径,如果文件在当前目录,直接用 ls test.txt ``` - 如果文件不存在,错误消息会是`No such file or directory`。确保文件路径正确,例如如果文件在`/home/user/`目录下,命令应为`hadoop fs -put /home/user/test.txt /hdfs/destination`。 - **解决方案**:重新创建文件或修正路径。如果文件在相对路径下,使用绝对路径避免错误。 2. **验证文件权限** - 检查文件读取权限: ```bash ls -l test.txt # 查看权限,例如 -rw-r--r-- 表示用户可读 ``` - 如果权限不足(如`-r--------`),您需要修改权限: ```bash chmod 644 test.txt # 设置用户可读写,组其他可读 ``` - **解决方案**:确保执行`put`命令的用户有读取权限。如果使用sudo,注意环境变量问题。 3. **检查Hadoop配置(针对HDFS问题)** - 如果本地文件存在但错误仍发生,可能是Hadoop配置错误。参考[^2],主机名解析问题可能导致“找不到文件”的间接错误(如datanode拒绝通信)。 - 检查HDFS配置文件- 编辑`hdfs-site.xml`,添加或修改以下属性以禁用主机名检查: ```xml <property> <name>dfs.namenode.datanode.registration.ip-hostname-check</name> <value>false</value> </property> ``` - 保存后,重启Hadoop服务: ```bash stop-dfs.sh # 停止HDFS start-dfs.sh # 启动HDFS ``` - 参考[^3],数据目录问题也可能影响文件上传。删除临时数据目录(谨慎操作,先备份): ```bash rm -rf /path/to/hadoop/tmp/dir/* # 替换为core-site.xml中hadoop.tmp.dir的路径 ``` 然后重新初始化HDFS(如果需要): ```bash hdfs namenode -format # 注意:这会清除HDFS数据,仅用于测试环境 ``` - **解决方案**:应用配置更改后重试上传命令。监控日志以确认错误是否解决: ```bash tail -f /path/to/hadoop/logs/hadoop-*-datanode-*.log # 查看datanode日志 ``` 4. **验证Hadoop环境** - 确保Hadoop命令行环境正确设置: ```bash echo $HADOOP_HOME # 检查环境变量 hadoop fs -ls / # 测试HDFS连接 ``` - 如果命令失败,重新配置环境变量(如`.bashrc`文件)。 - **解决方案**:修复环境变量后重试。 #### 错误预防最佳实践 - **上传前检查**:总是先使用`ls`命令验证本地文件- **权限管理**:为Hadoop用户设置统一权限策略。 - **配置备份**:修改配置文件前备份,避免意外错误- **监控工具**:使用`hdfs dfsadmin -report`检查HDFS健康状态。 如果以上步骤无效,提供更多错误日志(如`hadoop fs -put`的完整输出),我可以进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值