最近都在更新,主要涉及 iOS, Python 和 golang,欢迎关注 晨晓(chenxiaopost)

由于先在微信后台编辑的文章,转换 markdown 太麻烦了。。上面是完整内容的截图,下面是排版混乱的文本。
在前文中,我分享了自己收集的一些便于使用的命令行命令,由于行文仓促没有进行必要的交代和拓展,本文会补全这些信息同时新增一些使用的命令行介绍。
为什么使用命令行?《乔布斯传》中有介绍,乔布斯在参观了施乐( Xerox )之后,对其简洁优雅的用户图形界面 (Graphic User Interface, 简称 GUI) 感到震撼,后续凭借用户图形界面在个人电脑领域做出了不小的成就。可以说,用户图形界面变革了操作电脑必须掌握命令行的局面,将个人电脑走进千家万户铺就了路基。
尽管如此,命令行操作仍然有着很多用户图形界面无可比拟的优势。
-
用户图形界面难以做到精准操控,点击某个页面左上角第一个像素可以作为一个例子加以印证。
-
由于第一条的缘故,用户图形界面不便于将操作自动化,尤其在面对大小各异的屏幕分辨率时。
-
用户图形界面是对某些核心操作优化体验之后的封装,省略了细节,灵活性不够。
-
系统内置的用户图形界面的应用程序数量有限,而新安装应用程序需要下载时间和硬盘空间,在切换使用环境时不便。
-
程序出现无法响应时命令行有时能作为补救措施。
在学习命令行之前,你可能需要区分 Terminal, Console, TTY, Shell 的概念,可以移步 https://www.zhihu.com/question/21711307 进行访问。简单的说,Shell 就是命令行程序解释器,最常见的有 Bash 和 Zsh 等,我推荐大家使用 Oh-My-Zsh 搭配 Zsh 使用。
由于第一台电脑诞生于上世纪的美国大学校园,故而很多命令会隐含英语缩写,下文会适当标明一些缩写方便记忆。
(1)便于理解其他命令的命令
- 查找相关命令
- 如: 查询如何访问某个命令的手册, 输入 whatis manual, 返回
- ...
- man(1) - format and display the on-line manual pages
- ...
whatis COMMAND
- 查询某个命令的使用手册, 即如何使用
- man 是 manual(手册)的缩写
man COMMAND COMMAND --help
- 查找某个命令的位置
which COMMAND whereis COMMAND
- 清除当前 Shell 显示内容
- 也可以使用 Control + l
- Control + u 清除当前光标到本行开始的内容
- Control + k 清除当前光标到本行结尾的内容
clear
- 退出当前进程
- 也可以使用 Control + d
- 连接远程主机时为退出登录, 断开连接
exit
(2)文件操作命令
Unix 系统有一条知名的信条「一切皆文件」,无论是硬件外设,网络端口都被当作文件,每个文件有自己的 URI,通常以 / 开头的是基于系统根目录的绝对路径,以 ~/ 开头的是基于用户家目录的绝对路径,以 ./ 和 ../ 开头的是基于当前目录或上级目录的相对路径。
- 列举目录, list 的缩写, 省略目录则列举当前目录
ls [DIRECTORY]
- 切换目录, Change Directory 的首字母缩写
cd DIRECTORY
- 显示当前工作目录, Pathname of current Working Directory 的首字母缩写
pwd
- 复制, copy 的缩写
cp SOURCE TARGET
- 移动, move 的缩写
mv SOURCE TARGET
- 删除, remove 的缩写
rm DIRECTORY
- 创建目录, Make Directory 隔三差五的缩写
mkdir DIRECTORY
- 创建文件
touch FILENAME
- 在 Finder 中打开目录, 如果目录是一个文件则使用默认打开方式打开
open DIRECTORY
- 使用文本编辑器打开文件
open -e FILENAME
- 使用指定应用打开文件
open -a APPLICATION FILENAME
- 修改目录标记, Change Flags 的缩写, 如是否隐藏等
chflags DIRECTORY
- 修改目录执行权限, Change File Mode 的缩写
- 三位数字分别表示当前用户,当前用户组,其他用户组的权限
- 4/r 表示可读, 2/w 表示可写, 1/x 表示可执行
- u:目录或者文件的当前的用户
- g:目录或者文件的当前的群组
- o:除了目录或者文件的当前用户或群组之外的用户或者群组
- a:所有的用户及群组
chmod 755 DIRECTORY
chmod a+x DIRECTORY
- 修改目录拥有者和群组, Change File Owner 的缩写
chown GROUP:USER DIRECTORY