美文网首页
MacOS之Brew使用

MacOS之Brew使用

作者: DeamoV | 来源:发表于2018-07-09 15:19 被阅读297次

    前言

    ​在Windows下或者大多数没有接触过命令行的朋友安装软件的时候很多都是直接在互联网上搜索自己想装的App,然后双击dmg或者exe文件进行安装,完全不知道自己的App按到哪里了,甚至不知道已经安装了什么软件。在这里就要引入每一个Unix家族引以为自豪的「包管理」,顺便小小的鄙视下windows哈哈哈。

    ​如果你不知道包管理是什么的话,没关系,你可以去想象,这个包管理工具是一个管家,你的App是家里的大大小小的东西,这个管家帮你放置家具,帮你记住有什么家具在哪里。

    快速上手

    1. 安装
      首先打开终端,然后在里面输入如下指令并回车。
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    1. 初步使用
      接下来就试着用brew来安装一些东西。

       1. `brew cask install AppName`
       2. `brew install AppName`
       3. `brew install python`
      

      好的,你可能已经用了这个格式安装了些软件。那我们不想要它们了怎么办。

       1.`brew cask zap AppName`
       2.`brew cask remove AppName`
       3.`brew zap AppName`
       4.`brew remove AppName`
       5.`brew remove python`
      

      removezap两个指令都是可以删除的。
      好了,我们能安装也能卸载了,如果我们没记住名字,怎么搜索呢。

       1.`brew search SearchContent`
       2.`brew cask search SearchConten`
       3.`brew search iina`
      

      之后他们会搜索本地taps和Github上的taps,来找到相关的app。
      到这里,我们已经会了找软件,安装软件,也会了搜软件。那么「包管理」能不能帮我自动升级软件呢,答案是可以的。

      brew update && brew upgrade这个指令就和指令的名字一样就是更新升级。不过这里的由于GFW的问题,这个国内直接更新的话比较慢,推荐爬下梯子再更新。

    高阶理解

    ​在上面的指令中,我们是不是看到了很多很相似的指令,他们的区别只有一个cask这个参数的区别。那么这个cask到底是什么呢。

    Cask是字面意思是桶,个人的理解这里的意思就是把一堆东西给封装了起来,变成了图形化的界面。也就是说这些通过cask搜到的程序都是可以在GUI中通过鼠标点击等可视化操作进行使用的。也就是说,在安装时带有cask这个指令安装的程序一定是带有图形化界面的

    在上面的理解是通过含义来理解的cask和不加cask的区别。从物理层面上没有图形化界面的程序(只需要在终端中就可以运行和操作的程序)和有图形化的程序的存储的位置是不同的,具体如下。

    • 带图形化的界面存储的位置为/usr/local/Caskroom
    • 命令行工具的存储位置为/usr/local/Cellar

    延展

    ​为什么我们在讲了如何安装,查询卸载程序之后要稍微细节的了解文件存储的地方呢。对于自己的亲身经验而言有以下两个。

    • 致力于完全清理文件。虽然Mac下的程序文件的存储比较集中,但是在卸载的时候仍有很多卸载不完全的情况,需要手动的去查看。
    • 致力于备份程序,尽量达到一键重装系统的高度。这个教训是血一样的教训,很多人觉得使用TimeMachine备份后,自己的资料就万无一失了。实际上不是这样子的,在经历了一次竞赛前电脑坏掉,同时Timemachine不能回复,被迫反常的经历之后。个人觉得最好的办法还是使用各种各样的方法,维护一个软件清单“之后会给出教程”,同时使用icloud来稳妥的备份各种各样的软件。

    感谢

    参考文献在此

    相关文章

      网友评论

          本文标题:MacOS之Brew使用

          本文链接:https://www.haomeiwen.com/subject/nyqtpftx.html