lsix:当终端变成图形化文件管理器
想象一下:您正在通过 SSH 连接远程服务器,需要在数百个文件中快速找到特定的图片。普通的 ls 只能显示文件名,而将每个文件下载到本地又太耗时。这时 lsix 就派上用场了——一款直接在终端中显示图片缩略图的工具!
什么是 lsix?
lsix 是一个 bash 脚本,作为 ls 命令的图片版本。它使用 Sixel 技术显示缩略图,而不是简单的文件列表——这是一种由 DEC 在 80 年代开发的终端图形标准。

为什么它很方便?
- 支持 SSH 连接 — 非常适合管理远程服务器上的图片
- 支持多种格式 — JPEG、PNG、GIF、SVG、PDF,甚至 XCF(GIMP 格式)
- 自动适配终端颜色和大小
- 无需 GUI — 只需支持 Sixel 的终端即可
它是如何工作的?
从底层来看,lsix 使用以下工具:
- ImageMagick 进行图像处理
- Sixel 十六进制图形用于终端显示
- 转义序列用于检测终端功能
安装很简单:
# Для Linux (Debian/Ubuntu)
sudo apt-get install imagemagick
wget https://raw.githubusercontent.com/hackerb9/lsix/master/lsix
chmod +x lsix
sudo mv lsix /usr/local/bin/
# Для macOS
brew install lsix
实际应用中的关键功能
1. 查看当前目录中的缩略图
只需输入:
lsix
然后您会看到类似这样的结果:

2. 处理动态 GIF 图片
lsix 会自动将 GIF 分解为帧:
lsix animation.gif
效果:

3. 自动适配终端颜色
该工具会自动检测终端配色方案:

支持的终端
需要支持 Sixel 的终端:
✔️ 支持的终端:
- XTerm(需启用
-ti vt340选项) - WezTerm
- iTerm2(macOS)
- MLterm
- Foot
❌ 不支持的终端:
- macOS 标准终端
- GNOME Terminal
- Alacritty(未打补丁版本)
lsix 何时特别有用?
- 服务器管理 — 无需 GUI 即可快速找到所需的图片
- 处理大型图片库 — 即时预览
- 终端演示 — 直接在控制台显示截图
- 教学用途 — 可视化展示 CLI 中的图形处理
局限性
- 需要支持 Sixel 的终端
- 某些格式(PDF)可能较慢
- XTerm 将图片大小限制为 1000x1000 像素
lsix 是一款最初看起来像玩具,但随后在日常工作中变得不可或缺的工具。如果您经常通过终端处理图片,不妨试试看——它可能会像我一样改变您的工作流程。
该项目正在积极开发中,在 GitHub 上拥有超过 4,000 颗星,并欢迎改进建议。您是否已经尝试过在终端中处理图形了?
相关项目