熟练使用 Mac OS 命令行,提高程序员生产力,只要掌握这6组命令和技巧
cheatsheet.png
熟练使用命令行是常常被忽视的技能。但实际上,熟练使用命令行很重要。主要有2个起因:
- 熟练使用命令行是程序员的必备技能。做有些任务必需用到命令行。以前台程序员为例,启动项目,中止项目,构建项目都需要命令行。
- 熟练掌握命令行能提高程序员的生产力。如:在
/GitHub/note下创立文件夹test,用命令行只要要输入cd /GitHub/note && mkdir test,用图像界面需要点击两次鼠标到/GitHub/note下,右击新建文件夹再键入内容。
命令行支持上千条命令,本文只选了常用的6组命令和技巧:提升输入命令速度技巧,文件夹与文件操作命令,管道命令,网络命令,字符串操作命令,系统操作命令。
注意:本文详情的命令记针对的是 Mac OS 系统。
第1组 提升输入命令速度技巧
补全命令
按 tab 键可以补全命令和文件路径。假如按 tab 啥都没发生,表示有超过一个命令或者路径满足当前的输入内容,连按两下 tab 查看满足条件的所有命令。
命令记录
输入 ctrl+r 搜索命令记录。
用上下箭头翻阅命令历史记录。输入上箭头键,显示最近一条执行的命令。按屡次上箭头键,看更久的命令。下箭头与上箭头的功能相反。
用 histroy 查看命令历史记录。 如查看最近的5条的命令为:
history | tail -5查看命令使用文档
用 man 命令来查看某个命令的使用文档。如:
man ls # 查看ls命令文档man -k ls # 搜索的ls相关的命令推荐使用在线工具explainshell来看命令的文档。
设置别名
用alias来查看和设置别名。通过设置别名,可以很长或者难记的命令,变成自己设置的别名。例如: grep 可以加参数 --color=auto 实现搜索结果中高亮显示搜索字符串的功能。但每次使用 grep 都得要自行加上 --color=auto 又显的很麻烦,可以在~/.bashrc中加入下面的命令来设置别名:
alias grep='grep --color=auto'而后,执行下面的命令使别名生效。
source ~/.bashrc这边是我设置的别名:
# npm 相关alias build='npm run build'alias dev='npm run dev'alias ni='npm install'alias yi='yarn install'# git 相关。git 自身也支持别名。alias pull='git pull'alias push='git push'# 其余alias grep='grep --color=auto'直接执行 alias 可以查看目前设置的所有的的别名。
设置快捷键分割
命令行默认用的是 Emacs 的快捷键。光标移动,删除内容都可以用 Emacs 的快捷键。如:ctrl+a 可以将光标移至行首,ctrl+e 可以将光标移至行尾,ctrl+k 可以删除光标至行尾的所有内容,ctrl+u 可以删除行内光标所在位置之前的内容。
执行下面的命令,可以设置成 vi 风格的快捷键。
set -o vi改回来
set -o emacs查看命令的安装路径
可以用命令 type 来查看命令的安装路径。如
type which # 命令输出: which is /usr/bin/which也可以用 type 看当前系统中能否有某个命令。如
type aaaa # 命令输出 -bash: type: aaaa: not found感兴趣的可以理解下 which 命令。它和 type 命令很相似。
清屏
可以用命令 clear 来清屏。
输出内容
可以用命令 echo 来输出内容。如
echo 内容`date +%H:%M:%S`假如要输出命令的运行结果,用 “ 来包住命令。如:
echo `date +%H:%M:%S` 早吃饭。 # 输出: 09:20:13 早吃饭。第2组,最常用的命令: 文件目录与文件操作命令
文件目录操作
创立
用 mkdir 创立目录。
mkdir 目录名mkdir -p a/b/c # 创立多级目录进入目录
用 cd 命令来进入目录。很多命令必需进入指定目录才能执行。比方,需要进入package.json所在的目录,执行 npm 相关的命令。
cd 目录名称 # 进入指定目录中cd .. # 进入上级目录cd / # 进入根路径cd ~ # 进入工作目录cd - # 进入上次访问的目录cd 在Finder中,将目标目录托拽到命令行中注意:假如目录名称中包含 空格,引号,[,],*,|等特殊字符时,路径需要用 "" 把路径包起来。
在 Finder 中打开当前路径
open .查看当前路径
用 pwd 命令来查看当前路径。
pwd查看当前路径下的文件
用 ls 命令来查看当前路径下的文件。
lsls -a # 显示隐藏文件ls -l # 查看详细资料,如权限,创立人等tree # 以树形结构显示目录结构删除目录
用 rm 命令来删除目录。
rm -r 目录名 # 删除目录移动目录或者文件
用 mv 命令来移动目录或者文件。
mv 原路径 新路径文件操作
创立文件
用 touch 命令创立文件。
# 创立touch 文件名查看文件内容
有很多命令可以查看文件内容。如:
cat 文件名 # 查看文件内容。不支持修改vi 文件名 # 用 vi 打开。支持直接修改less 文件名head 文件名 # 查看文件的开头十行.tail 文件名 # 查看文件的最后十行命令行中,少量命令的运行结果,假如显示的是长的内容,默认都是用 vi 打开。如 用 man 查看帮助文档,git diff 的运行结果。在 vi 中,退出查看用 :q,保存用 :w,保存并退出:wq,更多 vi 的用法见这里。
删除文件
用 rm 命令来删除目录。
rm 文件名通过文件名搜索文件
用find命令来通过文件名搜索文件。 具体用法:
find . -name 文件名 # 文件名支持正则修改文件权限
用chomd命令来修改文件的权限。具体用法:
chomd 文件权限 文件路径查看文件类型
用file命令来查看文件类型。假如一个文件缺失了扩展名,那么这个命令可能会非常有用。具体用法:
file 文件路径假如是图片文件,还会file命令的执行结果还会显示图片的尺寸、颜色数等信息。
第3组 管道命令:展现命令行的真正强大之处
管道命令是一种通信机制,它体现出来的形式是将前面命令的输出直接作为下一个命令的输入。
重定向管道
用 | 连接2个命令,可以将 | 左边的命令的运行结果做为输入输出。如:
cat README.md | say # 把 README.md 读出来history | grep 'git status' -c # 统计指定命令执行了多少次重定向输出
用 > 或者 >>将命令的执行结果输出到文件。> 和 >>的区别是:> 会覆盖了输出文件而 >> 是在文件末增加。如
tree > output.txtcat a.txt >> b.txt # 将 a.txt 中的内容追加到 b.txt重定向输入
用 < 将文件的内容重定向到命令中。如
grep scripts < package.json第4组 字符串操作命令
通配符
常见的通配符包括:
*: 匹配任何长度的任何字符。?: 匹配任何单个字符。[]: 匹配[]范围内的字符。
搜索字符串
用 grep 命令来搜索字符串。 如:
grep 搜索字符串 文件grep 搜索字符串 文件 --color=auto #高亮搜索结果grep 搜索字符串 文件 -A<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。grep 搜索字符串 文件 -B<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之前的内容。grep 搜索字符串 文件 -C<显示行数> #除了显示符合范本样式的那一列之外,并显示该行前后的内容。grep 搜索字符串 -n #字符串出现的次数grep、sed、awk 被称为Linux文本三剑客。感兴趣的可以去理解下 sed 和 awk 命令。
第5组 系统操作命令
结束当前执行中的命令
用 ctrl+c 结束当前执行中的命令。
杀死进程
kill 进程id用管理员权限运行命令
sudo 命令切换帐号
su 帐号第6组 网络操作
查看ip
ifconfig | grep en0 -A2看某个ip能不能访问的通
ping ip端口占用情况
sudo lsof -i :端口号几个装逼的命令
文字转语音
用 say 命令来将文字转语音。
say 文字内容在眼睛累的使用,可以把某个文件的内容读解决。命令:
cat README.md | say显示日历
下面的命令可以显示 上个月,本月,下个月的日历。
cal -3推荐阅读&参考文档
- 命令行的艺术
- Explainshell 命令的文档。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 熟练使用 Mac OS 命令行,提高程序员生产力,只要掌握这6组命令和技巧