那个只会黑屏闪光标的终端,其实藏着 10 个能拉开程序员差距的小秘密

我有一支技术全面、经验丰富的小型团队,专注高效交付中等规模外包项目,有需要外包项目的可以联系我
大部分开发者用终端,只会那几招:cd、ls、git。 屏幕一黑、光标一闪,就开始心累。
但没人告诉你的是——终端这个“老古董”,其实藏着一整套让你少敲几千次键盘的暗门。知道和不知道,差的不是“技巧”,是每天被悄悄偷走的时间和专注力。
下面这 10 个小技巧,很多开发者压根没用过,却应该人手掌握。 学会一个,你就比昨天的自己快了一点。

  1. cd -:把终端变成有“后退键”的浏览器
    大多数人只会用最基础的目录跳转:cd ~/xxx、cd ..。
    但一旦你开始频繁在两个目录之间来回切换,就会发现:cd – 简直是神级小捷径。
    它的作用,可以理解为:
    终端里的「上一个位置」,一键回到之前的目录。
    比如:
    cd ~/projects/myapp
    cd /etc/nginx
    cd –
    第三行一敲,你就瞬间回到 ~/projects/myapp。
    适合用在:
    在两个活跃目录之间来回切换
    一边改配置文件,一边回项目目录跑代码
    少敲几次路径,减少“体力劳动”
    终端没有鼠标,但可以比浏览器更贴心。
  2. Ctrl + R:用“时光机器”搜你敲过的命令
    如果说终端有“魔法”,那一定是 Ctrl + R。
    只需要:
    在终端里按下 Ctrl + R
    然后开始输入你记得的一小段命令片段
    终端就会自动把历史命令里最匹配的那条“挖”出来给你。
    比如:
    那条超级长的 Docker 启动命令
    那个你自己都看不懂的 ffmpeg 转码参数串
    上个月你写过一次的诡异 grep 管道
    都不用重新回忆,也不用回到 shell 历史里一行行翻。
    加分项:再按一次 Ctrl + R,就能在多条匹配结果之间继续往回翻。
    你不需要“记住命令”,只要记住:
    “我以前干过这事”,剩下的让 Ctrl + R 替你回忆。
  3. 大括号展开:一行命令搞定一堆文件 / 目录
    累死人的从来不是“难的命令”, 而是那些重复十遍同样东西的蠢活。
    大括号展开,就是帮你专门干这种活的。
    touch file_{1..10}.txt
    mkdir project/{api,frontend,docs}
    上面两行命令会自动帮你:
    生成 file_1.txt 到 file_10.txt
    在 project 下创建 api、frontend 和 docs 三个文件夹
    适用场景包括:
    连续的数字序列(测试文件、图片占位等)
    一组同类文件名
    脚手架目录一次性搭好
    任何“看见就想复制粘贴”的重复模式
    能让机器帮你打的字,千万别用手打。因为重复十次,出错一次都是常态。
  4. !!:重跑上一条命令,顺便一键“加官进爵”
    两个感叹号,看起来不起眼:
    !!
    却能直接重跑你上一条命令。
    真正牛的,是下面这个:
    sudo !!
    场景你一定熟:
    你敲了一条命令
    终端冷冷地回你一句:Permission denied 或者 need root
    你才想起来自己忘了加 sudo

这时候,不用重打一遍。sudo !! 会自动帮你把上一条命令原样搬过来,并加上 root 权限重跑一次。
所有“哦我又忘记加 sudo”的尴尬, 都可以用这两个符号和自己和解。

  1. xargs:把“结果列表”变成一条条实际执行的命令
    当你用管道把东西传来传去时, 你可能经常会想:
    “要是能对每一行都执行同一个命令就好了。”
    这,就是 xargs 出场的时刻。
    比如,递归删除所有 .log 文件:
    find . -name “*.log” | xargs rm
    或者,把搜索结果全部用编辑器打开:
    grep -rl “TODO” . | xargs code
    一旦你真正理解了 xargs 在干什么, 你就等于拿到了一块自动化任务的加速踏板:
    批量删除
    批量打开
    批量操作任何“每行一个目标”的列表
    写脚本的次数会变少, 用单行命令完成小任务的次数变多。
  2. alias:把你每天敲的废话变成两个字母
    每个成熟一点的开发者,.bashrc 或 .zshrc 里都藏着一堆属于自己的“小外挂”。
    最经典的就是 alias(别名):
    alias gs=”git status”
    alias gp=”git pull”
    alias ports=”lsof -i -P -n | grep LISTEN”
    alias ..=”cd ..”
    这些看起来不起眼的小缩写, 每条可能只帮你省一两秒, 但一年下来,是真正能省出时间的。
    一个简单原则:
    只要你一天要敲某个命令两次以上,就值得给它设一个 alias。
    你会突然发现: 终端不再是“惩罚你多敲几行的地方”, 而是帮你把日常动作压缩到最短路径的工具。
  3. less:不是“少”,而是“我撑得住这些输出”
    当一条命令倾倒出一整屏、两整屏、十几整屏输出时, 肉眼直接看,只会让你怀疑人生。
    这时候,请学会加上 less:
    ps aux | less
    进入 less 之后,你就多了一整套导航技能:
    /text:从当前位置向下搜索
    ?text:从当前位置向上搜索
    n:跳到下一个匹配结果
    g:回到顶部
    G:跳到最底部
    面对复杂日志和长输出时,less 就像给你发了一个“降噪耳机”: 你可以精准找到自己要的那一段, 而不是在满屏信息里等眼睛报废。
  4. 进程替换:让命令“假装自己是文件”
    这个技巧听上去有点高端, 但一旦学会,你会频繁想起它。
    进程替换的写法是这样的:
    diff <(ls dir1) <(ls dir2)
    这句命令的意思是:
    “把 ls dir1 和 ls dir2 的输出,分别当成两个临时文件,然后比较它们的差异。”
    好处是: 你不用真的创建中间文件, 所有中间结果都在内存里临时存在, 用完即丢。
    尤其适用于:
    写脚本时对比两段输出
    调试数据流
    临时检查两个结果之间的差别

掌握进程替换之后, 你会发现很多以前“非得先输出到一个文件再处理”的场景, 其实都可以用一行命令干干净净解决。

  1. tldr:别再每次都去搜「XXX 命令怎么用」
    man 手册是权威的、全面的, 但也是——过于全面了。
    很多时候你想要的只是:
    这个命令最常用的几种写法
    一眼看完的实例
    tldr 正好就是干这个的。
    tldr tar
    tldr find
    tldr awk
    你会得到一份简洁、实用、带示例的“小抄”, 而不是铺天盖地的技术文档。
    如果你还没装它:
    npm install -g tldr
    对于很多开发者来说,tldr 装上的那一刻起, 就正式从“天天搜命令”毕业了。
  2. z / zoxide:让终端记住你常去的地方
    手动一层层 cd 目录,是对寿命的一种浪费。
    z 和它的现代替代品 zoxide, 干的事情非常简单粗暴:
    让终端记住你常去的目录, 然后用模糊匹配把你“瞬移”过去。
    比如:
    z project
    z docs
    z backend
    不需要完整路径, 只要你经常去某个目录,z 就会按“频率 + 最近使用”帮你跳。
    安装 zoxide 的方法之一:
    curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
    之后,你的目录导航体验会直接从“公交车时代”升级到“随意瞬移”。
    写在最后:终端不是界面,而是杠杆
    终端看起来只是一个黑框和一个光标, 但对开发者来说,它其实是放大效率的杠杆。
    你学会的每一个小技巧, 本质上都是把一点点时间、精力和耐心,从无意义的重复中抢回来。
    这些技巧不会让你一夜之间变成“命令行大神”, 但它们会:
    让你更快找到自己想要的命令
    让你更从容地面对黑屏滚动的日志
    让你在常规操作上少浪费一点生命
    在这份工作里,你最宝贵的资产是注意力和专注时间。
    掌握这些“细枝末节”, 大事反而会自动变得顺畅——
    在终端里也好,在生活里也好, 效率,永远都是一种真正的超能力。

全栈AI·探索:涵盖动效、React Hooks、Vue 技巧、LLM 应用、Python 脚本等专栏,案例驱动实战学习,点击二维码了解更多详情。

声明:来自JavaScript 每日一练,仅代表创作者观点。链接:https://eyangzhen.com/4561.html

JavaScript 每日一练的头像JavaScript 每日一练

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部