linux(十五)文件和目录相关命令控制台输出命令echo和重定向

2023年 10月 11日 74.9k 0

接下来,我们来看一下linux中的echo命令。

 

唉,好巧不巧,PHP中也有echo命令,PHP中的echo命令,主要是用来输出字符串,一般都用做调试使用。

 

而linux中的echo命令一般用于控制台输出,重定向或者向文件中写入内容。

 

具体的我们可以使用—help来查看命令相关的说明:

sudo echo --help

 

输出的内容我这里就不展示了,全英文,像我这种英文不好的人,算了。我还是找找中文的说明吧。

一:echo

1 :基本使用方法

(1):命令格式

echo string

(2):示例

[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo "this is a test"
this is a test

 

2 :参数说明(使用了"-e"选项,则可以支持控制字符)

*(1):转义字符:  输出 *

[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo 

[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo "" try 一下 ""
" try 一下 "

 

(2):b 向左删除键

[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e "abcbdef"
abdef
[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e abcbdef
abcbdef

通过上边的示例,我们可以看到在使用控制字符的时候,我们需要在处理的字符串两端添加双引号,否则控制字符不起作用。

 

(3):c取消输出行末的换行符。和“-n”选项一致

[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -e "abcc"
abc[root@iZ2ze5am67ry6t5l15vyuuZ html]# echo -n "abc"
abc[root@iZ2ze5am67ry6t5l15vyuuZ html]#

大概就是这么个效果。

 

(4):e Esc键

root@iZijvdp1z0m5q4Z:~# echo -e "111113333e"
111113333
root@iZijvdp1z0m5q4Z:~# echo -e "111113333e4444"
111113333444

这个参数目前我还没有发现任何我能用到的作用。

 

(5):n 换行符

root@iZijvdp1z0m5q4Z:~# echo -e "123nqwe"
123
qwe

 

(6):r 回车键

root@iZijvdp1z0m5q4Z:~# echo -e "123nqrwe"
123
we

 

(7):t 制表符,也就是Tab键

root@iZijvdp1z0m5q4Z:~# echo -e "1t2t3nqrwte"
1     2     3
w     e

 

(8):v 垂直制表符

root@iZijvdp1z0m5q4Z:~# echo -e "1v2t3nqrwte"
1
 2    3
w     e

 

3 :显示变量

首先我们使用touch 创建一个.sh文件

touch test.sh
vim test.sh

输入:

#!/bin/sh
read name
echo "$name It is a test"

保存之后,我们执行过程如下:

root@iZijvdp1z0m5q4Z:~# sh test.sh
camellia
camellia It is a test

 

4 :显示结果定向至文件

root@iZijvdp1z0m5q4Z:~# echo "test write" > test.sh
root@iZijvdp1z0m5q4Z:~# vim test.sh

文件内容如下图所示:

1.png

 

5. 原样输出字符串,不进行转义或取变量(用单引号)

root@iZijvdp1z0m5q4Z:~# echo '$name"'
$name"

 

6 :显示命令执行结果

root@iZijvdp1z0m5q4Z:~# echo `date`
Mon Aug 22 15:50:06 CST 2022

 

7 :查看系统环境变量

很简单,系统的环境变量一般都是以开头,对你没看错,就是PHP中的那个开头,对你没看错,就是PHP中的那个开头,对你没看错,就是PHP中的那个

然后,你可能会问,我也不知道linux系统的环境变量有哪些呀?

很简单:输入命令

echo $

按下tab键,如下图所示:

6.png

嗯……这就是所有的系统变量,想看啥就看啥就好了

以上大概就是echo命令的基本使用方法。

 

二:重定向

其实上边我们在测试echo的时候,就已经使用过重定向了。

echo "test write" > test.sh

将test write写入至test.sh文件中。

 

下边我们来测试一下,很简单,我们将当前目录的所有文件名写入test.sh中

root@iZijvdp1z0m5q4Z:~# ll > test.sh
root@iZijvdp1z0m5q4Z:~# vim test.sh

结果如下图所示:

2.png

 

我们再向test.sh文件中写入 “test write” 看会发生什么情况:

echo "test write" > test.sh
vim test.sh

如下图所示:

3.png

 

很显然,> 重定向 是覆盖写入而并不是 追加写入,那如果我们想实现追加写入改怎么办呢?

很简单 >> 这就可以了。

root@iZijvdp1z0m5q4Z:~# ll >> test.sh
root@iZijvdp1z0m5q4Z:~# vim test.sh

如下图所示:

4.png

 

到这,基本上重定向我们就是玩明白了。那这个玩意有啥用呢?

 

我们其实可以结合echo来使用,当我们不想使用vim编辑文件,而恰巧我们只需要追加写入的时候,就可以将重定向与echo结合使用。

root@iZijvdp1z0m5q4Z:~# echo "test write" >> test.sh
root@iZijvdp1z0m5q4Z:~# cat test.sh

5.png

 

有好的建议,请在下方输入你的评论。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论