Linux基础:常用命令之echo命令详解(二)

简介: Linux基础:常用命令之echo命令详解(二)

在上一篇总结echo命令的文章中,我们描述了,echo命令的常用选项,可以点击如下链接查看。

echo命令详解(一)

这篇文章中,我们继续聊聊echo命令


使用echo命令的-e

640.png

可以看到,上例中输出了红色的大写的"TEST",这就是我们所说的,使用echo -e输出彩色字符的效果。echo -e我们就不解释了,不管是输出转义字符还是输出彩色字符,都需要使用-e选项。我们来解释一下下图中红线标注的字符串是什么意思。

640.png

为了方便介绍,我们尽量的缩小范围,如下图,我们排查“TEST”字符串,因为这就是我们要输出的内容,没有什么好解释的,排除输出内容后,结构如下:

640.png

从上图可以看出,如果要想输出红色字符,至少需要两部分, \033[31m 和\033[0m ,这些代码有一个专业名词,叫做" ANSI控制码"但是为了方便理解,我们先用通俗的语言解释它们,用不专业的思维去理解它们。


我们可以把\033[31m理解成"开始输出红色字符" ,把\033[0m理解成"结束输出红色字符"。


当echo -e遇到\033[31m的时候,就认为自己要输出红色字符了,\033[31m就是一 个信号, 它告诉echo e,需要开始输出红色字符了,\033[0m也是种信号,它告诉ech。命令,红色字符已经不能输出了,再输出的字符应该是黑白字符了,不能是彩色的了。那么,如果我们想要输出绿色字符,该怎么写呢,示例如下

640.png


细心的你一定发现,输出红色TEST字符与输出绿色TEST字符的唯一区别就是下图标注的位置。

640.png

也就是说,我们只要改变对应位置的数字,就能改变输出字符的颜色,所以,我们将能够输出的颜色对应的数字总结如下:


30:黑色

31:红色

32:绿色

33:黄色

34:蓝色

35:紫色

36:浅蓝色

37:灰色

所以,对应上述颜色号码,输出效果如下:

640.png

除了能够使用e'cho命令输出彩色字符,我们还能够为彩色字符添加彩色背景,比如,我们想要输出具有黄色背景的红色字符,可以使用如下方法:

640.png

那么我们对比一些,输出红色字符的echo命令,与输出黄色背景的红色字符的echo命令,具体有什么不同。


640.png

可以看到,唯一-不同的地方就是带有黄色背景的命令中,多出了"43;",其他部分的命令都- 样。

聪明如你一定想到了,"43;"代表黄色背景,那么别的背景颜色-定会有其对应的数字编号,没有错,此处列出背景色编号:

40:黑色

41:红色,

42:绿色

43:黄色

44:蓝色

45:紫色

46:浅蓝色

47:灰色

我们可以同时设定字符的颜色与背景的颜色,怎样搭配随你喜欢。

比如,红配绿,赛狗pi

640.png

比如,红配蓝,sao不完

640.png

比如..各种搭配,全凭老板您喜欢。


我们在之前已经说过,"\033[31m” "\033[m" 这些代码都属于ansi控制码。ansi控制码中不仅有控制颜色的控制码,还有一些提供其他功能的控制码, 我们来总结一下。


常用ANSI控制码总结如下:

\033[0m关闭所有属性,也就是说此控制码前面的控制码将会失效,此控制码中的0可以省略。
\033[1m设置高亮度
\033[4m下划线
\033[5m闪烁
\033[7m反显,撞色显示,显示为白底黑字,或者显示为黑底白字
\033[8m消隐,字符颜色将会与背景颜色相同
\033[30m -- \33[37m设置字符颜色
\033[40m -- \33[47m设置背景色
\033[K清除从光标到行尾的内容

上述ANSI控制码中,有的不能在bash命令行中运行,我们可以掩饰几个可用的,常用的ANSI控制码,示例如下图:

640.png

上图中,我们利用echo命令,使用-e选项,结合着ANSI控制码,输出了带有下划线的字符以及撞色显示的字符。


除了echo命令,我们也可以在别的地方使用ansi控制符,比如改变命令提示符的颜色

640.png

但是这不属于echo命令的使用,我们就不详细总结了。

相关文章
|
11天前
|
Linux 网络安全 Python
linux后台运行命令screen的使用
linux后台运行命令screen的使用
45 2
linux后台运行命令screen的使用
|
11天前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
117 3
|
17天前
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
17天前
|
存储 监控 Linux
在Linux中,可以使用哪个命令查看系统的历史负载?
在Linux中,可以使用哪个命令查看系统的历史负载?
|
6天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
163 73
|
5天前
|
Linux 应用服务中间件 nginx
|
5天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
5天前
|
Linux Shell 网络安全
Linux 用户管理命令
本文详细介绍了Linux系统中的各类常用命令,包括用户管理(如`adduser`, `usermod`, `passwd`等)、系统操作(如关机、重启、注销)、磁盘管理(如`df`, `mkfs`, `mount`)及网络管理(如`ifconfig`, `ping`, `ssh`)等。通过具体示例展示了每个命令的基本用法和应用场景,帮助用户更好地理解和掌握Linux系统的管理和操作技巧。
|
5天前
|
存储 Ubuntu Linux
linux中的find 命令详细用法
本文介绍了如何将 `find` 命令与 `exec` 结合使用,通过具体示例展示了多种应用场景,如显示文件属性、重命名文件、收集文件大小、删除特定文件、执行工具、更改文件所有权和权限、收集 MD5 值等。文章还探讨了 `{} \;` 和 `{} +` 的区别,并演示了如何结合 `grep` 命令进行内容搜索。最后,介绍了如何在一个 `find` 命令中使用多个 `exec` 命令。这为 Linux 用户提供了强大的文件管理和自动化工具。
|
5天前
|
Shell Linux API
C语言在linux环境下执行终端命令
本文介绍了在Linux环境下使用C语言执行终端命令的方法。首先,文章描述了`system()`函数,其可以直接执行shell命令并返回结果。接着介绍了更强大的`popen()`函数,它允许程序与命令行命令交互,并详细说明了如何使用此函数及其配套的`pclose()`函数。此外,还讲解了`fork()`和`exec`系列函数,前者创建新进程,后者替换当前进程执行文件。最后,对比了`system()`与`exec`系列函数的区别,并针对不同场景推荐了合适的函数选择。