Windows下cmd彩色ls完全指南:从原理到lsd配置
2026/9/20 15:44:06 网站建设 项目流程

有没有过这种时刻:在 Windows 的 cmd 窗口里,肌肉记忆让你敲下一个ls,屏幕上却毫不留情地弹出一句“不是内部或外部命令”。好,就算你咬咬牙装了个模拟工具,结果出来的还是一整屏黑底白字,连个目录和文件的颜色都分不清。这感觉就像从一间装修好的屋子突然被丢回毛坯房。我在 Windows 上折腾彩色ls这件事已经不是一两天了,从注册表改 ANSI 转义、DOSKEY 宏定义、PowerShell 借壳到第三方工具,基本把市面上的路都踩了一遍。这篇文章就把我最终沉淀下来的经验一次性说清楚:cmd 里的ls到底为什么没颜色,有哪几条路能实现彩色列表,每条的优缺点是什么,以及我最推荐的方案怎么配置、会踩哪些坑。

如果你平时工作中要在 Windows 和 Linux/macOS 之间来回切换,或者单纯受够了dir那种冷冰冰的输出,这篇内容应该正合口味。我会把每一步都拆开讲,既有原理也有实操,你照着做就能在自己机器上复现。

1. 为什么 cmd 里的 ls 让人浑身难受:先搞清楚问题本质

1.1 cmd 没有 ls,只有 dir:历史包袱

这件事得从根上讲。ls来自 Unix 世界,Windows 的 cmd 继承的是 MS-DOS 时代的命令体系,文件列表命令叫dir。两者功能大方向一致,但细节差很多:ls的参数是-l -a -h这种风格,dir的参数是/b /s /a这种风格;ls默认按名称排序、输出简洁,dir默认输出一大坨包括卷标、剩余空间、文件修改时间在内的信息。更要命的是,Unix 下ls默认就会用颜色区分目录、普通文件、可执行文件、符号链接,而 cmd 的dir压根没有内置配色方案。

我见过不少教程说“用 dir 不就行了”,这话从功能上讲没毛病,但从实际操作感受上讲完全不是一回事。一个在终端里高频使用的命令,输出有没有颜色直接影响信息抓取效率:一眼扫过去能分清目录和文件,和眯着眼睛逐行找,是完全不同的体验。所以大家折腾彩色ls,本质上不是矫情,而是在给这个老掉牙的 shell 补现代终端本该有的体验。

1.2 彩色输出的真正来源:ANSI 转义序列和虚拟终端

终端里的颜色,本质上是输出文本里夹带的一串特殊控制码,叫 ANSI 转义序列。比如ESC[32m表示把接下来的文字设为绿色,ESC[0m表示重置样式。Unix 终端从几十年前就原生支持解析这套序列,所以在 Linux 上只要程序愿意输出颜色,终端就能显示。

Windows 这边完全是另一个故事。早期 cmd 根本不解析 ANSI 转义序列,你往屏幕里丢一个ESC[32m,它不会显示成绿色文字,而是直接给你渲染出一堆乱码字符。真正的转折点是 Windows 10 1607 版本,微软给控制台加入了“虚拟终端处理”能力,可以通过注册表键HKCU\Console下的VirtualTerminalLevel来开启。把这个值设为1,cmd 就具备了基本的 ANSI 转义解析能力,这也是后面所有“彩色化”方案的地基。

很多人不知道这个机制,所以折腾半天搞不定:不是命令不对,是你的终端压根不认颜色控制码。我后面会给出具体开关方法,但先把这个原理放在这儿,理解它比记命令重要得多。

1.3 为什么网上很多“彩色 ls 教程”到你这儿就不灵了

这些年我看过太多相关教程,它们不灵的根源基本都是环境错位。常见的几种情况:

  • 教程讲的是 PowerShell 里的ls,PowerShell 的lsGet-ChildItem的别名,PowerShell 主机自带颜色渲染逻辑,跟 cmd 完全是两套东西。你照搬到 cmd 里,自然什么都得不到。
  • 教程讲的是 WSL 或 Git Bash 里的ls,那些是 GNU 世界原生的工具,直接继承 Unix 的颜色能力。可你要的是在原生 cmd 里用,环境都不对。
  • 教程发布时间早于 Windows 10 1607,那时候控制台还没有 VT 能力,很多方案是通过第三方终端模拟器(比如 ConEmu)实现的,跟现在的原生方案根本不是一条路线。

所以说,想真正解决“Windows cmd 里用彩色ls”这个问题,你得先把终端能力、命令来源、配置方式这三层理清楚。接下来我就按照不同的折腾深度,把几种可行方案整体过一遍。

2. 方案横评:从零改造到完全体,五条路线一次说清

先上一张总览表,方便你根据自己的需求、系统版本、可接受的折腾程度进行选型。后面每个方案再展开讲。

方案改动量最终效果适合人群
DOSKEY 把 ls 映射成 dir极小无颜色,仅有 ls 命令名只求命令名兼容的人
注册表开启 VT + 手写 ls.bat有颜色但功能简陋无法安装软件的环境
PowerShell 借壳有颜色但启动慢、引号难搞偶尔用一下的人
安装 lsd 并配置 doskey彩色 + 图标 + Git 状态追求体验的主力方案
换 Windows Terminal + PowerShell较大现代化终端 + 完整体验愿意彻底升级终端的人

2.1 方案一:DOSKEY 把 ls 映射成 dir:最轻量,但不解决颜色

如果你只是受不了ls报错,对颜色无所谓,那么一条 DOSKEY 宏就够了。在 cmd 里执行:

doskey ls=dir /B

/B表示只显示文件名和目录名,去掉dir默认输出的卷标、摘要等冗余信息,输出格式上比较接近 Unix 的ls。敲完这条命令,当前这个 cmd 窗口里就能用ls代替dir /B了。

问题在于,dir本身不带颜色参数,你翻遍dir /?的帮助文档也找不到一个 color 相关开关。所以这个方案只能解决“命令名兼容”,解决不了“输出难看”。再加上 DOSKEY 宏只在当前会话有效,关掉窗口就失效,真正要用还得配合注册表AutoRun持久化。因为这个方案实在谈不上“彩色”,我一般只把它当作应急手段。

2.2 方案二:注册表开启 VT + 手写 ls.bat:能让你彻底理解 ANSI

想搞清楚颜色到底怎么工作,我建议你亲手做一次这个方案。整个过程不装任何第三方软件,只依赖 Windows 自身的功能,适合公司电脑没权限装东西的情况。

第一步,开启控制台的 VT 处理能力。打开 cmd,执行:

reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1 /f

执行完关掉当前 cmd 窗口,重新打开一个新的,设置才会生效。然后你可以先做个快速验证:在 cmd 里输入

echo [32m 你好,绿色 [0m

注意这里的[字符在实际输入时需要处理成 ESC 字符,直接在 cmd 里手敲会很麻烦。我建议先写一个小的批处理文件来测试。新建ls.bat,内容如下:

@echo off set "ESC=" REM 这里的 ESC 变量在编辑时需要放入真实 ESC 字符,大多数编辑器可用 Ctrl+[ 输入 echo %ESC%[32m绿色文字%ESC%[0m echo %ESC%[34m蓝色文字%ESC%[0m

如果你能把这两行文字显示出绿蓝两种颜色,说明 VT 已经生效。此时,理论上你可以用批处理写一个自己的“彩色 ls”脚本:遍历当前目录,判断是目录还是文件,分别输出不同的 ANSI 颜色。但写几个小时代码你会发现,批处理的文件类型判断、参数解析、排序能力都很弱,做出来的东西距离真正的ls差了十万八千里。

这个方案的价值在于教学:它让你切身体会到,彩色输出的本质是“输出端生成控制码,接收端解析控制码”,理解这一层之后,后面所有方案你都能看懂在做什么。

2.3 方案三:借壳 PowerShell:不装任何软件,但只能凑合

PowerShell 的lsGet-ChildItem的别名,而且 PowerShell 主机默认就会给目录、文件、隐藏文件等不同类型的条目上色,效果接近 Unix 的ls。所以在 cmd 里你可以通过调用 PowerShell 来获得一份带颜色的列表:

powershell -NoProfile -Command "ls"

为了省事,也可以配成 DOSKEY:

doskey ls=powershell -NoProfile -Command "ls $*"

这样在 cmd 里敲ls就会显示彩色输出。优点是不装任何软件、改造成本极低。但缺点也很明显:

  • 每次执行ls都要启动一个 PowerShell 进程,肉眼可见地卡顿,少则几百毫秒,多则一两秒。
  • 参数传递容易翻车。你敲ls -la,DOSKEY 宏在处理通配符、引号、管道时,cmd 和 PowerShell 两套语法互相打架,经常出现奇怪的转义问题。
  • 如果你要用管道接其他命令,比如ls | findstr xxx,那么这个方案基本没法用,因为findstr拿到的是 PowerShell 的输出对象转换出来的文本,跟你预期不一样。

我给出的评价是:偶尔看下目录还行,想作为日常主力工具,它撑不住。

2.4 方案四:安装 lsd:真正意义上的完全体

这就是我最推荐的方案。lsd 全称ls deluxe,是一个用 Rust 写的跨平台ls替代品,专门解决的问题就是“Unix ls 的现代增强版”。它在 Windows 上能原生运行,不依赖 WSL、Cygwin 或 Git Bash。功能亮点是:

  • 默认彩色输出,不同文件类型、权限、扩展名都有对应配色。
  • 自带文件图标,可以靠图标快速区分常见格式。
  • 原生支持 Git 状态,在 Git 仓库里能看到哪些文件被修改、新增、冲突。
  • 支持--tree,一键以树状结构显示目录,替代古老的tree命令。
  • 参数风格非常接近 GNUls,Linux 用户几乎零学习成本。

安装方式我放在下一节专门讲,这里先给结论:这是我在 cmd 里找到的,彩色ls体验最接近 Unix 的方案。你不需要被迫去 Ghost 或模拟什么,lsd 就是为 Windows 原生环境设计的。

2.5 方案五:换终端:Windows Terminal 才是治本之策

说实话,cmd 这个终端本身已经非常老旧了。它对 Unicode 的渲染能力弱,没有多标签页,GPU 加速缺失,代码页问题一堆。即便你用上了 lsd,在一个老旧的 cmd 窗口里观感还是受限。所以方案五的思路是:不纠结怎么在 cmd 里实现彩色ls,直接把 cmd 换掉——装 Windows Terminal,它是微软官方的现代化终端,支持 VT 解析、GPU 渲染、多标签、丰富配色主题。它默认可以启动 PowerShell、Cmd、WSL 等任意 shell,而且对 ANSI 颜色的显示效果比原生 cmd 好得多。

有人会说“那你直接让我换 WSL 或 Git Bash 不更彻底吗?” 这条路确实能一步到位,但那等于放弃了原生 Windows 环境。对很多跑 Windows 原生开发、维护 Windows 服务器的人来说,终端里得同时操作 cmd 命令和 PowerShell 命令,用 Windows Terminal 套两层壳更符合实际工作流。所以我的建议是:Windows Terminal + lsd,一个管终端渲染,一个管文件列表,两件事都好,体验直接起飞。

3. lsd 实战:安装、配置、避坑,一条龙给你捋平

既然前面已经反复说了 lsd 是我最推荐的方案,这一节就把整个流程完整展开,从安装到永久配置,你照着操作就行。

3.1 安装:winget、scoop、choco 三选一

lsd 官方支持多种安装方式。我按推荐程度排一下:

用 winget(Windows 10 1709 以上自带的包管理器)最简单:

winget install lsd

如果你用的是 Scoop,直接:

scoop install lsd

如果你习惯 Chocolatey:

choco install lsd

装完之后,先验证一下是否成功:

lsd --version

能看到版本号就说明装好了。这里要给第一次用 lsd 的朋友提个醒:刚装完别急着敲ls,你在 cmd 里敲ls依然会报错,因为 lsd 安装后的可执行文件叫lsd.exe,不会覆盖系统里的ls命令。你需要把它和ls命令“接上线”,这一步就是下一小节的内容。

3.2 让 cmd 认识 lsd:doskey + AutoRun 双管齐下

cmd 没有 Unix 那种.bashrc配置文件,也没有直接设置 alias 的命令。唯一的别名机制是 DOSKEY 宏,格式就是:

doskey ls=lsd

执行后,当前窗口里敲ls就等于敲lsd,但窗口一关就失效。要让每个新开的 cmd 窗口都自动加载,你得把这条命令塞进注册表。

注册表路径是:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

右侧有个字符串值叫AutoRun,cmd 每次启动时都会读取它并执行里面的命令。可以在 cmd 里执行下面这行,一步设置好:

reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "doskey ls=lsd" /f

设置完之后,新开一个 cmd 窗口,敲ls应该就能看到带颜色的输出了。

不过我个人不建议把多条 DOSKEY 宏直接写死在注册表里,因为后续要加llla这些别名时,改注册表字符串会越来越乱。更规范的做法是单独建一个宏文件。比如在用户目录下建一个lsd_macros.doskey文件,内容写:

ls=lsd ll=lsd -l --group-directories-first la=lsd -la --group-directories-first

然后 AutoRun 里只写一句:

reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "doskey /macrofile=\"C:\Users\<你的用户名>\lsd_macros.doskey\"" /f

以后想加别名,直接编辑这个.doskey文件就行,不用再碰注册表。注意路径里的反斜杠和引号,写错了 cmd 启动时会报警告,而且窗口可能一闪而过。

3.3 定制颜色:LS_COLORS、配置文件和环境变量

lsd 默认配色已经很能打,但如果你跟我一样是个“颜色强迫症”,也可以自己调。

首先,lsd 支持 GNU 生态的LS_COLORS环境变量。你可以设置各种扩展名对应的颜色。比如让.zip文件显示成红色:

setx LS_COLORS "*.zip=01;31"

这个命令对所有新开的 shell 生效。01;31里的01表示加粗,31表示红色。你可以组合出各种颜色,比如32绿色、33黄色、34蓝色、35紫色、36青色,前置01;加粗,04;下划线。具体的格式参考 ANSI 颜色表,网上随手就能查到。

其次,lsd 也支持配置文件。在 cmd 里执行:

lsd --config-file > "%USERPROFILE%\.config\lsd\config.yaml"

这会生成一个默认配置,内容包含各种样式选项。你打开这个config.yaml,会看到几个常用字段:

  • color: when: always表示永远输出颜色;如果设为auto,则只有检测到支持颜色的终端时才输出。
  • icons: when: always,这个开关默认会开启文件图标。如果你的终端不支持 Nerd Font,图标会变成方框,建议直接设成never
  • date: relative,把文件时间显示成“今天”“昨天”“3 天前”这种相对格式,比2024-05-12这种绝对时间直观很多。
  • sorting: dir-group,让目录排在文件前面,这是我最喜欢的设置,一屏扫下来非常舒服。

改完配置保存,重开 cmd 窗口,再看ls输出,效果差异一眼就能看出来。

3.4 实测:lsd 在 cmd 里的输出和观感

我把实际体验给你们描述一下。在一个混合了文件夹、源码文件、压缩包、可执行文件的目录里输入ls

  • 目录显示为蓝色加粗,一眼就能和普通文件区分。
  • 常见代码文件如.py.js.md也有自己的颜色区分。
  • 压缩包文件显示为红色系,说明文件类型不同能快速识别。
  • 可执行文件是绿色,跟 Linux 下的观感很接近。
  • 如果这个目录是 Git 仓库,你还能看到被修改的文件前面有特殊标记,新增文件也有对应标识,这个特性是原生ls没有的。

再试一下我前面说的几个常用命令:

lsd -l

显示类似 Unixls -l的完整信息:权限位、硬链接数、所有者、所属组、文件大小、修改时间、文件名,每一行都有颜色区分。在 Windows 上能看到权限位,这本身就很有意思。

lsd --tree

直接从当前目录输出一棵缩进树,包含所有子目录和文件,配合配色,拿来快速理清项目结构非常方便。

lsd -la --group-directories-first

显示所有文件(包含隐藏的)并且目录在前。注意 Windows 下没有 Unix 那种点开头的隐藏文件概念,但 lsd 会隐藏一些系统文件,类似地,-a可以显示它们。

4. 避坑实录:我踩过的五个和彩色 ls 相关的坑

再好的工具,落到具体环境里总会有意料之外的情况。这一节我把这几个坑的完整排查链路写出来,包括现象、原因、怎么处理,免得你重复走弯路。

4.1 开启 VirtualTerminalLevel 之后,老程序输出变乱码

一开始我以为只要把VirtualTerminalLevel设为1,cmd 就能全面拥抱 ANSI 颜色。结果开了之后,公司内部一个老旧的批处理工具输出变得很奇怪,原本正常的文字前后来了一些莫名其妙的方块字符,退出 cmd 再进也一样。

排查过程是这么走的:先用系统还原思路,把VirtualTerminalLevel改成0,问题消失;再改回1,问题复现。由此确定是 VT 开启导致。原因在于,老程序自己会往输出流里丢一些ESC字符,在未开启 VT 时 cmd 只是原样把它们当普通字符打印,除了偶尔出现一两个奇怪符号,还不至于乱;开启 VT 后,cmd 会尝试把ESC后面的内容解析成控制序列,一旦序列不完整或不符合规范,渲染就直接乱了。

这个问题的解法比较尴尬:你想让 lsd 有颜色,VT 必须开着;你想让老程序不抽风,VT 就得关。我的折中方案是:保留 VT 开启,老程序尽量通过 PowerShell 调用或放到独立环境里运行。如果你一定要在老程序和平共存,那就只在需要看 lsd 时才临时开会话。

4.2 lsd 的图标全变成方框:Nerd Font 缺失

刚装好 lsd,第一次运行ls,爽了一秒:颜色有了。再看一眼,目录名前全是小方框。这体验实在太掉价。但别急着骂工具,这是字体问题。

lsd 默认启用了文件图标功能,它需要终端字体包含特定字形,这类字体统称 Nerd Font。老式 cmd 窗口默认的 Consolas、新宋体,根本不包含这些字形,所以显示成方框。

解决路径:如果你不想换字体,就直接在config.yaml里把icons.when改成never,只保留颜色,看起来依然不错。如果你想把图标也显示出来,那就得装一个 Nerd Font 字体,常见的有 JetBrainsMono Nerd Font、Cascadia Code NF、Meslo Nerd Font。装完后在 cmd 窗口标题栏右键,进入属性、字体,把字体切到对应的 Nerd Font;如果是 Windows Terminal,在配置文件里设置font.face即可。我个人用 Windows Terminal 比较多,所以直接在settings.json里把默认字体设为 Nerd Font 了。

4.3 中文文件名乱码:cmd 代码页和 UTF-8 的纠缠

另一个高频问题是中文文件名变成一串乱码,比如正常显示“测试文件.md”,结果变成“娴嬭瘯鏂囦欢.md”或者“鈥??”这种。这是因为 cmd 默认代码页是 GBK(936),而 lsd 输出的是 UTF-8 编码的字符串,两边不匹配就乱码。

最直接的解决办法是在 cmd 里执行:

chcp 65001

把代码页切到 UTF-8,然后重新打开 lsd,中文基本就正常了。但要注意,chcp只在当前窗口有效,关掉就没了。你可以把这个命令加到 AutoRun 里,但副作用是:GBK 编码的老程序会在 UTF-8 代码页下乱码。

另一种思路是,Windows 10 2004 以后有一个系统级的“Beta: 使用 Unicode UTF-8 提供全球语言支持”选项。开启后系统非 Unicode 程序默认按 UTF-8 处理,中英文环境都正常。但这是全局开关,影响面大,建议在虚拟机里测试确认没问题再开。对大部分场景,我建议还是按需在窗口里执行chcp 65001,不要全局改。

4.4 doskey 宏重启就失效:AutoRun 注册表值没配对

这个坑很经典。我在 cmd 里配好doskey ls=lsd,当时用得好好的,一关窗口重新打开,再敲ls又提示“不是内部或外部命令”。

原因我在 3.2 节已经交代了:DOSKEY 宏是会话级的,关了窗口就没了。必须通过AutoRun注册表值在每次 cmd 启动时重新执行。如果你按我前面给的命令设置了,却还是失效,最可能的问题是注册表里本来就有别的工具在写AutoRun,比如某些开发工具会把初始化脚本塞进去。你直接用reg add覆盖,等于把别人的配置干掉了。

这种时候要先去注册表里看一下当前AutoRun的值长什么样:

reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun

如果有多个命令,用&连起来写,例如conda activate base & doskey /macrofile=...。脚本里要注意转义,cmd 对双引号的处理很敏感。改完之后,单独开一个 cmd 窗口验证,如果窗口一开就闪退,多半是路径写错了,先敲cmd /k echo test定位问题在哪一步。

4.5 PowerShell 借壳方案里的引号、转义和启动时延

如果你试过用doskey ls=powershell -NoProfile -Command "ls $*",可能会发现一个更隐蔽的问题:参数根本传不过去。比如你敲ls -la,PowerShell 收到的参数经常是碎的,甚至直接报错。

原因是 cmd 的 DOSKEY 宏在展开时,$*会把当前命令行剩余部分原样拼接,而 PowerShell 的命令解析规则和 cmd 完全不一样。两边语法打架的时候,转义就成了噩梦。更别提每敲一次ls都要等 PowerShell 引擎加载这一两秒,非常磨人。所以这个方案我最终还是放弃了,只在偶尔应急时用。你如果只是想看颜色不想装东西,可以用;真想日常用,还是走 lsd。

4.6 顺带一提:想关掉 lsd 的 Git 状态标记怎么办

最后一个不算坑但能影响体验的小问题:在 Git 仓库里,lsd 会在文件名旁边显示各种 Git 状态标记,有的人觉得好,有的人觉得吵。如果你不想要,可以调整配置文件里的git相关选项。在config.yaml里找到git配置块,将enabled改为false,Git 状态功能就会关闭。我自己是保留的,做项目的时候一眼看出哪个文件改过,效率高不少。

5. 我的最终玩法:Windows Terminal + lsd,以及几点个人经验

5.1 为什么我还是建议你升级终端

绕了一大圈,我得说句实话:单纯在原生 cmd 里折腾彩色ls,上限是有的。cmd 窗口的字体渲染、Unicode 支持、配色方案都停留在上个时代,即便 lsd 输出了一堆彩色字符,老窗口渲染出来也略糙。而且 cmd 没有多标签页,开一堆窗口找来找去也很痛苦。

微软这两年干了件好事:发布了 Windows Terminal。它是官方现代终端,支持 GPU 加速渲染、多标签、丰富的主题配色,对 ANSI 转义序列支持得比 cmd 好得多。同样一个 lsd,在 Windows Terminal 里的视觉效果比在 cmd 里高一个档次。所以我在自己的主力机器上,最终还是选择了“Windows Terminal + lsd”的组合。cmd 依然在里面作为可选的 profile 存在,但日常操作都在 Windows Terminal 里完成。

之前的搜索热词里也能看到,Windows 上的开发者在快速回归,比如有人折腾启动 Elasticsearch、有人装 Redis Windows 版、有人用 Codex 桌面版。这些场景下终端都是绕不开的基本盘,多标签的现代终端对你的效率提升绝对是实打实的。尤其是查看 Elasticsearch 的 config、logs、plugins 这些目录时,lsd 的颜色和 Git 状态让你不用反复cdtype翻文件,省下的时间日积月累非常可观。

5.2 Windows Terminal 的最小配置示例

如果你愿意试一下,最省事的安装命令是:

winget install Microsoft.WindowsTerminal

装完后打开设置,编辑settings.json。几个值得关注的地方:

  • defaultProfile:指定默认启动的 shell,可以改成 PowerShell 7 或想用的任意 profile。
  • profiles.defaults.font.face:设置成你装的 Nerd Font 字体,比如CaskaydiaCove NF
  • profiles.defaults.colorScheme:选一个喜欢的主题,比如One Half DarkTango Dark
  • 如果你在 cmd profile 里通过 AutoRun 配了 lsd,那进 Windows Terminal 直接启动 cmd 就能复用;如果你改用 PowerShell 7,可以在 PowerShell profile 里写:
Set-Alias ls lsd Set-Alias ll lsd -l Set-Alias la lsd -la

这样在 PowerShell 里敲ls也变成 lsd,体验统一。

5.3 我在实际使用中的体会

最后分享一点自己的真实感受。折腾这套东西前后花了不少时间,最深刻的体会是:别指望一个命令就能解决所有问题,环境适配才是大头。lsd装好后,难点全在“如何让它和 cmd 的会话机制、代码页、字体、终端渲染这些底层配置融合”。理解了 VT、AutoRun、代码页这些概念之后,以后再遇到其他终端类问题,基本都能顺藤摸瓜自己排查。

我的日常已经习惯了在 Windows Terminal 里敲lsllla,偶尔切到老机器的原生 cmd,还得靠doskey临时撑一下,但那种“穿越回去”的感觉依然存在。彩色ls这个需求看起来小,背后藏着的终端生态差异其实挺大。希望这篇文章能帮你少走点弯路,一次就把 Windows 下的彩色ls配好。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询