告别上古命令行 ls 和 tree !这款 Rust 开源小工具,才是程序员该有的效率神器

Posted by Mike on 2025-06-25

你是不是也有过这种抓狂时刻?打开终端想瞅瞅项目文件夹里都有啥,结果 ls 刷屏刷到眼晕。或者你是个爱折腾的程序员,渴望一个既轻快又好玩的工具来管理文件树?

今天,我要给你种草一个超级神器 —— lstr!它是用 Rust 写的目录树查看工具,灵感来自经典的 tree 命令,但功能更强,颜值更高,互动还贼有趣!快跟我一起解锁它的魔法吧!

lstr 是啥?你的文件树 “私人导游”!

lstr 就像一个超级会整理的导游,带你秒速游览文件夹的每个犄角旮旯。它能像 tree 一样,把目录结构展示得清清楚楚,还能让你像玩游戏一样,用键盘“逛”文件树!它小巧、快如闪电,还能无缝适配你的终端主题,简直是程序员的“心动信号”。

最大亮点?双模式随意切换! 经典模式适合快速扫一眼目录,互动模式(TUI)让你像玩 RPG 游戏,上下左右键随便浪,选中文件还能直接跳到编辑器!听起来是不是已经心动了?

Github 项目地址: https://github.com/bgreenwell/lstr

安装 lstr:比泡咖啡还快!

别紧张,装 lstr 简单到飞起。macOS 用户,直接用 Homebrew 两秒搞定:

1
2
$ brew tap bgreenwell/lstr
$ brew install lstr

其他系统的小伙伴,或者想自己动手玩源码的,装个 Rust 工具链,然后:

1
2
3
$ git clone https://github.com/bgreenwell/lstr.git
$ cd lstr
$ cargo install --path .

两步走,lstr 就乖乖待在你的终端,等你使唤!Rust 加持,跨平台无压力,Linux、macOS、Windows 都稳稳的。

核心功能:花样多,但一点不复杂!

lstr 的功能多得像个宝藏箱,但用起来简单到像玩手机。来,我给你盘点它的 “杀手锏”!

  1. 经典模式:目录结构一秒看透

跑个 lstr,目录树立马摆在你面前,文件、文件夹分得明明白白。想看隐藏文件?加 -a。只看文件夹?用 -d。怕大项目刷爆屏?用 -L 3 限制深度,稳!

  1. 互动模式:像黑客一样逛文件

输入 lstr interactive,你就像进了 “文件探险” 游戏。上下键在树里跳跃,回车展开文件夹或用默认编辑器打开文件。想退出?按 qEsc。最爽的是,按 Ctrl+s 还能把选中的路径吐到终端,超方便!

  1. 颜值爆表:炫酷视觉效果

lstr 自动适配终端主题,文件夹蓝得像海,脚本绿得像林!支持 LS_COLORS 变量,颜色随便调。加 --icons,还能显示文件图标(需要 Nerd Font),颜值直接起飞!

  1. Git 集成:程序员的贴心小棉袄

-G,lstr 直接秀 Git 状态!改过的文件标 “Modified”,新文件标 “New”,一清二楚。加 -g,自动过滤 .gitignore 里的文件,效率满分!

  1. 细节控福音:想看啥加啥

文件大小?-s。权限?-p。这些选项随便混搭,信息想多全就多全。lstr 就像你的私人助理,啥都能安排得妥妥的。

lstr 的超爽用法:场景+案例让你爱上它!

lstr 不仅功能强,用起来还特别带感!下面我给你画几个场景,再甩几个实用案例,保你想马上试!

场景 1:新项目快速上手

接手一个乱糟糟的项目?跑 lstr -g --iconsgitignore 自动过滤,图标清爽,项目结构秒懂!

场景 2:黑客式文件探险

lstr interactive -G -s,互动模式启动!上下键逛文件树,Git 状态、文件大小一览无余。找到目标文件,按回车直开编辑器,效率爆棚!

场景 3:大项目不刷屏

项目文件多到炸?用 lstr -L 3 | less -R,限制深度后分页看,屏幕清爽。或者 lstr -a -g | fzf,模糊搜索秒找文件!

场景 4:目录切换超丝滑

cd 敲得烦?用互动模式加 lcd 函数(下面会教你咋设),选好目录按 Ctrl+s,终端直接跳过去,爽到飞!

  • 案例 1:基础目录查看
1
$ lstr

当前目录的树状结构立马出来,简单粗暴!

  • 案例 2:互动模式忽略 Git 文件
1
$ lstr interactive -g --icons

打开 TUI,gitignore 文件自动过滤,图标加持,逛项目像玩游戏!

  • 案例 3:带权限和大小的经典视图
1
$ lstr -sp

文件大小、权限一并显示,细节控的最爱!

  • 案例 4:查 Git 状态
1
$ lstr -aG

所有文件(包括隐藏)的 Git 状态一目了然,改了啥、新加了啥,秒知道!

  • 案例 5:全能互动模式
1
$ lstr interactive -gG --icons -s -p

Git 状态、图标、大小、权限全开,信息量拉满,探项目如探囊取物!

管道与 Shell 联动:lstr 的 “社交” 技能

lstr 不仅自己能干,还能跟其他命令行工具组 CP,玩出花!经典模式特别适合管道(|),互动模式也能跟 Shell 丝滑互动。来看看它的 “社交” 本事!

  1. 模糊搜索:lstr + fzf 绝配

项目文件太多,找个文件像大海捞针?试试这个:

1
$ lstr -a -g --icons | fzf

lstr 输出目录树,fzf 提供模糊搜索,秒定位目标文件,效率起飞!

  1. 分页查看:lstr + less 或 bat

目录太大,屏幕装不下?用分页器:

1
2
$ lstr -L 10 | less -R  # 保留颜色,分页浏览
$ lstr --icons | bat # 用 bat 显示,颜值更高

less 经典,bat 更现代,搭配 lstr,随你挑!

  1. 目录切换神技:lstr + lcd

想用 lstr 选目录然后直接 cd 过去?加这个函数到你的 ~/.bashrc~/.zshrc

1
2
3
4
5
6
7
8
9
10
11
12
13
# A function to visually change directories with lstr
lcd() {
# Run lstr and capture the selected path into a variable.
# The TUI will draw on stderr, and the final path will be on stdout.
local selected_dir
selected_dir="$(lstr interactive -g --icons)"

# If the user selected a path (and didn't just quit), `cd` into it.
# Check if the selection is a directory.
if [[ -n "$selected_dir" && -d "$selected_dir" ]]; then
cd "$selected_dir"
fi
}

保存后,跑 lcd,用 lstr 互动模式选目录,按 Ctrl+s,终端直接跳转,丝滑到想尖叫!

颜色定制:让 lstr 变身你的专属彩虹

lstr 的颜色默认跟终端主题天生一对,还能读 LS_COLORS 变量,给你满满的个性化空间。

Linux 用户基本零配置,macOS 装个 coreutils,加一句 eval "$(gdircolors)" 就能玩。

Windows 用户手动设个 LS_COLORS,比如 set LS_COLORS=rs=0:di=01;34:ln=01;36:ex=01;32:*.zip=01;31:*.png=01;35:,文件夹蓝蓝,图片粉粉,调啥像啥!

想让代码文件绿得像抹茶,压缩包红得像辣椒?随便调,lstr 都能陪你玩出彩!

为啥 lstr 这么招人稀罕?

lstr 的魅力不只是功能多。它轻量到飞,跑得比风快。Rust 保证安全,代码稳如老狗。互动模式像贴心小助手,经典模式简洁到让人想喊 “绝了”。Git 集成、gitignore 支持、fzf 联动,每一个细节都戳中程序员的爽点!

它还开源,MIT 许可证随便折腾。灵感来自经典 tree,但 lstr 愣是把前辈的精髓玩出了新高度!

快去试试 lstr,解锁你的终端魔法!

lstr 就像一个既能干活又会卖萌的小伙伴,把文件管理变得好玩又高效。不管你是敲代码的程序员,还是爱折腾的极客,lstr 都能让你爱到放不下来。赶紧装一个,跑 lstr interactive --icons -g,感受它的魅力!

用了 lstr 后,我都开始享受整理文件夹了!你呢?试完记得来留言,分享你的 “探险”故事!觉得文章有料,点个在看,顺手转给你的程序员兄弟,让他们也来感受这把 “效率神器”!