答案1
lsd --tree
这已经存在,例如以“增强替代方案”的形式ls
。由于技术原因,它的图标范围有限:
基本上,控制台上的图标要么需要专门修改的终端模拟器(kitty
我讨厌它的微妙错误),要么需要将所需图标映射到某个代码点的字体。
如果您获得的图标满足您的需求,那么lsd --tree
就是正确的选择。实施同样的方法并不难;使用您最喜欢的脚本语言递归地列出您的目录,打印包括图标的文件名(从名称或file
/ magic 推断),并根据树的情况缩进。
答案2
更新: exa
就是现在无人维护的。使用维护的替代品eza
反而。
你可能想尝试exa
。
我有这个别名来获取带有图标的树:
alias lt='exa -aT --color=always --group-directories-first --icons' # tree listing
笔记:“–git-ignore”命令行参数告诉 exa 跳过与当前“.gitignore”文件中的模式匹配的所有文件。
笔记:您需要“Nerd”字体来获取图标符号。这是我在 Arch 中安装的:
sudo pacman -S ttf-arimo-nerd
这篇博文中的更多示例:https://www.lorenzobettini.it/2023/02/exa-and-icon-fonts-in-arch-linux/