苹果Mac OS系统修改Hosts文件的方法

  • A+
所属分类:hosts

使用苹果Mac OS X系统的用户有很多,近期也有不少童鞋问我Mac怎么修改hosts,修改hosts的方式有很多,下面我就整理两种比较方便的方法吧,希望能够帮到大家。

在某些时候可能遇到了需要修改系统Hosts文件的情况,(除了使用hosts穿墙之外还有很多用处的)那么Mac OS系统如何修改Hosts文件呢?和Windows系统有何区别呢?我们知道其实修改Hosts文件只需要在硬盘中找到该文件,再编辑修改就OK了,但是很多童鞋们发现只要编辑 Hosts 文件就出现”你不是文件 hosts 的所有者,因此没有权限写到该文件”的提示,要解决这个权限问题又比较麻烦,对于刚刚使用 Mac 的用户来说并不容易整明白。

苹果Mac OS系统修改Hosts文件的方法

1. 第一种方法:直接在 Mac 系统下找到 Hosts 文件修改

这应该算是最简单以及最直观的一个修改方法了。

第一步、打开你的文件管理器也就是Finder ,Hosts自然也是在这个里面。

苹果Mac OS系统修改Hosts文件的方法

第二步、接下来请按快捷键组合 Shift+Command+G 三个组合按键查找文件,并输入 Hosts 文件的所在路径:/etc/hosts

如下图所示:

苹果Mac OS系统修改Hosts文件的方法

第三步、在打开的文件夹当中找到「Hosts」文件夹。

苹果Mac OS系统修改Hosts文件的方法

第四步、复制这个「hosts」文件到桌面上,鼠标右键点击/右击它,选择「打开方式」—「文本编辑」,打开这个「hosts」文件,然后将你要修改的内容直接在里面修改就好了。

苹果Mac OS系统修改Hosts文件的方法

第五步、将你修改好的 hosts 文件在复制回 Hosts 文件的所在(文件夹下)路径:/etc/hosts 之下替换原始的 hosts 文件就好了,这样你 Mac 系统下的 hosts 文件就被成功修改了。

苹果Mac OS系统修改Hosts文件的方法

 

2. 第二种方法:直接在图形界面中修改

打开 Finder,然后点击菜单栏中的 前往——前往文件夹(或者快捷键 Shift+Command+G),在路径中输入 /private,进入之后在 etc 文件夹上点击右键——显示简介,在文件夹简介窗口的最下面找到“共享与权限”,将 everyone 的权限修改为“读与写”,如果你发现不能修改的话,将右下角的那把小锁解开就可以修改了。

苹果Mac OS系统修改Hosts文件的方法

修改 etc 文件夹的权限之后,再进入 etc 文件夹下面,修改名为 hosts 文件的权限(同样是everyone读与写),修改完成之后,你就可以直接在 hosts 文件上点右键,通过“文本编辑”打开并编辑该文件了,不会出现没有权限的提示。修改并保存完成之后,记得将该文件和 etc 文件夹的权限还原。

 

这两种系统下修改 Hosts 的方法都不会出现没有文件修改权限的提示,这个提示其实也是 Lion 安全性更高的表现,以上几种方法在 10.6 及以上系统中都可以使用,至少算得上 Lion 系统下两个个最简单修改 Hosts 文件的方法了。


 

2017-02-17更新:

一般青年:

先sudo -i临时获取管理员权限,会提示你输入密码,就是启动的密码。
然后 vi /etc/hosts
前面的vi是编辑器,当然也可以换用其他的,例如上面的nano。
/etc/hosts 是hosts内容,编辑完保存就OK。

屌丝青年(推荐):

刚才网上找到一个比较适合小白的办法:
(1)点击 Finder,在顶部菜单栏选择“前往”-“前往文件夹”,粘入 “/private/etc/” 这个路径(不带引号)
(2)找到 “hosts” 文件,复制一份到桌面。用 Mac OS X 系统自带的文本编辑器就能编辑 hosts 文件。添加好你要访问(或者拦截)的网站相关 hosts 信息后保存,拖回 Finder 里的 /private/etc/ 文件夹下即可。拖回去的时候,Mac 会弹出报警说无法移动项目。点击“认证”按钮然后输入电脑密码即可。

网络加速器推荐
老D

发表评论

您必须才能发表评论!

目前评论:39   其中:访客  39   博主  0

    • avatar freshmilk 0

      mac,我每次都是直接用您的host文件替代现有文件,好像也没啥问题?会有问题吗,请问……

      • avatar ER 1

        可以直接在bash输入sudo vi

          • avatar 彳亍 1

            @ER 具体怎么做啊,可以说得具体一点吗

          • avatar guoguo 0

            加载完下载的hosts文件后,打开终端,输入让它生效的那串字符后出现bogon:~用户名,这个怎么解决?无法生效

            • avatar carrot胡萝卜 0

              请问一下为什么会出现这种情况?
              会弹出 “未能打开hosts。文本编码unicode(UTF-8)不适用”下面的解释是该文件可能已使用了不同的文本编码来储存,或者可能不是文本文件

                • avatar 老D 9

                  @carrot胡萝卜 本机自带的文本编辑软件 打开他的偏好设置-打开和存储-纯文本文件编码-打开文件 选择 中文(GB18030)或是自动 根据系统
                  改好后 command+q 退出 再打开 就好了

                • avatar ︶ㄣ真︵ 0

                  想访问的网站的hosts信息在哪里找啊,打开了hosts文件不知道写入什么内容

                  • avatar 张涛 1

                    有用啊,不然刷新一下dns缓存试试,终端里面 打上 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed; 听到 “DNS cache flushed” 就好了

                    • avatar 张涛 1

                      不是做广告哈,推荐一个macOS 的app 叫 iHosts 在App Store就有,修改hosts非常方便,我用的免费普通版,支持4个hosts文件随时切换。 有好东西就分享给大家了

                      • avatar FIVE 9

                        一样的问题,怎么办

                        • avatar 超级看官 9

                          EL Capitan 下,修改hosts文件似乎不起作用。各位大侠是否有这个问题,有什么解决方案吗。

                            • avatar RollingBottle 1

                              @超级看官 我是Mac OS Sierra,按照老D给的方案也没有成功,也没找到原因

                            • avatar 哪里下载host文件,网盘?怎么没给链接 0

                              哪里下载host文件,网盘?怎么没给链接

                              • avatar Seal_of_man 9

                                老D,昨天我试了一晚上的mac os系统更换hosts 都没有成功,你能不能帮我看一下,具体步骤如下:
                                1、下载mac和Windows的那个压缩包,mac内解压出来为一个“终端”程序,直接打开后就提示执行完毕,检查hosts更替失败
                                2、将解压出来的hosts只用文本打开,里面是各种网址和ip,全部复制到mac的hosts里面(已授权解锁,可编辑),保存,运行你上文所说命令,再打开hosts,更替成功,打开浏览器,无法访问墙外网站。
                                3、下载Windows用的那个hosts压缩包,解压后是一个文件夹,里面包含说明和hosts文件和一个CMD,直接复制打开hosts文件将内容复制到mac的hosts里面,运行生效命令,更替hosts成功,还是无法翻墙。
                                求老D支招。

                                • avatar 手机后市场 9

                                  从老d下载的host文件,我直接替换了系统原本的host文件有影响么?

                                    • avatar 老D 9

                                      @手机后市场 沒有

                                        • avatar 富富富 0

                                          @老D 请问第四步中“然后将你要修改的内容直接在里面修改就好了”是什么意思?应该怎么改?

                                            • avatar 老D 9

                                              @富富富 比如你在hosts里添加一行:127.0.0.1 www.xxx.com
                                              直接在里边修改添加或者删除就可以了…记得保存

                                          • avatar 小白 1

                                            @手机后市场 我也是直接替换了,现在用着正常,只是YouTube不能正常播放

                                              • avatar 彳亍 1

                                                @小白 你好。 你 是怎么弄的啊。 我弄了之后一直弄不了啊,方便教我一下吗,急用谷歌学术

                                            • avatar 黑白世界4648 9

                                              能不能搞个苹果 host在线更新工具,脚本的也行啊,每次用老D的 很烦 要下载 解压 复制粘贴

                                                • avatar 赵成辉V 9

                                                  @黑白世界4648 wget -O hosts “https://github点com/racaljk/hosts/blob/master/hosts?raw=true” && sudo mv hosts /etc/

                                                    • avatar 赵成辉V 9

                                                      @赵成辉V 点 换成 .

                                                        • avatar 黑白世界4648 9

                                                          @赵成辉V 肯定不能直接替换,我是搞开发的,xampp 还依赖原host里的一部分呢,下载下来的host文件 有本身的注释范围,能做到一开始检测不到头注释就新增,后面过去替换就好了

                                                            • avatar 赵成辉V 9

                                                              @黑白世界4648 把“sudo mv hosts /etc/”换成,“你的固定路由”+“老D hosts内容”拼接后再>到系统hosts中呗

                                                              • avatar 黑白世界4648 9

                                                                @赵成辉V 不固定啊,我文件里的xampp每次动态添加host域名开发后会自动追加的,我要的是替换效果不是主动拼接

                                                                • avatar 赵成辉V 9

                                                                  @黑白世界4648 那用特殊的字符串在hosts里标识一个固定的区域,然后用linux的文本处理命令,每次动态替换那个固定的区域。就是复杂点

                                                            • avatar 手机后市场 9

                                                              @黑白世界4648 从老d下载的host文件,我直接替换了系统原本的host文件怎么办?

                                                              • avatar 手机后市场 9

                                                                @黑白世界4648 [泪]

                                                                • avatar 手机后市场 9

                                                                  @黑白世界4648 从老d下载的host文件,我直接替换了系统原本的host文件怎么办?

                                                                • avatar Olin 9

                                                                  使用了hosts,但是注册谷歌邮箱说此电话无法验证应该咋整