基础建设, 配置, 常用工具讲完, 可以进入 Linux 的篇章.
唠叨时间: 我在Mac 入门的时候没有多想, 直接安装使用iTerm. 因为网上大部分就是这样推荐的. 现在回过头来想想, Mac自带的 Term ,到底有多难用才让这么多人弃坑? (虽然现在真的讨厌造轮子,但也不能别人给啥你就吃啥…)秉着探索的精神,说一下我的结论:
最后我们都是要上手 iTerm.
Term 不难用: 提供了多种 profile,在终端主题(背景颜色,字体大小,光标,字符编码)支持性很强.它绝对不是你第一次打开看到的那样,配置性很强.
iTerm 比 Term 优秀在于: 提供了更多快键键.也就是说,你要是没有意识到 iTerm 的快键键可以给你带来多大的便利,真是浪费工具本身.具体后面提到
如果你连基本命令还没学会,就先用自带的终端少给自己折腾.话说小白如你,知道终端怎么打开么? (前面 Mac 的基础操作,忘记没关系,搜索)
基本 shell 命令
我入门的书籍:
Linux命令行与shell脚本编程大全
思维导图推荐的:
老实说,要是我刚入门的时候看这两个,估计效果还不如看上面的书.具备基础知识后,发现这两个文档的确强大,就连我这个已经把 shell 当成日常工作的人,也可以在里面找到盲点(握草,还有这命令;握草,这命令还能这样用 )
bash-guide: 知识点速览.
the-art-of-command-line : 艺术的第一点,支持17种语言….看这个.感觉是有个高手向你传授经验… 我以前怎么没早点发现….
真正常用的命令其实不会很多,跟我们的语言一样. 老老实实找本书看,多敲打键盘.下面列一下我脑海能想到的命令(没几个说明: 我没有特意去记忆;常用的命令不多,请相信自己是可以掌握的)
1 | 帮助: man |
挑战任务
说是挑战,其实是手把手教,一个小 demo 向你展示为什么命令行是可以提高你效率的
打开你的终端
命令行安装 homebrew 作为你的第三方软件的管理工具,可以看官网
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
- 按照官网的教程,安装 wget
1 | 安装: |
下面重点来了,我是一个 BigBang 迷.甚至有一个 BB 理论:从第一季到最新一集看过的次数来衡量一个人的死宅程度,现在我的等级是8 (大学重复看,刚刚工作的在深圳偶然看,来到北京经常看,求 PK)
- 用浏览器打开生活大爆炸第十季全集The Big Bang Theory迅雷下载. 现在我想下载整一季,正常人会怎么做?
1 | 鼠标放到链接,右击复制链接,打开迅雷,输入链接地址下载. 如此重复24次!!! |
虽然可能也就1分钟的事情,但作为一个志在提到生活效率的 Hack 这你能忍? 在终端运行以下命令
1 | curl http://www.msj1.com/archives/4423.html | grep -o 'ed2k.*mp4.*|/' |
屏幕瞬间显示24集的下载链接, 这时候你就可以复制链接用迅雷下载(其实你要是用其他下载器,连复制粘贴都可以省略,这举一个例子)
上面的命令做了什么?
使用 curl 请求了网页的源代码 (可以搜一下怎么在浏览器查看网页源码,右击一下的事情)
使用到了 管道 ‘|’ ,
使用到了 grep 命令,-o 的意思是只显示匹配内容,而匹配内容是我引号内的正则表达式.
重复的事情就不要自己干,这是机器做的.
iTerm + Oh-my-zsh
阅读: iTerm2 + oh my zsh 打造最强Mac终端
思路大概是:
为什么这样推荐直接使用Oh-my-zsh ? 原因很简单, 省事.比起自己摸索,入门还是让”前辈”带,这个系列一直都是这样的理念. btw, 我们也要有一个志气:前辈是用来学习并干掉的.
iTerm
iTerm2 前面说了,与原生的强大在于他的快键键(当然还有 profile 的管理)
- 看一下这篇: iTerm2 快捷键大全
当然你直接通过 iTerm 本身的菜单栏走一遍也是可以的.这里提几个我常用的:
新开标签页(用鼠标其实有点烦)
分屏: 竖直水平分屏
很多人会这一个,也知道分屏后默认进入的是 home 目录.但不知道默认进入的目录是可以改的.在 设置–> Profiles把Working Directory 设置进入的是前一个 session 的目录.
有时候我们就是在一个目录下干一天活,这样可以避免自己重复 cd
- profile
cmd + T 是打开默认的终端, cmd+o 是可以选择不同的profile.这样的一个好处就是,你可以通过不同的 profile 管理你的远程机器. 方法就是在 profile–>general –>command 写上你的 ssh命令
唠叨: 不知道读者是怎么管理 ssh( 远程连接机器的命令 ).下面说说我的看法
ssh [email protected] 这种最搓,机器一多,难不成用一个备忘录保存(是的,我以前就是这样干的,每次用搜索)
使用 alias . 不难想到的方法,我也试过,其实这种方法还是搓.
使用 ssh config. 这种算是一种优雅的解决方法了.这是很通用的做法,不依赖与终端,只要复制一份配置文件,什么机器都可以使用.
使用 iterm 不同的 profile. 这是我现在在用的.比第三种好处在于,我连名字都不用记. 缺点是,profile 有多份.
方法3,4推荐,其他的就当过去年少不懂事….
iTerm 还有彩蛋: 选取即复制, cmd+f 查找….可以在工作中摸索
- 在 iTerm 点击路径可以直接打开路径
我们可以使用 Go2Shell 在当前文件夹打开终端(避免 cd );有一次我在想能不能在终端直接进入文件夹.这个需求是有的,结果一搜,发现 iTerm 已经集成这个功能.路径名,使用 cmd+点击就可以进入. 舒服
oh-my-zsh
zsh 安装完之后尝试
- 修改主题: .zshrc 文件, 可选的主题可以在 ~/.oh-my-zsh/themes/ 查看.当然可以自定义
选择自己适合的就好了.例如我经常想知道我在哪,又不想 pwd, 所以选了 ‘bira’.
- 使用插件
阅读
那些我希望在一开始使用 Zsh(oh-my-zsh) 时就知道的
默认开启了 git , 很多 git 别名节省我们的输入时间. 这些引用我们组的一个人说的:
插件是要选哪种离开了你就干不了活的. 不贪多.其次才是省事.
现在我就开启了 git(主要是别名) , z(更快进入目录)
要是读者发现哪个插件对你生产效率提高特明显,希望来信通知.我也只能说出我知道的.一定还有我不知道的.