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

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

echo命令是linux中最基础的命令,也是最常用的命令,特别是在写shell脚本的时候,可能会被经常用到,虽然echo命令比较基础,但是功能还算丰富,此处对echo命令的常用方法进行总结,并给出示例,方便记忆与回顾。


echo命令的基本用法,很简单,就是echo命令后面跟上要输出的文本,如下:

640.png

除了基本用法,还可以配合一些选项使用

echo -n表示不换行输出:

640.png

可以看到,如果不添加-n选项,文本输出以后,指定换行了,而添加了-n选项以后,文本直接连着命令提示符输出了,并没有换行,这样演示的效果不明显,我们可以同时echo两条信息,效果比较明显,示例如下:


640.png


当使用echo输出命令替换后的内容时,命令执行结果的格式可能会发生变化,比如,如果我们想要输出ifconfig命令执行后的结果,我们可能会使用如下命令:

640.jpg

但是我们发现,这样输出的文本的格式发生了变化,这样可能不是我们想要的,因为当我们直接执行ifconfig时,ifconfig返回的结果是多行的,可是当我们使用echo输出的时候,格式发生了变化,如果想要按照命令执行后的原格式输出命令替换后的结果,可以使用如下方法,如下方法在写脚本的时候可能会用到。

640.jpg


我们可以使用-e选项输出转义字符,比如常用的转义字符“\t”,转义字符“\t”表示制表符,作用相当于我们键盘上的tab键。我们可以使用echo -e输出转义字符,将转义字符输出到屏幕上,示例如下:

640.png


上图示例中,已经将“\t”转义过的制表符输出到了屏幕上,所以,我们只要能够记住这些转义字符,就可以在echo命令中输出它们,那么我们将常用的转义字符总结一些,然后给出示例:


常用的转义字符如下:

  • \b转义相当于按退格键(backspace),但前提是“\b”后面存在字符,具体效果参考下方示例。
  • \c不换行输出,在“\c”后面不存在字符的情况下,作用相当于echo -n,具体效果参考下方示例。
  • \n换行,效果看示例。
  • \f换行,但是换行后的新行的开头位置连接着上一行的行尾,具体效果查看示例。
  • \v与\f相同;
  • \t转以后表示插入tab,即制表符,已经在上面举过例子;
  • \r光标移至行首,但不换行,相当于使用“\r”以后的字符覆盖“\r”之前同等长度的字符,只看这段文字描述的话可能不容易理解,具体效果查看示例。
  • \\表示插入“\”本身;


使用echo命令输出上述转义字符的示例如下:


使用echo命令输出"\b"转义字符,在"\b"后面存在字符的前提下,"\b"表示删除前一个字符,“\b\b”表示删除前两个字符。

640.png

可以看到,上例中,在“\b”后面不存在任何字符时,"\b"并没有转义为"退格键",当"\b"后面存在字符时,一个"\b"就相当于按一次backspace键。


我们也可以使用\c转义符,表示不换行输出,但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出,如果"\c"后面不存在任何字符时,效果与"echo -n"相同,示例如下:


640.png

"\n"转义后表示换行,下例中,被输出的字符从"\n"处开始另起一行。

640.png

"\f"转义符表示换行,但是换行后的新行的开头位置连接着上一行的行尾,如下图所示,下图中的第三个例子中又两个"\f".

640.png


“\v”转义符与“\f”转义符的作用相同。


“\r”转义符表示使用“\r”后面的字符覆盖“\r”之前的同等长度的字符,比较不容易理解,但是看下图示例,就很容易明白了。

640.png

上图中的第一示例中,“\r”后面的123覆盖了abc,defg没有被覆盖,第二个示例中,因为abc一共就3个字符,123也是又3个字符,所以123覆盖了abc以后,只剩下了123,第三个示例中,123一共有3个字符,a只有一个字符,覆盖以后只剩下123,第四个示例中,“\r”后面并不存在任何字符,所以"\r"前面的字符没有被覆盖。


“\\”经过转义以后,表示“\”示例如下。

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`系列函数的区别,并针对不同场景推荐了合适的函数选择。