Linux 控制台输出 - 在每个屏幕后暂停

vob*_*ect 5 linux terminal console linux-terminal

当我使用ls -latree -L 3列出包含大量文件的目录时,我会得到很多输出屏幕。为了一个接一个地阅读我添加| 更多| 少,但问题是颜色丢失了

有没有办法让控制台在每个屏幕充满信息后暂停但保持着色?

谢谢。

小智 6

当您键入:ls 时,该命令知道输出正在显示到您的 tty 并启用颜色。当命令检测到输出发送到别处时,它会去除颜色转义码。

因此,要在管道输出时启用颜色,请在 mac 上使用 ls --color 或 ls -G。

然后,您将需要附加 -R 标志,该标志维护 ANSI 颜色转义字符。

ls -la --color | less -R
Run Code Online (Sandbox Code Playgroud)

这应该会产生您正在寻找的结果。

  • 如果你有`--color=auto`,那么如果没有管道,`ls` 将显示颜色。如果有管道,它不会显示颜色。拥有`--color=always` 会赋予管道颜色。 (2认同)