Skip to content

WSL工具

APT 基础

shell
sudo apt update && sudo apt install -y \
  build-essential curl wget git unzip zip ca-certificates gnupg lsb-release

Homebrew

  • 按提示把 brew 的 shellenv 加到 ~/.bashrc 或 ~/.zshrc
shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

终端 & Shell 体验

zoxide:更聪明的 cd

  • 替代 cd,会记住你常去的目录,z xxx 秒跳转
shell
sudo apt install -y zoxide
echo 'eval "$(zoxide init bash)"' >> ~/.bashrc   # zsh 就改成 zsh
source ~/.bashrc
z <关键>   # 例如 z proj

fzf:模糊搜索选择器

  • 模糊搜索文件/历史命令/进程,配合 git、ripgrep 很爽
shell
sudo apt install -y fzf
# 常用:
ctrl+r   # 模糊搜历史命令

starship:跨 shell 的漂亮且快的提示符

  • Git 分支、语言版本、目录信息,一目了然
shell
brew install starship
echo 'eval "$(starship init bash)"' >> ~/.bashrc
source ~/.bashrc

文件查找 / 搜索 / 浏览

ripgrep (rg):超快全文搜索

  • 替代 grep -R,速度快、忽略规则懂 .gitignore
shell
sudo apt install -y ripgrep
rg "关键字" .
rg "TODO" -n src

fd:更好用的 find

  • 替代 find,语法更直观
shell
sudo apt install -y fd-find
# Ubuntu 下命令叫 fdfind,可加个 alias
echo "alias fd=fdfind" >> ~/.bashrc && source ~/.bashrc
fd package.json

eza:更现代的 ls(带 git 信息)

  • 替代 ls,显示图标/权限/时间/git 状态更友好
shell
brew install eza
eza -lah --git

bat:带语法高亮的 cat

  • 替代 cat,看配置/代码文件非常舒服
shell
sudo apt install -y bat
# Ubuntu 可能叫 batcat
echo "alias bat=batcat" >> ~/.bashrc && source ~/.bashrc
bat ~/.bashrc

yazi:终端文件管理器(高效预览)

  • 类似 ranger,但更现代,预览图片/文本/压缩包很强
shell
brew install yazi ffmpegthumbnailer unar
yazi
shell
sudo snap install yazi --classic
sudo apt install -y ffmpegthumbnailer unar
yazi .

JSON 查看神器 (Rust)

shell
brew install jless
  • 用法: jless data.jsoncurl xxx | jless

Git 相关

delta:更好看的 git diff

  • diff 高亮、行内对比、可读性提升巨大
shell
brew install git-delta
git config --global core.pager delta
git config --global interactive.diffFilter "delta --color-only"
git config --global delta.navigate true

lazygit

  • 在终端里用界面操作 git:stage/commit/rebase/log 一把梭
shell
brew install lazygit
lazygit
  • 在你的任意 Git 项目目录下输入 lazygit 即可启动
    1. 界面布局 界面分为左右两栏,左侧有 5 个面板(按 Tabh/l 左右切换,j/k 上下移动):
      • Status: 项目状态
      • Files: 变动的文件 (暂存区/工作区)
      • Local Branches: 本地分支
      • Commits: 提交记录
      • Stash: 贮藏区
    2. 核心快捷键:
      • 暂存文件 (git add):
        • 在 Files 面板,选中文件按 Space (空格) 切换暂存/取消暂存
        • a 暂存所有文件
      • 提交代码 (git commit):
        • c 弹出提交框,输入消息后回车
      • 推送代码 (git push):
        • 在任意面板按 P (大写,即 Shift+p) 推送
        • p (小写) 拉取 (Pull)
      • 放弃修改:
        • 在 Files 面板选中文件,按 d 放弃该文件的修改(慎用!)
      • 分支操作:
        • 移动到 Local Branches 面板,选中分支按 Space 检出 (Checkout)
        • n 新建分支

如果你写错了 Commit Message,直接去 Commits 面板找到那条记录,按 R (Rename) 直接修改,Lazygit 会自动帮你处理 rebase 的复杂逻辑

Docker

Lazydocker

shell
brew install lazydocker
  • 在命令行输入 lazydocker 启动。它能让你完全摆脱 docker psdocker logs
    1. 界面布局 同样是分栏结构:
      • Services: 如果你在 Docker Compose 目录下,这里显示服务列表。
      • Containers: 所有正在运行或停止的容器。
      • Logs: (右侧大屏) 实时日志。
    2. 核心操作
      • 查看日志:
        • 左侧选中容器,右侧自动显示日志。点击右侧区域(或按 Enter)进入日志视图,可以像看文件一样上下滚动。
      • 重启/停止/删除:
        • 选中容器,按 r 重启 (Restart)。
        • s 停止 (Stop)。
        • d 删除 (Remove)。
      • 进入容器 (exec):
        • 选中容器,按 E (大写),会自动进入该容器的 Shell 环境 (/bin/sh 或 /bin/bash)。
      • 清理垃圾:
        • b 可以批量清理已停止的容器和无用的镜像 (Prune)。
      • 查看资源占用:
        • 面板顶部会实时显示 CPU 和 内存占用率。

JSON/YAML/日志处理

jq:JSON 处理之王

  • 过滤、格式化、抽字段、组装 JSON
shell
sudo apt install -y jq
cat data.json | jq '.items[] | {id, name}'
curl -s https://api.github.com | jq '.current_user_url'

yq:YAML 处理(K8s/CI 配置常用)

  • 像 jq 一样操作 YAML
shell
brew install yq
yq '.services.web.port' docker-compose.yml
  • 看大日志文件、按字段过滤、跳转错误更快
shell
sudo apt install -y lnav
lnav /var/log/syslog

网络/调试

httpie:更顺手的 curl

  • HTTP 调试更人类可读(请求/响应格式化)
shell
sudo apt install -y httpie
http GET https://example.com
http POST http://localhost:3000/api name=foo age:=18

doggo:更好用的 dig(DNS)

  • DNS 查询可读性强,排查解析问题
shell
brew install doggo
doggo example.com

mtr:ping + traceroute 合体

  • 网络抖动/丢包排查
shell
sudo apt install -y mtr
mtr 8.8.8.8

性能/进程/磁盘

btop

  • CPU/RAM/磁盘/网络/进程
shell
sudo apt install -y btop
btop

duf:磁盘占用(替代 df)

  • 磁盘空间展示更清晰
shell
brew install duf
duf

dust:目录占用(替代 du)

  • 看哪个目录最占空间
shell
brew install dust
dust -d 2 .

任务/并发/构建辅助

just 任务脚本

  • 统一 dev/build/test/deploy 命令
shell
brew install just
cat > justfile <<'EOF'
dev:
  pnpm dev
build:
  pnpm build
EOF
just dev

entr:文件变化自动执行命令

  • 监听文件改动后自动跑测试/格式化/重启服务
shell
sudo apt install -y entr
ls *.go | entr -c go test ./...

watchexec:更强的文件监听执行器

  • 跨平台、规则更丰富,替代 entr
shell
brew install watchexec
watchexec -r -e ts,tsx "pnpm test"

跨 Windows/WSL 的桥接工具

wslu:WSL 专属小工具包

  • wslview 用默认 Windows 浏览器打开链接、路径互转等
shell
sudo apt install -y wslu
wslview https://github.com
wslpath -w /home/you/project   # 转 Windows 路径

win32yank:让 WSL 里的复制能进 Windows 剪贴板

  • 配合 neovim/tmux 复制粘贴丝滑
  • 常见做法:装到 /usr/local/bin,并在编辑器里配置调用
shell
brew install win32yank
# 测试:把内容送进 Windows 剪贴板
printf "hello" | win32yank.exe -i

编辑器

Micro 编辑器

shell
brew install micro
  • micro 的操作逻辑非常接近 Windows 记事本:
    • 退出: 按 Ctrl + Q
    • 保存: 按 Ctrl + S
    • 注意: 如果你修改了文件没保存就按 Ctrl + Q,屏幕下方会提示你是否保存:
      • 按 y 保存并退出。
      • 按 n 不保存直接退出。
        • 按 Esc 取消退出。

语言/环境管理

fnm — Node 版本管理

shell
brew install fnm
  • 查看可安装的所有版本 (远程):
    • fnm list-remote
  • 查看已安装的版本 (本地):
    • fnm list
  • 安装特定版本:
shell
fnm install 20      # 安装 Node.js 20 的最新版
fnm install --lts   # 安装最新的长期支持版 (LTS)
fnm install latest  # 安装最新尝鲜版
  • 切换/使用版本:
    • fnm use 20
  • 设置默认版本 (每次打开终端自动用的版本):
    • fnm default 20

nvm — Node 版本管理

shell
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.bashrc
nvm install --lts

Go / gopls / 工具

shell
sudo apt install -y golang
go install golang.org/x/tools/gopls@latest

pipx(装 Python CLI 工具更干净)

shell
sudo apt install -y pipx
pipx ensurepath