# 查看本机上安装的软件
brew list终端工具
starship
跨 Shell 的极速命令行提示符,用 Rust 编写,支持 bash/zsh/fish 等主流 Shell。可在提示符中实时展示 Git 分支状态、当前语言版本(Node、Python、Go 等)、命令执行耗时等信息,高度可配置。
brew install starship
# 在 ~/.zshrc 末尾添加初始化语句
echo 'eval "$(starship init zsh)"' >> ~/.zshrc配置文件位于 ~/.config/starship.toml,可自定义每个模块的显示内容与样式。
zellij
终端多路复用器,功能上对标 tmux,但内置布局系统、插件机制,且上手门槛更低。支持分屏(水平/垂直)、多会话管理、持久化会话(断开连接后进程仍在后台运行)。
brew install zellij
# 启动
zellij
# 常用快捷键
# Ctrl + p → 进入 Pane 模式(新建/关闭分屏)
# Ctrl + t → 进入 Tab 模式(新建/切换标签页)
# Ctrl + n → 进入 Resize 模式(调整分屏大小)yazi
基于终端的文件管理器,用 Rust 编写,支持图片预览(Kitty/iTerm2 协议)、文件操作、异步 IO,速度极快。可与 fzf、fd、bat 等工具深度集成。
brew install yazi
# 启动,进入当前目录
yazi
# 常用快捷键
# h/j/k/l → 左/下/上/右导航
# Enter → 进入目录 / 打开文件
# y → 复制,p → 粘贴,d → 剪切,D → 删除
# q → 退出eza
ls 命令的现代替代品,用 Rust 编写。支持颜色输出、文件图标、Git 状态标注、树形视图,可读性远优于原生 ls。
brew install eza
# 常用命令
eza # 基础列表
eza -l # 长格式(详细信息)
eza -la # 包含隐藏文件
eza --tree # 树形展示目录结构
eza --git # 显示 Git 状态
eza -l --sort=modified # 按修改时间排序可在 ~/.zshrc 中设置别名替换 ls:
alias ls="eza"
alias ll="eza -l"
alias la="eza -la"bat
cat 命令的现代替代品,用 Rust 编写。支持语法高亮(100+ 种语言)、显示行号、Git 差异标注,并自动分页。
brew install bat
# 常用命令
bat file.ts # 带高亮查看文件
bat -n file.ts # 显示行号
bat --plain file.ts # 纯净输出(无装饰)
bat -A file.ts # 显示不可见字符
# 配置语言
bat --language=json file # 强制指定语言高亮可将 bat 作为 man 的分页器使用:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"fd
find 命令的现代替代品,用 Rust 编写。默认忽略 .gitignore 中的文件、隐藏文件,语法更直观,速度更快。
brew install fd
# 常用命令
fd # 列出当前目录所有文件
fd pattern # 按名称模糊匹配
fd -e ts # 按扩展名过滤(.ts 文件)
fd -t d pattern # 只查找目录
fd -H pattern # 包含隐藏文件
fd pattern src/ # 在指定目录内搜索fzf
命令行模糊查找工具,用 Go 编写。可对任意文本列表进行交互式过滤,常与 Shell 历史、文件搜索、Git 等命令深度集成。
brew install fzf
# 安装 Shell 集成(历史搜索、路径补全等)
$(brew --prefix)/opt/fzf/install常用场景:
# 交互式模糊搜索文件并打开
vim $(fzf)
# Ctrl + r → 交互式搜索命令历史
# Ctrl + t → 交互式选择文件路径插入命令行
# Alt + c → 交互式进入子目录
# 结合 fd 使用(忽略 node_modules 等)
export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude .git'tree
以树形结构展示目录层级,便于快速了解项目结构。
brew install tree
# 常用命令
tree # 展示当前目录
tree -L 2 # 限制显示深度为 2 层
tree -a # 包含隐藏文件
tree -I "node_modules|dist" # 排除指定目录
tree -d # 只显示目录chezmoi
dotfiles 管理工具,用 Go 编写。将 ~/.zshrc、~/.gitconfig 等配置文件统一纳入版本控制,并支持跨机器同步,同一份配置可以一键部署到新机器上。支持模板语法,可针对不同机器生成差异化配置。
brew install chezmoi
# 初始化(关联 GitHub 上的 dotfiles 仓库)
chezmoi init https://github.com/<username>/dotfiles
# 在新机器上一键应用所有配置
chezmoi apply
# 将已有配置文件纳入 chezmoi 管理
chezmoi add ~/.zshrc
chezmoi add ~/.gitconfig
# 编辑被管理的配置文件
chezmoi edit ~/.zshrc
# 预览本次变更(不实际应用)
chezmoi diff
# 应用变更
chezmoi apply
# 推送到远程仓库
chezmoi cd && git add . && git commit -m "update" && git pushchezmoi 管理的源文件存放在 ~/.local/share/chezmoi/,本质是一个 Git 仓库。
开发工具
git-delta
Git diff 的语法高亮增强工具,用 Rust 编写。输出更清晰的代码差异视图,支持并排对比、行号显示、语法高亮。
brew install git-delta在 ~/.gitconfig 中启用:
[core]
pager = delta
[delta]
navigate = true # 用 n/N 在文件间跳转
side-by-side = true # 并排对比模式
line-numbers = true
[interactive]
diffFilter = delta --color-onlylazygit
Git 的终端 UI 客户端,用 Go 编写。将 git status、git log、暂存区管理、分支操作等功能整合在一个交互式界面中,极大提升 Git 操作效率。
brew install lazygit
# 在 Git 仓库目录下启动
lazygit
# 或简写
lg界面分为五个面板:Files(文件)、Branches(分支)、Commits(提交历史)、Stash(暂存)、主视图(diff)。常用快捷键:
space → 暂存/取消暂存文件
c → 提交
p → 推送
P → 拉取
b → 切换/新建分支
? → 查看帮助nvm
Node.js 版本管理工具,可在同一机器上安装并自由切换多个 Node.js 版本,适合需要兼容多项目不同 Node 版本的场景。
brew install nvm
# 在 ~/.zshrc 中添加初始化
export NVM_DIR="$HOME/.nvm"
[ -s "$(brew --prefix)/opt/nvm/nvm.sh" ] && source "$(brew --prefix)/opt/nvm/nvm.sh"常用命令:
nvm install 20 # 安装 Node.js 20
nvm install --lts # 安装最新 LTS 版本
nvm use 18 # 切换到 Node.js 18
nvm alias default 20 # 设置默认版本
nvm ls # 列出已安装版本
nvm ls-remote # 列出可安装的远程版本pyenv
Python 版本管理工具,可在同一机器上安装并切换多个 Python 版本,支持项目级别的版本锁定(.python-version 文件)。
brew install pyenv
# 在 ~/.zshrc 中添加初始化
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"常用命令:
pyenv install 3.12.0 # 安装指定版本
pyenv global 3.12.0 # 设置全局默认版本
pyenv local 3.10.0 # 为当前目录设置版本(生成 .python-version)
pyenv versions # 列出已安装版本
pyenv which python # 查看当前使用的 python 路径yarn
Node.js 包管理器,是 npm 的替代品。提供更快的依赖安装速度、确定性的依赖锁定(yarn.lock),以及 Workspaces 多包管理能力。
brew install yarn
# 常用命令
yarn install # 安装依赖
yarn add <package> # 添加依赖
yarn add -D <package> # 添加开发依赖
yarn remove <package> # 移除依赖
yarn run <script> # 执行 package.json 中的脚本
yarn upgrade # 升级依赖autoconf
自动化配置脚本生成工具,是 GNU 构建系统的核心组件。通过读取 configure.ac 文件生成 configure 脚本,使源码包可在不同平台上自动检测编译环境。通常作为编译安装 C/C++ 项目时的依赖。
brew install autoconfm4
通用宏处理器,是 autoconf 的底层依赖。负责文本替换和宏展开,在构建系统中被自动调用,一般不需要直接使用。
brew install m4pkgconf
pkg-config 的现代替代实现,用于在编译时查询已安装库的头文件路径、链接参数等信息,使构建系统能正确找到依赖库。
brew install pkgconf
# 查询某个库的编译参数
pkgconf --cflags --libs openssl数据库
MySQL
最流行的开源关系型数据库,适合 Web 应用、后端服务等场景。支持 SQL 标准,提供事务、索引、存储过程等完整特性。
brew install mysql
# 启动服务
brew services start mysql
# 连接数据库
mysql -u root -p
# 常用操作
mysql> SHOW DATABASES;
mysql> CREATE DATABASE mydb;
mysql> USE mydb;
mysql> SHOW TABLES;Redis
基于内存的键值存储数据库,支持字符串、哈希、列表、集合、有序集合等数据结构。常用于缓存、会话存储、消息队列、排行榜等场景,读写性能极高。
brew install redis
# 启动服务
brew services start redis
# 连接客户端
redis-cli
# 常用命令
redis-cli> SET key "value"
redis-cli> GET key
redis-cli> EXPIRE key 3600 # 设置 TTL(秒)
redis-cli> KEYS * # 列出所有 key(生产环境慎用)
redis-cli> FLUSHDB # 清空当前数据库压缩 / 数据处理
zstd
Facebook 开源的高性能无损压缩算法(Zstandard),在压缩率和速度之间取得优秀平衡,是 Docker 镜像、Linux 内核等项目的首选压缩格式。
brew install zstd
zstd file.txt # 压缩为 file.txt.zst
zstd -d file.txt.zst # 解压
zstd -19 file.txt # 最高压缩级别(1-22)lz4
极速无损压缩算法库,以牺牲部分压缩率换取最快的压缩/解压速度,常用于对延迟敏感的实时场景(日志压缩、网络传输等)。
brew install lz4
lz4 file.txt # 压缩
lz4 -d file.txt.lz4 # 解压xz
高压缩比压缩工具,使用 LZMA2 算法,压缩率通常优于 gzip/bzip2,但速度较慢。常见于 Linux 发行版源码包(.tar.xz)的分发。
brew install xz
xz file.txt # 压缩(原文件被替换)
xz -d file.txt.xz # 解压
xz -k file.txt # 压缩并保留原文件
tar -xJf archive.tar.xz # 解压 tar.xz 包zlib
通用数据压缩库,实现了 DEFLATE 压缩算法,是 gzip、PNG、HTTP 压缩传输的底层基础。几乎所有需要压缩功能的软件都依赖它。
brew install zlib基础依赖库
以下为底层依赖库,通常由其他软件自动引入,不需要直接调用。
libgit2
Git 协议的 C 语言库实现,为上层工具提供 Git 仓库读写能力。lazygit、各语言的 Git 绑定库(如 Node 的 nodegit、Ruby 的 rugged)均依赖它。
libssh2
SSH2 协议的 C 语言客户端库,为 Git(SSH 传输)、curl 等工具提供 SSH 连接能力,是 libgit2 的依赖之一。
openssl@3
加密通信基础库,提供 SSL/TLS 协议、对称/非对称加密、证书管理等能力。几乎所有涉及网络安全的工具都依赖它。
ca-certificates
系统受信任的 CA 根证书集合,供 curl、openssl 等工具在建立 HTTPS 连接时验证服务器证书的合法性。
mole
SSH 隧道管理工具,简化多跳 SSH 端口转发的配置,可将远程服务(如数据库)安全地映射到本地端口。
brew install mole
# 将远程 MySQL(3306)映射到本地 3307
mole start --remote 3306 --local 3307 user@ssh-hostreadline
为命令行程序提供行编辑、历史记录、Tab 补全功能的库。Python REPL、MySQL CLI 等交互式命令行工具均依赖它。
oniguruma
多语言正则表达式库(支持多种正则语法标准),被 Ruby、PHP、jq 等语言/工具采用。
abseil
Google 开源的 C++ 基础库集合(Abseil),提供字符串处理、时间、哈希、同步原语等通用组件,是 gRPC、Protobuf 等 Google 系项目的核心依赖。
protobuf@29
Google 的 Protocol Buffers 序列化框架,通过 .proto 文件定义数据结构,自动生成多语言代码,常用于微服务间的高效通信(gRPC)。
icu4c@77
Unicode 与国际化支持库(ICU),提供字符编码转换、字符串排序、日期/数字格式化等多语言处理能力,是 Node.js、MySQL 等软件的依赖。