作为一个前端,坚守了 9 年的 windows 平台,也是惭愧,但主要还是因为穷,最近终于换上了 mac,但却是各种不习惯,各种折腾,本文记录下自己遇到的问题和解决办法,希望能够帮助 mac 新同学们
一直理不清 mac 的历史,下面简单总结下,最开始的苹果电脑叫做 Apple,比如 Apple I,Apple II,其操作系统叫做 System,大概从 1984-1997
后来苹果推出新的 Mac 电脑,Mac OS 系统诞生了
苹果将 Mac OS10 改名为 OS X,并给每个版本命名一个大型猫科动物
系统 | 代号 | 时间 |
---|---|---|
Mac OS X 10.0 | 猎豹 Cheetah | 2001.3.24 |
Mac OS X 10.1 | 美洲狮 Puma | 2001.9.25 |
Mac OS X 10.2 | 美洲虎 Jaguar | 2002.8.24 |
Mac OS X 10.3 | 黑豹 Panther | 2003.10.24 |
Mac OS X 10.4 | 虎 Tiger | 2005.4.29 |
Mac OS X 10.5 | 花豹 Leopard | 2007.10.26 |
Mac OS X 10.6 | 雪豹 Snow Leopard | 2008.6.9 |
Mac OS X 10.7 | 狮子 Lion | 2011.6.7 |
苹果为了整合 iphone 和 mac 将 Mac OS X 改为名 OS X,猫科动物也快用完了,10.8 以后就改用地名了。。。
系统 | 代号 | 时间 |
---|---|---|
OS X 10.8 | 山狮 Mountain Lion | 2012.2.16 |
OS X 10.9 | 巨浪 Mavericks | 2013.6.10 |
OS X 10.10 | 优胜美地 Yosemite | 2014.6.3 |
OS X 10.11 | 酋长岩 El Capitan | 2015 |
看起来整合 iphone 和 mac 的计划失败了,苹果将 mac 的系统改名为 macOS
系统 | 代号 | 时间 |
---|---|---|
macOS 10.12 | 内华达山脉 Sierra | 2016.6.14 |
macOS 10.13 | 内华达高脊山脉 High Sierra | 2017.6.5 |
macOS 10.14 | 莫哈维沙漠 Mojave | 2018.9.24 |
macOS 10.15 | 圣卡塔利娜岛 Catalina | 2019.10.7 |
macOS 11.x | 大瑟尔 Big Sur | 2020.11.12 |
macOS 12.x | 蒙特利湾 Monterey | 2021.7.1 |
macOS 13.x | 范朵拉 Ventura | 2022.6.6 |
初次接触 mac 会很不习惯,开始菜单呢?桌面上怎么没有软件?怎么安装软件?别慌,试着忘掉 windows 中的概念,先来了解下 mac 中的功能
Dock 是码头的意思,Dock 位于屏幕的底部,打开的 app 会在上面显示,类似 windows 底部的任务栏,可以把常用 app 设置为在 Dock 中常驻,这样非常方便
windows 中会在桌面上放置软件的快捷方式,非常方便,mac 类似的功能就是 Launchpad,打开 Launchpad 会看到所有的安装的软件,顶部的搜索框可以用来搜索 app,非常方便
Spotlight 是聚光灯的意思,可以快速找到电脑上的软件和文件,这是一个神器,大概相当于 windows 上的开始菜单搜索和文件全局搜索,通过 command+空格键打开,如果记得 app 的名字,通过这个打开 app 会比 Launchpad 快很多,Spotlight 开可以用来搜索文件,只要记得文件名字就行
除了上面提到的功能,还有很多功能,比如快速计算,换算单位。。。
mac 下没有 windows 下的文件管理器,类似的功能是 Finder,但是功能比 windows 弱很多,Finder 的本意是访问并达到,而不是文件管理
打开 Finder,哎呦我去 C 盘,D 盘,E 盘哪去了?嗯 mac 下就一个磁盘,那以前 D 盘放软件,E 盘放学习资料,F 盘放娱乐资料的习惯怎么破?你可以通过目录来解决,系统默认帮你建好了一些目录,比如:
那重装系统是安装到 C 盘,不会覆盖其他盘文件怎么破?这个我还没研究明白 o(╯□╰)o 据说 mac 不用重装系统。。。
Finder 中选中文件回车是修改文件名,如果想预览文件,可以按空格键,如果想打开文件可以 command+o,这点和 windows 很不一样
Finder 默认的设置非常难用,需要进行一些自定义设置才能好用点,如下:
mac 下的桌面存在感很弱,我基本用不到,除了设置好看的壁纸之外,o(╯□╰)o
但多桌面是一个非常好用的功能,windows10 也有,简单来说就是多个工作空间互不影响,我设置了两个桌面,一个工作,一个生活,这样工作和生活就能不互相干扰了
一般切换程序是使用 command+tab,但如果一个程序双开的话,command+tab 就不灵了,还有些弹出窗口一不小心就不见了怎么破?Mission Control 可以让你找到所有的界面,只要四指向上滑动就可以了,就是这么简单
mac 中的软件关闭按钮在左边,不在右边。。。三个按钮分别是关闭,最小化和最大化,不过一般没什么用,关闭的快捷键是 command+w,最小化的快捷键是 command+h,双击三个按钮旁边的位置可以让软件自适应大小
mac 中的软件菜单栏也是分离的,这个比较个性。。。
mac 中左上角的关闭(command+w),其实并没有退出程序,感觉和最小化差不多,mac 中退出程序有两种方式:
有时候程序可能卡死,需要强制退出,强制退出也有两种方法:
Mac 下的软件都安装在了 Applications 目录下,很多 xxx.app 结尾的就是一个一个软件,直接点击就可以打开,但其实这些都不是一个文件,而是一个文件夹,右键-> 显示包含内容,就能看到里面的内容,里面包括软件资源和可执行文件,xxx.app 可以理解为软件的安装目录
下面来说说安装软件,安装软件可以通过 AppStore 来进行安装,但有时候很多软件里面都没有,需要自己下载软件来安装,下载的时候可能下载到.app、.dmg、.pkg 结尾,下面介绍下区别
.app 的直接打开就行,首次打开会提示你拷贝到 Applications 目录去,就是这么简单
dmg 是苹果的压缩镜像文件(类似 Windows 下的 iso ),Mac 应用软件通用的打包格式,里面一般包含 应用程序.app
的图标和一个应用程序文件夹(/Applications
)快捷方式,直接将 应用程序.app
拖曳至应用程序文件夹即可完成安装,相当于绿色软件,卸载就是直接删除就行
pkg 相当于 win 下面的大型安装包,pkg 安装一般要求 sudo 授权,会对系统进行修改,卸载的话会麻烦一点
命令行才是程序员的最爱,mac 下的命令行几乎和 linux 一样好用,比 windows 好用太多,下面介绍一些命令行的知识
如果想设置环境变量,修改 PATH,自定义别名都涉及到对 shell 进行配置,网上搜的话还是比较混乱的,有的说.bash_profile
,有的说.bashrc
,怎么我的 mac 没有.bashrc?下面给大家分享下自己的认识
需要注意我说的都是~
目录下的配置文件,不涉及/etc/
下的配置文件
.bash_profile
是为 bash 的配置文件,由于历史原因 shell 是有很多分支的,比如 bshell,kshell,zshell,通过下面的命令可以查看系统支持的全部 shell
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
如果当前使用 bash,mac 中每次打开命令终端,或者新开 tab 页都会加载.bash_profile
文件,mac 下没有.bashrc
文件,可以自己新建一个,但还需要在.bash_profile
手动加载.bashrc
$ vi ~/.bash_profile
# 环境变量
# PATH设置
# 如果当前是bash,则手动加载.bashrc
if [ -f ~/.bashrc ] && [ $SHELL = '/bin/bash' ]; then
source ~/.bashrc
fi
一般在.bash_profile
中设置 path,环境变量等;在.bashrc
中设置 bash 自己私有的东西,比如 bash 下的别名
$ vi ~/.bashrc
# bash shell私有设置
alias ll=ls -l
一句话总结,.bash_profile
中的内容会和其他 shell 共享,.bashrc
中的内容仅仅 bash 会加载
程序员经常和环境变量打交道,下面来介绍下 mac 下如何设置环境变量,总的来说有两种方法
下载了一个可执行程序,想放到环境变量的最简单方法就是通过软链接连接到/usr/local/bin
目录下,这里需要注意的就是必须要写绝对路径,不然可能出错
$ ln -s /Users/yan/adb /usr/local/bin
如果想把一个目录加到 PATH,上面的方法就行不通了,但是可以再~/.bash_profile
修改 path,下面把 platform-tools 添加到 PATH 中
$ vi ~/.bash_profile
# 环境变量
# PATH设置
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
有人说 zsh 是终极 shell,确实 z 是最后一个字母了 o(╯□╰)o,zsh 配置很复杂,搞不好好不如不用,不过这么复杂事情已经有人给搞好了,Oh My ZSH让 zsh 可以开箱即用,下面赶紧来使用 zsh 吧
mac 下自带 zsh,仅需一个命令就可以切换到 zsh 了
$ chsh -s /bin/zsh
下面还得安装 oh my zsh,安装 oh my zsh 需要先安装 git,好在 mac 自带了 git,oh my zsh 官网有安装的命令,就一行
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
zsh 的配置文件位于~/.zshrc
,zsh 不会加载.bash_profile
,这可麻烦了,之前设置的环境变量怎么办?简单只需要在.zshrc
中手动加载.bash_profile
就行了
$ vi ~/.zshrc
# 加载 .bash_profile
source ~/.bash_profile
oh my zsh 进行了很多配置,让 zsh 比 bash 好用很多,比如大量 alias 的设置,完整的别名列表见这里
.. # 等同于 cd ..
... # 等同于 cd ../..
~ # 等同于 cd ~
oh my zsh 有很多功能,比如换肤,这里就不折腾了,你要是喜欢就自己折腾吧
我安装了如下几个插件
$ vi ~/.zshrc
plugins=(git sublime code z zsh-autosuggestions zsh-syntax-highlighting)
st
命令,通过这个命令可以通过命令行用 sublime 打开任何文件下面来介绍下 mac 如何安装第三方命令,在开始介绍之前,先介绍一点基本知识,mac 中程序一般位于三个目录:
其中覆盖优先级是/usr/local/bin
> /usr/bin
> /bin
,优先级其实是由 PATH 中的设置决定的,上面的顺序是系统默认的设置
mac 下安装命令最简单的方式就是手动下载安装,比如手动下载 git 的安装包,但缺点很多,就不介绍了
mac 下有两个安装命令的工具一个是MacPorts,另一个是Homebrew,下面主要介绍下 Homebrew
Homebrew(简称 brew)是 Mac 不可或缺的软件管理工具,让 Mac 拥有类似 apt-get 的功能,用以简化软件的安装、升级和卸载过程
brew 会下载源代码,然后执行 ./configure
&& make install
,将软件安装到单独的目录(/usr/local/Cellar
)下,然后软链(symlink)到 /usr/local/bin
目录下,同时会自动检测下载相关依赖库,并自动配置好各种环境变量,这简直不能太好用了^_^
brew 的安装也非常简单,去官网拷贝安装代码即可,其中 ruby 和 curl 都是 mac 的自带程序
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装好后就可以通过 brew 来安装程序了
$ brew install wget # 安装wget
$ brew install git # 安装git
$ brew install node # 安装node
brew 比较常用的命令如下:
brew install xxx # 安装
brew uninstall xxx # 卸载
brew upgrade xxx # 升级程序
brew list # 写出本地安装程序
brew search xxx # 查询可以用程序
brew info xxx # 查看制定程序的信息
可以通过 brew 安装系统已经存在的程序,比如 git,python 等,brew 安装的程序会覆盖系统安装的程序,但由于安装目录不同,仍可通过绝对路径访问系统自带程序
$ git # brew安装git
$ /usr/bin/git # 系统自带git
$ /usr/local/bin/git # brew安装git
系统自带的 python 是 2.7.10,但没有自带 pip,python 从 2.7.13 开始自带 pip,由于要用 pip 所以我想在安装一个 python,就可以通过 brew 安装
搜索 python,看到有两个
$ brew search python
python python3 ...
我想安装 python2,应该是第一个,下面通过 info 看下具体信息,会出现很多信息,关注版本就好了
$ brew info python
python: stable 2.7.14 (bottled), HEAD
...
下面安装 python
$ brew install python
...
brew 会告诉你安装到了哪里,修改了 PATH,怎么调用 pip,可以发现现在 python 已经指向新安装的 python 了,但,需要通过 pip2 来使用 pip 功能
$ python --version
Python 2.7.13
$ pip
zsh: command not found: pip
$ pip2 --version
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
除了通过升级 python 的方式安装 pip,也可以单独安装 pip
首先需要手动下载 pip 安装文件,下载 get-pip.py(https://bootstrap.pypa.io/get-pip.py)
然后运行下面的命令即可
$ python get-pip.py
安装好 pip 以后,就可以通过 pip 来进行自身的升级
$ pip install --upgrade pip
mac 自带的 ruby 是 2.3,我的博客需要用到 jekyll,jekyll 已经不支持 2.3 了,需要安装更高版本的 ruby,可以通过 brew 直接安装一个,但 ruby 有自己的多版本管理工具RVM,RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换
rvm 的官网有安装程序的命令
$ \curl -sSL https://get.rvm.io | bash -s stable
下面来安装指定版本的 ruby
$ rvm list known # 列出ruby所有版本
[ruby-]2.4[.1]
...
$ rvm install 2.4.1 # 安装指定版本
$ ruby -version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
rvm 安装的 ruby 位于~yan/.rvm/rubies
目录下,不会和系统的 ruby 冲突,系统自带 ruby 位于/usr/bin/ruby
如果很长时间安装不上,可能是 rvm 的下载源不稳定,可以尝试切换为淘宝的源
$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
rvm 常用命令如下:
$ rvm list # 列出本地版本
$ rvm use 2.4.1 # 如果本地安装了多个版本,可切换到指定版本
$ rvm remove 2.4.1 # 卸载指定版本
rvm 还有很多其他的功能,不过我就用到这么多,自己摸索吧
下面整理下自己常用的软件
最后推荐大家阅读池建强老师的《MacTalk·人生元编程》,书中介绍了很多 mac 知识和 mac 技巧,并且包含了很多受益匪浅的人生哲理,非常值得阅读