前情链接:
本课主题:Mac下常用命令行介绍
授课老师:张国金
== 课程目录 ==
· Mac下更好用的终端命令程序
· Homebrew-macOS缺失的软件包管理器
· Zsh-一款功能强大的shell软件
· 基本的文件操作命令
· 环境变量
· 命令与文件的查询
作为程序员每天都在与命令行打交道,编辑、查询问题、维护生产环境运行正常等,可想而知命令行的重要性,了解相关知识必不可少。
一、Mac下更好用的终端命令程序
介绍目的:会使终端的使用更加顺畅、感知更好,带有自动提示等功能。
1. 相对于系统自带的"终端"程序,推荐使用iTerm2,功能更丰富、界面更精美。官网下载地址:https://www.iterm2.com/downloads.html,安装简单易操作。
2. iTerm2的常用快捷键
(1)cmd + q: 退出iTerm2;(2)cmd + t: 新建tab;(3)cmd + n: 新建窗口(不常用);(4)cmd + d: 窗口切分;(5)cmd + w: 关闭一个窗口;(6)cmd + shift + [ : 选择左边的窗口;(7)cmd + shift + ] : 选择右边的窗口
二、Homebrew-macOS缺失的软件包管理器
介绍目的:可以在macOS系统下非常方便的安装绝大多数常用程序。
1. 安装Homebrew
首先需在AppStore查找安装Xcode(相当于Mac系统下的编程IDE软件),此软件较大,安装时间较长。
Homebrew的官网:https://brew.sh/index_zh-cn.html
在终端命令行直接安装 Homebrew,直接复制、粘贴后回车即可,一般需要输入系统密码:
/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 使用方法简便:(1)查看是否有待安装软件:brew info (待安装软件名);(2)安装软件:brew install (软件名);(3)卸载软件:brew uninstall (软件名)。
附:图形界面查看Homebrew状态工具:cakebrew,官网地址:http://www.cakebrew.com
三、Zsh-一款功能强大的shell软件
介绍目的:Z Shell(Zsh)是一款功能强大终端(shell)软件,既可以作为一个交互式终端,也可以作为一个脚本解释器。能够解析发起的命令,告知计算机该做什么。
1. Zsh的安装
使用brew安装zsh非常的方便:brew install zsh zsh-completions
执行zsh --version验证zsh是否安装成功
成功的显示效果:>zsh --versionzsh 5.3.1 (x86_64-apple-darwin16.3.0)
2. oh-my-zsh的安装
oh-my-zsh是一款zsh的配置框架。相当于别人提供的zsh配置方式。因此可以直接通过安装oh-my-zsh来实现zsh的配置
详见授课老师提供的参考文档:https://github.com/fantasyKing/getting-started-for-mac/blob/master/03.2.md
至此,终端使用相关准备工作完成,达到一个比较友好的使用界面效果。
四、基本的文件操作命令
介绍目的:演示操作效果,有助了解相关功能,重在自己多加练习。更详细内容参见:https://github.com/fantasyKing/getting-started-for-mac/blob/master/04.0.md
1. 相对路径和绝对路径
相对路径(../doc)提供了一种能够快速在各个路径之间跳转的方式。
绝对路径(例如:/usr/share/doc)提供了一种精确的文件定位的方式。
注:在很多程序中,如果不写明绝对路径,会有被篡改的风险。
2. 常见的目录相关操作
cd: 切换目录
pwd: 显示当前路径
mkdir: 新建一个新的目录,结合-p参数的使用
rmdir: 删除一个空的目录,结合-p参数的使用
3. 查看文件与目录
ls : 列出当前目录内所有文件夹及文件(不含隐藏)
ls -l: 列出长数据串,包含文件的属性与权限等数据(常用)
ls -al : 可查看所有含隐藏文件的信息
4. 复制,删除与移动
cp:复制文件或目录
rm:移除文件或者目录
mv:移动文件与目录,或重命名
5. 文件的内容查阅
如果我们要查阅一个文件的内容时,该如何是好呢?下面给大家介绍几个常用的查看文件命令的命令。
cat: 由第一行开始显示文件内容
nl: 显示的时候顺便显示行号
more: 一页一页的显示文件内容,"回车"单行查看、"空格"整页查看、"q"退出
less: 与more类似
head: 只看头几行
tail: 只看结尾几行
附:echo"一句话证明你是海迷">>testcat<== 创建一个名为testcat的文件,同时,向文件写入内容。
6. 文件的创建
touch testtouch<==创建一个名为testtouch的文件
五、环境变量
在所有Unix和类Unix系统中,环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,它包含了一个或者多个应用程序所将要使用到的信息。
执行echo $PATH这个命令查看本机的环境变量,显示结果:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/tmp/bin
PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开,每个目录是有“顺序“之分的。
为了更直观的理解环境变量的概念和作用,演示了一个有趣的demo:自己实现一个hello命令。在终端中输入hello,执行结果会输出Hello World!(详见https://github.com/fantasyKing/getting-started-for-mac/blob/master/05.1.md)
有些遗憾,按步骤操作未能如期获得结果,卡在“vi .zshrc<== 使用shift+g 跳转到文件的末尾,在.zshrc文件的最后一行添加 exportPATH=$PATH:/tmp/bin”,实际操作结果如下图,与老师课堂演示效果差别较大,并且为了退出而勉强敲上的“:wq”字符也不知如何删掉,每次执行vi .zshrc都会显示。对此已报讨论区待老师协助查看问题原因。
六、命令与文件的查询
主要讲解ack与ag的安装(分别为brew install ack、brew install the_silver_searcher)与使用。
推荐使用ag命令——查询速度快。
附:df -h 可查看磁盘利用情况。