为什么使用现代化替代

经典的Unix命令行工具功能强大,但界面和交互方式相对原始。近年来涌现出一批现代化替代品,它们在保持兼容性的同时,提供了更友好的界面和更丰富的功能。

bat:cat的现代化替代

bat是带有语法高亮和行号的cat增强版。

核心特性

  • 自动语法高亮(支持数百种语言)
  • 行号显示
  • Git变更标记
  • 非打印字符显示
  • 支持分页器
# 基本使用
bat file.py

# 显示非打印字符
bat -A file.txt

# 与管道结合使用
bat file.json | jq .

配置建议

# 别名设置
alias cat='bat'

# 设置主题
export BAT_THEME='Dracula'

htop:top的现代替代

htop提供更直观的进程管理和系统监控界面。

核心功能

  • 彩色显示,直观易读
  • 可滚动进程列表
  • 树形视图查看进程关系
  • 鼠标支持
  • 快捷键操作(F键菜单)

替代品: btop(更美观,支持GPU和磁盘监控)

duf:df的现代替代

duf以表格形式展示磁盘使用情况,比df的输出更加直观。

# 基本使用
duf

# 只显示本地文件系统
duf --only local

# 按使用率排序
duf --sort usage

输出包含:文件系统、类型、大小、已用、可用、使用率和挂载点,一目了然。

ncdu:du的现代替代

ncdu提供交互式的磁盘空间分析界面。

# 扫描当前目录
ncdu

# 扫描并导出结果
ncdu -o scan.json /home
ncdu -f scan.json  # 导入查看

使用方向键导航,可以快速找出占用空间最大的目录和文件。

更多现代化工具

fd:find的替代

# 查找文件
fd "pattern"       # 比 find . -name "pattern" 快得多

# 正则搜索
fd '\.py$'

# 排除特定目录
fd "config" --exclude node_modules

sd:sed的替代

# 更直观的替换语法
sd "old_text" "new_text" file.txt
sd "foo" "bar" **/*.rs  # 递归替换

delta:diff的替代

提供语法高亮和行号的diff输出,与Git深度集成。

# Git配置
[core]
    pager = delta
[delta]
    navigate = true

procs:ps的替代

# 更可读的进程信息
procs
procs --tree   # 树形视图
procs docker   # 按关键词过滤

安装方式

# macOS
brew install bat htop duf ncdu fd sd delta procs

# Linux
# 各自项目的Release页面下载

这些现代化工具可以让终端工作变得更加高效和愉悦,值得逐步替换到日常工具箱中。