重要提示:这是开发文档, 如果您是从发布版本安装的,请查看标签中的文档。
当前最新发布版本是:v1.1.2

这个项目是对 GNU ls 的重写,增加了许多新功能,如颜色、图标、树状视图、更多格式化选项等。
该项目深受超级 colorls 项目的启发。
安装 powerline nerd-font 和/或 font-awesome 的补丁字体。查看 Nerd Font README 获取更多安装说明。别忘了设置你的终端以使用正确的字体。
| 操作系统/发行版 | 命令 |
|---|---|
| Archlinux | pacman -S lsd |
| Fedora | dnf install lsd |
| Gentoo | sudo emerge sys-apps/lsd |
| macOS | brew install lsd 或 sudo port install lsd |
| NixOS | nix-env -iA nixos.lsd |
| FreeBSD | pkg install lsd |
NetBSD 或任何 pkgsrc 平台 | pkgin install lsd 或 cd /usr/pkgsrc/sysutils/lsd && make install |
| OpenBSD | pkg_add lsd |
| Windows | scoop install lsd 或 winget install --id lsd-rs.lsd 或 choco install lsd |
| Android (通过 Termux) | pkg install lsd |
| Debian sid 和 bookworm | apt install lsd |
| Ubuntu 23.04 (Lunar Lobster) | apt install lsd |
| 早期 Ubuntu/Debian 版本 | snap 已停用,使用从二进制文件安装 |
| Solus | eopkg it lsd |
| Void Linux | sudo xbps-install lsd |
| openSUSE | sudo zypper install lsd |
使用 Rust 的包管理器 cargo,你可以通过以下方式安装 lsd:
cargo install lsd
如果你想安装最新的 master 分支提交:
cargo install --git https://github.com/lsd-rs/lsd.git --branch master
发布页面 包含每个发布版本的 Linux、macOS 和 Windows 预编译二进制文件。你也可以从 GitHub action 构建产物 获取 master 分支的最新二进制文件(选择顶部的 action 并滚动到产物部分)。
lsd 可以通过配置文件设置默认选项。
查看配置文件内容了解详情。
在非 Windows 系统上,lsd 遵循
XDG 基本目录规范
关于配置文件位置的约定。将按以下顺序搜索 config.yaml 或 config.yml 文件:
$HOME/.config/lsd$XDG_CONFIG_HOME/lsd在大多数系统上,这些路径映射到同一位置,即 ~/.config/lsd/config.yaml。
在 Windows 系统上,lsd 按以下顺序搜索 config.yaml 或 config.yml:
%USERPROFILE%\.config\lsd%APPDATA%\lsd这些通常分别是 C:\Users\username\AppData\Roaming\lsd\config.yaml 和 C:\Users\username\.config\lsd\config.yaml。
你也可以从非标准位置提供配置文件:
lsd --config-file [路径]
</details> # == 递归 == recursion: # 是否启用递归。 # 可能的值: false, true enabled: false # 递归深度。必须为正整数。不指定则为(实质上的)无限。 # depth: 3# == 经典模式 == # 这是一个快捷方式,用于覆盖一些选项以向后兼容 `ls`。 # 它影响 "color"->"when"、"sorting"->"dir-grouping"、"date" 和 "icons"->"when" 选项。 # 可能的值:false、true classic: false # == 块 == # 这指定了使用长格式和树状布局时的列及其顺序。 # 可能的值:permission、user、group、context、size、date、name、inode、links、git blocks: - permission - user - group - size - date - name # == 颜色 == # 这有各种颜色选项。(未来将会扩展。) color: # 何时为输出着色。 # 当 "classic" 设置时,此项设为 "never"。 # 可能的值:never、auto、always when: auto # 如何为输出着色。 # 当 "classic" 设置时,此项设为 "no-color"。 # 可能的值:default、custom # 当设为 "custom" 时,lsd 将在配置目录中查找 `colors.yaml`。 theme: default # == 日期 == # 这指定日期列的日期格式。自由格式接受类似 strftime 的字符串。 # 当 "classic" 设置时,此项设为 "date"。 # 可能的值:date、locale、relative、'+<日期格式>' # `日期格式` 将是一个 `strftime` 格式的值。例如 `date: '+%d %b %y %X'` 将给你这样的日期:17 Jun 21 20:14:55 date: date # == 解引用 == # 是否解引用符号链接。 # 可能的值:false、true dereference: false # == 显示 == # 显示哪些项目。不指定此项以使用默认行为。 # 可能的值:all、almost-all、directory-only # display: all # == 图标 == icons: # 何时使用图标。 # 当 "classic" 设置时,此项设为 "never"。 # 可能的值:always、auto、never when: auto # 使用哪种图标主题。 # 可能的值:fancy、unicode theme: fancy # 图标和名称之间的分隔符 # 默认为 1 个空格 separator: " " # == 忽略 Globs == # 列出时要忽略的 glob 列表。 # ignore-globs: # - .git # == 指示符 == # 是否为某些列出的文件添加指示符字符。 # 可能的值:false、true indicators: false # == 布局 == # 使用哪种布局。这里的 "oneline" 可能有点令人困惑,应该称为 "one-per-line"。 # 未来可能会改变。 # 可能的值:grid、tree、oneline layout: grid
size: default
sorting:
column: name
reverse: false
dir-grouping: none
no-symlink: false
total-size: false
hyperlink: never
symlink-arrow: ⇒
header: false
literal: false
truncate-owner:
after:
marker: ""
## 主题
`lsd` 可以通过主题文件配置颜色或图标。
### 颜色主题
颜色主题可以在[配置文件](#configuration)(color.theme)中设置。
有效的主题配置为:
- `default`: `lsd` 默认自带的配色方案
- `custom`: 使用在 `colors.yaml` 中定义的自定义配色方案
- *(已弃用) 主题文件名(yaml): 使用主题文件指定颜色(不包含 `yaml` 扩展名)*
当设置为 `custom` 时,`lsd` 将在 XDG 基本目录中查找 `colors.yaml`,例如 ~/.config/lsd/colors.yaml
当配置为 `主题文件名`(一个 `yaml` 文件)时,`lsd` 将按以下方式查找主题文件:
- 相对名称: 检查 XDG 基本目录,例如 ~/.config/lsd/themes/<主题文件名>.yaml
- 绝对名称: 使用文件路径和名称查找主题文件
查看[颜色主题文件内容](#color-theme-file-content)了解详情。
#### 颜色主题文件内容
主题文件使用 [crossterm](https://crates.io/crates/crossterm) 来配置颜色,请查看 [crossterm](https://docs.rs/crossterm/0.20.0/crossterm/style/enum.Color.html) 了解支持的颜色。
颜色表: https://upload.wikipedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg
请注意,颜色值会忽略大小写,小写和大写都支持。
这是 `lsd` 默认自带的主题方案。
```yaml
user: 230
group: 187
permission:
read: dark_green
write: dark_yellow
exec: dark_red
exec-sticky: 5
no-access: 245
octal: 6
acl: dark_cyan
context: cyan
date:
hour-old: 40
day-old: 42
older: 36
size:
none: 245
small: 229
medium: 216
large: 172
inode:
valid: 13
invalid: 245
links:
valid: 13
invalid: 245
tree-edge: 245
git-status:
default: 245
unmodified: 245
ignored: 245
new-in-index: dark_green
new-in-workdir: dark_green
typechange: dark_yellow
deleted: dark_red
renamed: dark_green
modified: dark_yellow
conflicted: dark_red
创建 lsd 的主题时,你可以指定默认主题的任何部分,然后更改其颜色,未指定的项目将使用默认颜色。
图标主题可以在固定位置配置,$XDG_CONFIG_DIR/lsd/icons.yaml,
例如,在 macOS 上是 ~/.config/lsd/icons.yaml,
请查看配置文件位置以确定 $XDG_CONFIG_DIR 的位置。
如文件名所示,图标主题文件是一个 yaml 文件。
查看图标主题文件内容了解详情。
lsd 支持 3 种图标覆盖方式,按 name、按 filetype 和按 extension。
最终使用的图标集将是 lsd 自带的图标与配置中的覆盖组合而成。
你可以在这里找到默认的图标集。
图标可以使用 nerd font 字形和 Unicode 表情符号。以下是图标自定义的示例。
name: .trash: .cargo: .emacs.d: a.out: extension: go: hs: rs: 🦀 filetype: dir: 📂 file: 📄 pipe: 📩 socket: executable: symlink-dir: symlink-file: device-char: device-block: special:
为你的终端启用 nerd fonts,以 URxvt 为例,在 .Xresources 中:
URxvt*font: xft:Hack Nerd Font:style=Regular:size=11
要在输入 ls 命令时使用 lsd,你需要在 shell 配置文件(~/.bashrc, ~/.zshrc 等)中添加以下内容:
alias ls='lsd'
一些其他有用的别名示例:
alias l='ls -l' alias la='ls -a' alias lla='ls -la' alias lt='ls --tree'
从 Debian 12 和 Ubuntu 21.10 开始支持 Zst 压缩,
请使用从 lsd v1.1.0 开始发布的 _xz.deb。
详情或手动修复请查看 https://github.com/lsd-rs/lsd/issues/891。
目前对于 lsd,它读取一个名为 LS_COLORS 的系统环境变量。请查看这个帖子中标记的解决方案,其中包含如何设置颜色方案的指南。
为了让 lsd 能够显示图标,字体必须包含特殊的字体字形。对于大多数下载的字体来说,可能并非如此。幸运的是,你可以使用 NerdFont 修补大多数字体并添加这些图标。或者你可以直接从 NerdFont 字体下载页面 下载已修补版本的你喜欢的字体。
这里有一个在 macOS 和 Android 上设置字体的指南。
要检查你使用的字体是否正确设置,请尝试在 shell 中运行以下代码片段,看看是否打印出文件夹图标。如果打印出方框、问号或其他内容,那么你在设置字体或终端模拟器渲染字体方面可能存在一些问题。
echo $'\uf115'
首先,确保已安装修补过的字体,并且 PuTTY/KiTTY 已配置使用该字体,请查看先决条件。
PuTTY/KiTTY 在显示 2 个字符宽度的图标时存在问题,请确保使用 1 个字符宽度的字体,如 Hack Regular Nerd Font Complete Mono Windows Compatible,详情请查看此问题。
你可以使用 LS_COLORS 自定义文件类型颜色,并使用主题自定义其他颜色。
默认颜色如下:
| 用户/组 | 权限 | 文件类型(根据终端配色方案变化) | 日期 | 文件大小 |
|---|---|---|---|---|
查看 trapd00r/LS_COLORS 和 sharkdp/vivid 以获取使用 LS_COLORS 进行主题设置的帮助。
Konsole 的解决方法:编辑配置文件(如果不存在则创建它),并粘贴以下内容(包含不可见的 Unicode 字符):
icons: separator: " ㅤ"
这是一些终端模拟器中的已知问题。尝试使用其他终端模拟器,如 Alacritty 和 Kitty,它们是非常好的替代选择。你可能还需要检查是否是你的字体导致了这个问题。 要验证这一点,请尝试禁用图标运行 lsd,如果仍然没有第一个字符,那么这是 lsd 的 bug:
lsd --icon never --ignore-config
lsd 将尝试显示文件名中的 UTF-8 字符,使用 U+FFFD 替换字符(�) 来表示无效的 UTF-8 字符。
Nerd Fonts 在 3.0 版本中移动了 Material Design 图标的代码点,因此 lsd 在 #830 中更新了图标。如果你的图标看起来很奇怪,请使用 Nerd Fonts v2.3.0 或更高版本修补的字体。
另请参阅:https://github.com/ryanoasis/nerd-fonts/releases/tag/v2.3.3
每个人都可以为这个项目做出贡献,改进代码或添加功能。如果有人想要添加什么,我们会尽力去做。
由于这个项目正在定期更新,在创建拉取请求之前,请不要忘记重新基于最新的主分支。
特别感谢:


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办 公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号