命令行效率工具:用终端提升 10 倍效率

命令行效率工具:用终端提升 10 倍效率

图形界面虽好,但很多操作在命令行里只需要一条命令。

这篇文章分享我每天都会用到的命令行工具,覆盖文件查找、文本处理、系统监控等多个场景。


文件查找与浏览

fd(替代 find)

bash
# 安装
brew install fd        # macOS
apt install fd-find    # Linux

# 使用
fd "keyword"           # 按文件名搜索
fd -e md               # 搜索所有 .md 文件
fd -x wc -l {}         # 对搜索结果执行命令
fd -t d "src"          # 搜索目录

bat(替代 cat)

bash
# 安装
brew install bat

# 使用
bat file.txt           # 语法高亮 + 行号
bat --language=python  # 指定语言高亮
bat README.md          # 自动检测 Markdown

lsd(替代 ls)

bash
# 带图标的文件列表
lsd -la                # 彩色输出 + 图标
lsd --tree             # 树形结构
lsd --group-dirs=first # 目录优先

文本处理

ripgrep(替代 grep)

bash
# 安装
brew install ripgrep

# 使用
rg "pattern"          # 递归搜索
rg -i "pattern"       # 忽略大小写
rg -l "pattern"       # 只显示文件名
rg -C 3 "pattern"     # 显示上下文
rg "TODO" --type js   # 只在 JS 文件中搜索
rg "function" src/    # 在指定目录搜索

jq(JSON 处理)

bash
# 安装
brew install jq

# 使用
curl api.example.com | jq '.'           # 格式化 JSON
jq '.name' data.json                     # 提取字段
jq '.users[] | {name, email}' data.json  # 提取多个字段
jq 'group_by(.age) | length' data.json   # 分组统计

# 实用示例
curl -s https://api.github.com/repos/user/repo | jq '{stars: .stargazers_count, forks: .forks_count}'

yq(YAML 处理)

bash
# 安装
brew install yq

# 使用
yq '.services.app.ports' docker-compose.yml
yq eval '.version = "3.9"' -i docker-compose.yml

系统监控

btop

bash
# 安装
brew install btop

# 使用
btop                    # 交互式系统监控
# CPU、内存、磁盘、网络一目了然
# 支持鼠标操作和主题切换

duf(替代 df)

bash
# 安装
brew install duf

# 使用
duf                     # 美观的磁盘使用情况
duf -only local         # 只显示本地磁盘
duf -theme light        # 浅色主题

procs(替代 ps)

bash
# 安装
brew install procs

# 使用
procs                   # 带颜色的进程列表
procs nginx             # 搜索特定进程
procs --tree            # 树形显示

Git 增强

lazygit

bash
# 安装
brew install lazygit

# 使用
lazygit                 # TUI 界面管理 Git
# 可视化 staging、branch、commit、rebase
# 告别记不住的 Git 命令

delta(diff 增强)

bash
# .gitconfig
[core]
    pager = delta
[delta]
    side-by-side = true
    line-numbers = true
    navigate = true

网络工具

httpie(替代 curl)

bash
# 安装
brew install httpie

# 使用
http https://api.github.com                 # 语法高亮的 GET
http POST https://httpbin.org/post name=Alice  # POST 请求
http PUT example.com x=1 y:=2               # 混合字符串和 JSON
http -a user:pass example.com               # 基本认证

dog(替代 dig)

bash
# 安装
brew install dog

# 使用
dog example.com          # 美观的 DNS 查询
dog example.com MX       # 查询 MX 记录
dog example.com @1.1.1.1  # 指定 DNS 服务器

日常效率

fzf(模糊搜索)

bash
# 安装
brew install fzf

# 使用
Ctrl+R                  # 搜索命令历史(需要配置)
Ctrl+T                  # 搜索文件名

# 结合其他工具
vim $(fzf)              # 用 fzf 选择文件打开
kill -9 $(ps aux | fzf | awk '{print $2}')  # 交互式杀进程

zoxide(智能 cd)

bash
# 安装
brew install zoxide

# shell 配置(zsh)
eval "$(zoxide init zsh)"

# 使用
z project               # 跳转到 ~/work/project
z my-pro                # 模糊匹配
zi                      # 交互式选择

tmux(终端复用器)

bash
# 常用快捷键
Ctrl+B %                # 垂直分屏
Ctrl+B "                # 水平分屏
Ctrl+B 方向键           # 切换面板
Ctrl+B c                # 新建窗口
Ctrl+B ,                # 重命名窗口
Ctrl+B [                # 进入滚动模式

一键安装

用 Homebrew 一键安装所有工具:

bash
brew install \
  fd bat lsd \
  ripgrep jq yq \
  btop duf procs \
  lazygit delta \
  httpie dog \
  fzf zoxide tmux

配置示例

bash
# ~/.zshrc
# 使用 fd 替代 find
export FZF_DEFAULT_COMMAND='fd --type f'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

# bat 作为 man 的 pager
export MANPAGER="sh -c 'col -bx | bat -l man -p'"

# ls 别名
alias ls='lsd'
alias tree='lsd --tree'

# grep 别名
alias grep='rg'


不需要一次全装上。遇到一个重复操作,就找个工具替代它。几个月后回头看,你会惊讶于自己的效率提升。

推荐指数:⭐⭐⭐⭐⭐

GitHub:https://github.com/junegunn/fzf

💬 评论区 (0)

暂无评论,快来抢沙发吧!