百度
360搜索
搜狗搜索

linux命令行输出增加颜色详细介绍

在 Linux 命令行中增加颜色显示,主要通过 ANSI 转义序列 实现。以下是详细的方法和示例:

一、基本原理:ANSI 转义序列

ANSI 转义序列以 \033(或 ESC 键,ASCII 码 27)开头,格式为:
plaintext

\033[<参数>m  内容  \033[0m  (重置颜色)

常用参数:

功能 前景色(30-37) 背景色(40-47) 附加属性(如加粗、下划线)
黑色 30 40 加粗:1,下划线:4
红色 31 41 斜体:3,反显(前景背景交换):7
绿色 32 42 重置所有属性:0
黄色 33 43
蓝色 34 44
洋红色(紫) 35 45
青色 36 46
白色 37 47

二、具体用法

1. 在
echo 中直接使用(需加
-e 选项启用转义)

bash

[1;31m红色加粗文字\033[0m"

[42;37m绿色背景白色文字\033[0m"

[4;33m黄色下划线文字\033[0m"

2. 使用
tput 命令(更便携,自动适配终端)

tput 可查询终端能力并生成转义序列,避免直接写数字:
bash

tput setaf

tput sgr0

tput setab

tput sgr0

3. 在 Shell 脚本中定义颜色变量(方便复用)

bash

错误信息:操作失败!"

成功:任务完成"

4. 256 色模式(更丰富的颜色,需终端支持)

使用 38;5;<n>(前景)或 48;5;<n>(背景),n 为 0-255 的颜色编号:
bash

[38;5;208m橙色文字\033[0m"

[48;5;51m深蓝色背景文字\033[0m"

查询 256 色编号:echo -e "\033[38;5;{0..255}m{0..255}"(需分行显示)。

三、常用命令的内置颜色支持

许多命令默认支持颜色,可通过选项启用或配置:

  1. grep:加 --color--color=autobash
       文件.txt  

  2. ls:加 --color(或设置环境变量 LS_COLORS 自定义)bash
     always  

  3. cat/less/man:部分场景通过环境变量控制(如 LESS_TERMCAP_mb 定义加粗颜色)。

四、注意事项

  1. 重置颜色:每次颜色设置后务必用 \033[0mtput sgr0 重置,避免后续输出受影响。
  2. 终端兼容性:现代终端(如 GNOME Terminal、iTerm2)普遍支持,但老旧终端可能不支持,需提前检查。
  3. 脚本适配:若脚本需兼容非交互式终端,可通过 tput colors 判断终端是否支持颜色(返回值 ≥8 表示支持)。

五、示例汇总

效果 命令示例
红色普通字 echo -e "\033[31m红色\033[0m"
绿色加粗字 echo -e "\033[1;32m绿色加粗\033[0m"
黄色背景白字 echo -e "\033[43;37m黄底白字\033[0m"
256 色橙色 echo -e "\033[38;5;208m橙色\033[0m"
tput 方式 tput setaf 1; echo "红色"; tput sgr0

通过上述方法,可灵活为命令行输出添加颜色,提升日志、脚本信息的可读性。

阅读更多 >>>  Linux怎么控制光标位置

网站数据信息

"linux命令行输出增加颜色"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux命令行输出增加颜色的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!