新手Mac的环境配置详细讲解2
上一章已经说了,所有一切都是文件。在讲今天的内容之前,默认电脑环境都已经安装过了xcode command line tools还有Homebrew
这两个工具安装都很简单,就不在此讲解了。
假如,我想安装一个新的工具了,很多人因为不了解报错的信息,也不知道如何搜索解决方案,所以经常就要为此头疼很久。今天我就结合上一章内容,从一个很普通的软件iftop安装讲起。
当然可能之前我强调了很多次,80%的安装过程中报permission denied都是因为权限不够没加sudo引起的,所以就有人习惯性的
sudo brew install iftop
理所当然的报错。因为homebrew认为以root身份运行太危险了,所以通过homebrew的安装只能通过普通用户身份进行安装。那就开始吧
brew install iftop
当然正常情况应该就安装成功了,这里拿异常情况讲解
提示已经安装了,但是没有被关联上。这里先说一下,brew install安装应用默认是放在/usr/local/Cellar/目录下的。可以通过brew list查看一下
brew list iftop
可以看到iftop的实际路径按照提示,让我使用brew link iftop来关联这个版本。那就执行一下
brew link iftop
报错提示不可写入,当然我们可以通过chown命令去修改这个权限问题,但是,结合上一章的知识点,我在这提供另一种解决方案。
先简单介绍一下这几个目录:
/usr/local/bin
/usr/local/sbin
/usr/bin
/usr/sbin
local就是本地,s就是super,有s的就是管理员权限的。bin就是存放命令的地方,常用的命令快捷方式都在这个目录下。
可以看到/usr/bin目录下有很多命令再说一遍,所有的命令其实都是可执行文件而已。我们要执行这个命令,无非就是要想办法去执行这个文件。现在直接去执行这个目录下的iftop命令
sudo /usr/local/Cellar/iftop/1.0pre4/sbin/iftop
是可以执行的。因为只是提示并没有关联上,那我们就关联一下好了——将这个路径加入到PATH中就可以了。这是一个解决方案。但是如果仅仅是这样,那也太麻烦了,毕竟要是每个路径都往这加那这就臃肿了。
我们讲到了,常用的命令都放在bin目录下,说明系统是识别/usr/bin这个目录的。那我们只需要把这个命令,想办法放到/usr/bin目录下,这样就可以了。这里就用到了一个命令:ln。这个命令就类似Windows下的“创建快捷方式”,那我们就创建一个快捷方式到/usr/bin目录下就可以了。
sudo ln -s /usr/local/Cellar/iftop/1.0pre4/sbin/iftop /usr/bin/iftop
这样,我们就把源路径的/usr/local/Cellar/iftop/1.0pre4/sbin/iftop创建了一个快捷方式,放在了/usr/bin目录下,名字也叫iftop。这样,我们在终端输入iftop的时候,就会识别到/usr/bin目录下的这个iftop,而这个最终指向了/usr/local/Cellar/iftop/1.0pre4/sbin目录下的iftop,就达到了我们正确执行命令的目的。我们可以看一下是不是这样:
可以看到确实指到了这里。那就执行看看吧:
sudo iftop
ip地址我就不截图出来了,可以看到已经正常执行了