$ terminals _

lsd

带图标和颜色的 ls 替代品

GitHub brew install lsd

简介

lsd(LSDeluxe)是一款使用 Rust 编写的 ls 命令替代品,它为文件列表添加了丰富的颜色、文件类型图标和更美观的格式化输出。通过 Nerd Font 字体图标,lsd 能够直观地展示不同文件类型,让目录浏览变得赏心悦目。

lsd 保持了与 ls 基本一致的命令行参数,降低了迁移成本。它还提供了树形视图、Git 状态显示、自定义颜色主题等增强功能,同时保持了优秀的执行性能。对于已经使用 Nerd Font 的终端用户,lsd 是最容易上手的文件列表美化方案。

安装

# macOS
brew install lsd

# Ubuntu/Debian
sudo apt install lsd

# Cargo
cargo install lsd

使用前请确保终端安装了 Nerd Font 字体以正确显示图标。

核心特性

  • 文件图标: 根据文件类型和扩展名显示对应的 Nerd Font 图标
  • 颜色高亮: 不同文件类型使用不同颜色,视觉区分明确
  • 树形视图: 内置树形目录展示功能
  • Git 集成: 显示文件的 Git 修改状态
  • 兼容 ls: 支持大部分 ls 命令的参数和用法
  • 自定义主题: 通过配置文件自定义颜色和图标映射

使用示例

# 基本用法(带图标和颜色)
lsd

# 长格式列表
lsd -l

# 显示隐藏文件
lsd -la

# 树形视图
lsd --tree

# 限制树形展开层级
lsd --tree --depth 2

# 按大小排序
lsd -lS

# 按修改时间排序
lsd -lt

# 仅显示目录
lsd -d */

# 递归显示所有文件
lsd -R

推荐在 Shell 配置文件中设置别名:

# ~/.zshrc
alias ls="lsd"
alias ll="lsd -l"
alias la="lsd -la"
alias lt="lsd --tree"

典型场景

场景一:一眼看清文件类型分布

进入陌生目录时,Nerd Font 图标帮助快速识别文件类型:

# 长格式 + 图标,类型一目了然
lsd -l

# 只看目录,了解项目结构
lsd -d */ --icon always

# 按文件大小排序,找大文件
lsd -lS

场景二:树形浏览项目目录

# 查看项目结构(两层深度)
lsd --tree --depth 2

# 包含隐藏文件(如 .github、.env)
lsd --tree --depth 2 -a

# 只展示目录骨架(忽略文件)
lsd --tree --depth 3 -d

场景三:作为 ls 的透明替换

lsd 参数与 ls 高度兼容,设置别名后无感迁移:

# 与 ls 完全一致的用法
lsd -la          # 等价于 ls -la,但有图标和颜色
lsd -lh          # 人类可读大小
lsd -lt          # 按修改时间排序
lsd -1           # 每行一个文件(适合管道处理)