我不是那种"一切都要用命令行"的原教旨主义者。鼠标有鼠标的好,但在某些场景下命令行确实能省大把时间。分享几个今年用下来最实用的。
第一个:Ctrl+R反向搜索。
如果你还不知道这个,先记下来。在终端按Ctrl+R,然后输入命令的关键词,它会从历史命令里自动匹配。比如你之前跑过一个很长的docker命令,按Ctrl+R输入docker,直接调出来。
进阶用法:安装fzf(模糊搜索工具),把Ctrl+R绑定到fzf上。效果是按Ctrl+R后弹出一个交互式搜索界面,实时预览历史命令,方向键选择,回车执行。配置方法:在.bashrc或.zshrc里加一行就行。
第二个:tmux分屏。
很多人习惯开多个终端窗口,切来切去。tmux可以让你在一个终端窗口里分屏、分标签页——左边跑服务器日志,右边编辑代码,下面跑测试。而且最大的好处是:SSH断开了,tmux session还在。重新连上服务器,tmux attach恢复一切。
最基础的三个快捷键记住就够用:Ctrl+B % 左右分屏,Ctrl+B 引号上下分屏,Ctrl+B 方向键切换窗格。
第三个:jq处理JSON。
API返回的JSON又长又乱?curl一个接口之后管道给jq,格式化加高亮。还能做筛选和转换,只提取需要的字段,输出干净的JSON。做数据分析和调试API的时候极其好用。apt install jq就装好了。
第四个:rsync替代scp。
如果你经常往服务器上传文件,把scp换成rsync。为什么?scp每次都传整个文件,rsync只传差异部分。一个1GB的日志文件,你改了最后100行,rsync只传那100行的数据。基本用法:rsync -avz /本地路径/ user@server:/远程路径/。还有一个妙用:加--delete参数可以把本地文件夹镜像到服务器上,多余的文件自动删除,部署静态网站的时候比ftp快很多。
第五个:history快捷操作。
几个常用的:两个感叹号重复上一条命令。感叹号加美元符号取上一条命令的最后一个参数。感叹号加关键词执行最近一条包含该关键词的命令。比如你vim编辑了配置文件,接下来要用sudo重启服务,不用重新打一遍路径,直接sudo加两个感叹号就行。
第六个:alias别名。
把常用命令简化。我的.bashrc里有一些别名:ll代替ls -lah,gs代替git status,gp代替git pull,dc代替docker compose,dps代替docker ps带格式化输出。几秒钟配置,每天省几十次键盘敲击。时间久了肌肉记忆会让你回不去。
这些技巧都不复杂,但加起来——fzf历史搜索加tmux分屏加jq数据处理加rsync传输——每天至少能省半小时。一个月就是15个小时,够看完一本技术书了。
还木有评论哦,快来抢沙发吧~