之前看了一堆Shell技巧文章,翻来覆去就是tar解压、grep搜索、alias快捷键——这些谁不知道。今天说几个我实际在用、确实每天省时间的东西。
1. Ctrl+R的升级版:fzf模糊搜索历史
系统自带的Ctrl+R只能匹配连续的字符串,你忘了一个命令的开头就没法搜。装fzf以后用Ctrl+R,输入几个零散字母就行。比如搜你上个月跑过的某条docker命令——输入doc和restart两个词,不用记得完整写法。安装就一行:git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install。配完之后在.bashrc里加一句export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border',体验好很多。
2. jq处理JSON日志
后端日志很多是JSON格式,不用jq就是一堆乱码。jq用来提取字段、过滤条件、格式化输出。这条命令我几乎每天用:tail -f app.log | jq 'select(.level=="error") | {time: .timestamp, msg: .message}'。实时监控错误日志,只显示时间和内容,干净。装jq:apt install jq或者brew install jq。
3. z代替cd
cd用多了会烦——那么多目录要记路径。z是一个智能跳转工具,它会记住你最常去的目录。比如你经常cd到/var/www/html/myproject,以后直接z mypro就跳过去了。它会按频率+最近访问时间加权。我以前每天敲cd大概50次,用z以后降到10次左右。安装:github.com/rupa/z,下载z.sh然后在.bashrc里source一下。
4. tldr替代man
man手册太详细了,查一个tar命令翻十页。tldr就是每个命令的实用例子——tar怎么打包、怎么解压.tar.gz、怎么排除目录。一个命令8个常用场景,30秒看完。装tldr用npm install -g tldr或者用官方客户端。
5. tmux保持会话
SSH连服务器跑一个长任务,网络断了就没了。tmux能让你的会话保持在后端,断开重连后回到原来的状态。最常用的三个操作:tmux new -s work创建会话、Ctrl+B然后D脱离、tmux attach -t work重连。我在服务器上配了自动启动tmux,在.bashrc末尾加 if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then tmux attach || tmux new; fi——这样每次SSH进去自动进入或创建tmux会话,再也不怕断线。
这五个东西加起来配置一次大概半小时,之后每天至少省半小时。一个月下来多出十个小时——够学一门新技术了。
还木有评论哦,快来抢沙发吧~