简介
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 # 每行一个文件(适合管道处理)