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

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

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

mac hosts

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

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

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

mac hosts

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

如下图所示:

etc hosts

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

Hosts文件夹

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

编辑hosts

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

 Mac 系统hosts

 

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

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

Finder

修改 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,如若转载,请注明出处:https://laod.cn/1831.html

(2)
上一篇 2016-03-19
下一篇 2016-03-23

相关推荐

发表回复

登录后才能评论

评论列表(40条)

  • hqyj99
    hqyj99 2018-07-25 12:05

    请问ppc架构的macos x能使用这个host吗?
    我的系统是Macos X 10.4.11

  • freshmilk
    freshmilk 2017-11-23 08:41

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

  • ER
    ER 2017-06-16 20:24

    可以直接在bash输入sudo vi

    • 彳亍
      彳亍 2017-07-29 00:50

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

  • guoguo
    guoguo 2017-06-05 19:04

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

    • 老D
      老D 2017-06-05 21:15

      @guoguo不用输入也可以,直接断网在连接、或者重启

  • carrot胡萝卜
    carrot胡萝卜 2017-05-15 20:46

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

    • 老D
      老D 2017-05-15 22:08

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

    • carrot胡萝卜
      carrot胡萝卜 2017-05-15 22:20

      @老D选择GB18030 还是不适用

    • _Wr_
      _Wr_ 2020-03-07 11:58

      @carrot胡萝卜实在不行也可以用终端的 Vim 修改

  • ︶ㄣ真︵
    ︶ㄣ真︵ 2017-04-18 10:45

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

  • 老D
    老D 2016-10-08 01:19

    没用过Mac,请用过的童鞋回答下,谢谢

  • 张涛
    张涛 2016-08-08 17:40

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

  • 张涛
    张涛 2016-08-08 17:37

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

  • FIVE
    FIVE 2016-06-08 22:29

    一样的情况,我也是三个都试了

    • 高木
      高木 2017-06-01 18:51

      @FIVE第二个方法我是更替成功后在终端sudo killall -HUP mDNSResponder跑一下,然后就好使了

  • FIVE
    FIVE 2016-06-08 22:29

    一样的问题,怎么办

  • 超级看官
    超级看官 2016-05-17 20:23

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

    • RollingBottle
      RollingBottle 2017-08-22 10:47

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

  • 哪里下载host文件,网盘?怎么没给链接
    哪里下载host文件,网盘?怎么没给链接 2016-04-20 09:52

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

  • 手机后市场
    手机后市场 2016-04-01 15:00

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

    • 老D
      老D 2016-04-01 15:37

      @手机后市场沒有

    • 富富富
      富富富 2016-11-17 13:50

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

    • 老D
      老D 2016-11-17 16:27

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

    • 小白
      小白 2017-04-01 23:29

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

    • 彳亍
      彳亍 2017-07-27 15:41

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

  • 黑白世界4648
    黑白世界4648 2016-03-23 13:04

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

    • 赵成辉V
      赵成辉V 2016-03-30 17:40

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

    • 赵成辉V
      赵成辉V 2016-03-30 17:41

      @赵成辉V点 换成 .

    • 黑白世界4648
      黑白世界4648 2016-03-30 23:53

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

    • 赵成辉V
      赵成辉V 2016-03-31 00:35

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

    • 黑白世界4648
      黑白世界4648 2016-03-31 23:16

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

    • 赵成辉V
      赵成辉V 2016-04-01 10:49

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

    • 手机后市场
      手机后市场 2016-04-01 14:56

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

    • 手机后市场
      手机后市场 2016-04-01 15:09
    • 手机后市场
      手机后市场 2016-04-01 15:09

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

  • Olin
    Olin 2016-03-20 00:32

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