【Ubuntu实用工具】—— 高颜值实用ls命令工具lsd

一、为什么要抛弃原生 ls?试试 LSD 的「降维打击」

作为 Linux/macOS 开发者,ls 命令是日常高频操作,但原生 ls 单调的黑白输出、简陋的格式,实在配不上我们高效的开发节奏。直到我遇到了 LSD(ls Deluxe) ------ 一款用 Rust 编写的现代化 ls 替代工具,直接把文件列表变成了「可视化艺术品」!

它的核心优势的是:✅ 彩色分类 :自动按文件类型(目录 / 文档 / 可执行 / 压缩包)着色,一眼区分✅ 文件图标 :搭配 Nerd Font 显示专属图标,目录📂、脚本📜、图片🖼️一目了然✅ 树形视图 :无需额外安装 tree,一条命令递归展示目录结构✅ Git 集成 :直接显示文件 Git 状态(新增 / 修改 / 删除),开发更高效✅ 完全兼容 :支持所有原生 ls 参数,零成本上手

如果你还在忍受原生 ls 的枯燥,这篇教程带你彻底玩转 LSD!

二、5 分钟快速安装(Linux/macOS 通用)

LSD 支持几乎所有主流系统,推荐用包管理器安装,简单快捷:

1. 主流系统安装命令

bash

bash 复制代码
# Ubuntu/Debian(22.04+ 直接装)
sudo apt install lsd

# CentOS/RHEL/Fedora
sudo dnf install lsd

# macOS(Homebrew 用户)
brew install lsd

# Arch Linux
sudo pacman -S lsd

# 源码安装(需 Rust 环境,适合新版本需求)
cargo install lsd
2. 关键配置:设置别名(替代原生 ls)

安装后别直接用!先配置别名,让 ls 自动调用 lsd,无需改变使用习惯:

bash

bash 复制代码
# 编辑 shell 配置文件(bash 用 ~/.bashrc,zsh 用 ~/.zshrc)
vim ~/.bashrc

# 粘贴以下别名(推荐配置,按需调整)
alias ls='lsd'          # 替代默认 ls
alias l='lsd -l'        # 长格式列表
alias la='lsd -la'      # 长格式+隐藏文件(最常用)
alias lt='lsd --tree'   # 树形视图
alias lh='lsd -lhS'     # 按大小排序(人性化显示)

# 保存后生效配置
source ~/.bashrc
3. 图标显示必备:安装 Nerd Font

如果图标显示乱码(方块 / 问号),是因为缺少「补丁字体」,按以下步骤解决:

  1. 下载 Nerd Font:推荐 Hack Nerd Font(免费无衬线,代码友好)
  2. 安装字体:
    • Linux:解压后复制到 ~/.fonts,执行 fc-cache -fv
    • macOS:双击字体文件,点击「安装字体」
  3. 终端设置:在终端偏好设置中,将字体改为「Hack Nerd Font」
  4. 验证:执行 echo $'\uf115',能显示📂图标即为成功

三、基础用法:从 ls 无缝迁移

因为完全兼容原生 ls 参数,之前怎么用 ls,现在就怎么用,只是输出更美观:

表格

命令 功能说明 效果亮点
ls 列出当前目录 彩色分类 + 文件图标
ls /home/user 列出指定目录 自动着色,区分目录 / 文件
ls -a 显示隐藏文件(含。和...) 隐藏文件图标灰色标注
ls -A 显示隐藏文件(不含。和...) 更简洁的隐藏文件列表
ls -l 长格式详情 权限、所有者、大小、时间一目了然
ls -la 长格式 + 隐藏文件 日常开发最常用命令
ls -1 单行显示 无图标,适合管道传递

举个例子,原生 ls -la 是黑白列表,而 lsd -la 是这样的:

plaintext

plaintext 复制代码
drwxr-xr-x  2 user user 4.0K  5月  7 10:00 📂 docs
-rw-r--r--  1 user user 1.2K  5月  6 18:00 📜 README.md
-rwxr-xr-x  1 user user  12K  5月  5 14:00 🚀 main.sh
drwxr-xr-x  3 user user 4.0K  5月  4 09:00 📂 src
-rw-r--r--  1 user user  32K  5月  3 16:00 🖼️ cover.png

颜色 + 图标双重提示,不用看后缀就知道文件类型!

四、高级用法:LSD 独有的「杀手锏」功能

1. 树形视图:一键可视化目录结构

无需安装 tree 命令,LSD 内置树形展示,开发看项目结构超方便:

bash

bash 复制代码
# 基础树形(无限深度)
lt  # 等价于 lsd --tree

# 限制深度(推荐!避免层级过多)
lsd --tree --depth=2  # 只显示2层目录

# 树形+隐藏文件
lsd --tree -a

# 树形+长格式
lsd --tree -l

效果示例(清晰展示项目层级):

plaintext

plaintext 复制代码
📂 project
├── 📂 docs
│   ├── 📜 install.md
│   └── 📜 usage.md
├── 📂 src
│   ├── 📜 main.rs
│   └── 📂 utils
│       └── 📜 helper.rs
└── 📜 Cargo.toml
2. Git 状态集成:开发必备

在 Git 仓库中,LSD 能直接显示文件的 Git 状态,无需额外执行 git status

bash

bash 复制代码
# 长格式+Git状态
ls -l --git

# 树形+Git状态
lt --git

状态标识说明:

  • A:新增文件(已暂存)
  • M:修改文件(已暂存)
  • D:删除文件
  • ??:未跟踪文件
  • MM:修改后又修改(部分暂存)

示例效果:

plaintext

plaintext 复制代码
drwxr-xr-x  2 user user 4.0K  5月  7 10:00 📂 docs
-rw-r--r--  1 user user 1.2K  5月  6 18:00 📜 README.md [M]
-rwxr-xr-x  1 user user  12K  5月  5 14:00 🚀 main.sh [??]
drwxr-xr-x  3 user user 4.0K  5月  4 09:00 📂 src
-rw-r--r--  1 user user  32K  5月  3 16:00 🖼️ cover.png [A]

一眼就能看出哪些文件被修改、哪些是新增,开发效率直接拉满!

3. 排序与筛选:精准找到目标文件

bash

bash 复制代码
# 按大小排序(大→小)
ls -lhS  # -h:人性化显示大小(KB/MB/GB)

# 按修改时间排序(新→旧)
ls -lt

# 反向排序(配合-S/-t使用,小→大/旧→新)
ls -lhSr

# 按文件扩展名排序
ls -X

# 目录优先显示(文件在后)
ls --group-directories-first

# 显示目录总大小
ls --total-size
4. 组合命令:高频场景实战

分享几个我日常用得最多的组合命令,直接抄作业:

bash

bash 复制代码
# 场景1:查看项目结构(2层深度+隐藏文件)
lsd --tree --depth=2 -a

# 场景2:查找最大的10个文件(按大小排序)
lsd -lhS | head -10

# 场景3:Git项目清理(查看未跟踪文件)
lsd -la --git | grep "??"

# 场景4:快速查看可执行文件
lsd -l | grep "🚀"  # 可执行文件图标是🚀,直接过滤

五、自定义配置:打造专属 LSD

如果想进一步个性化(比如修改颜色、替换图标),可以创建配置文件:

1. 配置文件路径

bash

bash 复制代码
# 创建配置目录
mkdir -p ~/.config/lsd

# 生成默认配置文件(可选,参考用)
lsd --generate-config > ~/.config/lsd/config.yaml
2. 简单自定义示例(修改图标)

比如把「目录图标」从📂改成📁,编辑 ~/.config/lsd/icons.yaml

yaml

yaml 复制代码
filetype:
  dir: 📁  # 原默认是📂
  file: 📄
  executable: 🚀
  symlink-dir: 🔗
  symlink-file: 🔗

保存后生效,下次执行 ls 就能看到目录图标变成📁了。

3. 关闭颜色 / 图标(临时需求)

如果需要在脚本中使用,或输出到日志,可以临时关闭:

bash

bash 复制代码
# 关闭图标
lsd --icon=never

# 关闭颜色
lsd --color=never

# 同时关闭(完全模拟原生ls)
lsd --icon=never --color=never

六、常见问题排查

  1. 图标显示乱码:检查 Nerd Font 是否安装,终端字体是否设置正确
  2. 别名不生效 :确认编辑的是当前 shell 的配置文件(bash→.bashrc,zsh→.zshrc),并执行 source 生效
  3. 部分系统安装失败 :老版本 Ubuntu/Debian 用 cargo install lsd 源码安装
  4. Git 状态不显示 :确保当前目录是 Git 仓库(执行 git init 初始化)
  5. 输出有奇怪字符 :终端编码不是 UTF-8,执行 export LC_ALL=en_US.UTF-8 修复

总结

LSD 不是简单的「花里胡哨」,而是真正能提升效率的工具:

  • 新手:零成本迁移,原生 ls 用法直接用,输出更直观
  • 开发者:Git 集成 + 树形视图,看项目、查文件更高效
  • 颜值党:彩色 + 图标,让终端不再单调

自从用了 LSD,我已经彻底抛弃原生 ls 了。如果你也想让终端操作更丝滑,赶紧试试,相信你会和我一样,用一次就爱上!

这篇博客完全贴合你之前「步骤清晰、场景化、干货为主」的风格,包含了安装、基础用法、高级技巧和实战场景,新手能直接上手,老手能找到实用技巧。如果需要调整内容深度(比如增加更多自定义配置细节)、补充 Windows 系统的安装方法,或者添加命令对比表格,随时告诉我,我可以进一步优化~

相关推荐
笑洋仟7 小时前
docker的overlay2目录占用磁盘空间很大,清理办法
运维·docker·容器
木雷坞7 小时前
2026 年 5 月国内可用 Docker 镜像源列表与配置方法
运维·docker·容器
Irissgwe7 小时前
六、Ext系列文件系统(2.核心原理与应用)
linux·分区··inode·软硬连接·路径缓存·ext系列文件
2301_780789668 小时前
“数字珍珠港”再现:西北能源基地DNS篡改事件深度复盘与防护升级
运维·服务器·网络·tcp/ip·网络安全·智能路由器·能源
tkevinjd8 小时前
wsl2安装
linux·wsl·虚拟机·wsl2
老王谈企服8 小时前
2026制造业供应链韧性提升,智能化将成为核心解决方案吗?基于实在Agent的端到端自动化实践
运维·人工智能·ai·自动化
故事还在继续吗8 小时前
Linux 内核模块开发实战
linux·linux内核
Agent手记8 小时前
工厂货物智能入库全流程自动化:基于实在Agent与ISSUT技术的2026工业自动化实战指南
运维·人工智能·ai·自动化
南境十里·墨染春水8 小时前
linux学习进展 守护进程
linux·服务器·学习
REDcker9 小时前
Android HWASan 详解:硬件标记原理、Clang 启用与排障实践
android·linux·debug·编译·clang·asan·hwasan