Linux-重定向、管道符、通配符、转义字符、环境变量

在学习了linux常见的命令之后,我们要学以致用!本篇博客就来介绍如何将linux常见的命令用起来,在这里我们假设常见的命令我们已经了如指掌,不熟悉的可以关注我,看我这篇博客Linux常见命令

一、输入输出重定向

输入重定向

输入重定向,是将文件作为输入,在工作中用的较少。
在这里插入图片描述

输出重定向

输出重定向分为两种,一种是标准输出重定向(STDOUT,文件描述符1),另一种是错误输出重定向(STDERR,文件描述符2)
一个命令的输出,默认输出在屏幕上,当命令正常执行时,我们称输出为标准输出,但是当命令执行不当时,会报错,这时我们称输出的内容为错误输出。如下图:
在这里插入图片描述
那么,现在问题来了, 我们想要把这些原本输出到屏幕上的内容,输出到一个文件里,这时就需要重新定位输出的位置,也即是所谓的输出重定向。常见的输出重定向的命令如下:

命令 作用
命令 > 文件 将标准输出写入文件
命令 2> 文件 将错误输出写入文件【2和>之间无空格】
命令 >> 文件 将标准输出追加到文件末尾
命令 2>> 文件 将错误输出追加到文件末尾【2和>>之间无空格】
命令 >> 文件 2>&1或命令 &>> 文件 将标准输出和错误输出都追加到文件末尾

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

管道命令符(管道符)

符号: | 【Shift + \】
作用:连接两个或者多个命令,如【命令A | 命令B | 命令C】
将前一个命令的输出,作为后一个命令的输入。
如:

  1. 找出所有被限制登录系统的用户,并统计该类用户数
    在这里插入图片描述

  2. 以分页方式查看/etc目录下的文件情况【Enter 下一行】
    在这里插入图片描述

  3. 重置root和abong的密码
    在这里插入图片描述
    在这里插入图片描述

  4. 发送邮件给abong用户,将正文和标题打包并发送【邮件=对象+标题+正文】
    在这里插入图片描述

  5. 发送邮件给abong,输入正文,直到输入over才发送邮件
    在这里插入图片描述
    在这里插入图片描述

通配符

通配符,常用于查找文件,进行模糊查询。常见的通配符:

通配符 作用
* 匹配0个或者多个字符
匹配单个字符
[0-9] 匹配0~9之间的单个数字的字符
[a-z] 匹配a~z之间的单个字母的字符
[A-Z] 匹配A~Z之间的单个字母的字符
[abc] 匹配a、b、c三个字符中的任意一个字符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转义字符

在Linux中,提供了转义字符来处理特殊的输入数据。
常用的转义字符如下:

转义字符 作用
\ 【转义单个字符】反斜杠后面的变量变为单纯的字符,如\$在这里插入图片描述
‘’ 【转义字符串】单引号,其中的变量变为单纯的字符串,如’\$$num’在这里插入图片描述
“” 【不转义字符串】双引号,保留其中的变量属性,不进行转义在这里插入图片描述
`` 反引号,返回反引号中命令的结果wc -l readme.txt在这里插入图片描述

环境变量

1、在Linux中,变量是计算机系统用于保存可变值的数据类型。一般都是大写的。使用变量时要加$。而环境变量,是用来定义系统运行环境的一些参数。
2、可通过env命令查询系统的环境变量。也可以和我这样通过命令env | cut -d= -f1 | more翻页查看环境变量名
在这里插入图片描述
在这里插入图片描述
3、PATH环境变量介绍
可通过以下两种方式查看PATH变量的值
在这里插入图片描述
在这里插入图片描述
可以看到,PATH的值是5个目录。
PATH的作用:告诉Bash解释器(Shell解释器的一种)待执行的命令可能存放在哪个目录,然后Bash解释器就会逐个目录查找该命令,找到了,就执行该命令。
可以修改PATH的值,如添加目录
在这里插入图片描述
4、命令的执行步骤

  • 判断命令是否以绝对路径或者相对路径执行,是的话,直接执行。
  • 若不是,则检查命令是否是“别名命令”,是的话,也直接执行。
    在这里插入图片描述
    定义别名alias 别名=命令
    取消别名unalias 别名
  • 若不是,则检查命令是内部命令还是外部命令。若是内部命令则直接执行。
    在这里插入图片描述
  • 若是外部命令,则在PATH环境变量所对应的目录中查找相应的命令名,找到再执行。否则不执行该命令。

注意:若PATH环境变量所对应的目录有根目录,则若是在根目录中存在与某些命令同名的木马文件,则在执行命令的时候即执行了这些木马文件,故不建议将根目录添加到PATH环境变量中。

5、自定义变量
用户可以自定义变量,通常用大写字母定义。自定义的变量可以是局部的,也可以是全局的。
局部变量:创建的用户可以使用,其他用户不能使用。
全局变量:所有用户都能使用。【可通过export 变量名将局部变量提升为全局变量】【可能由于权限不足导致普通用户无法使用】
用户可以通过变量名 = 变量值定义变量
在这里插入图片描述

在学习完本节内容后,结合linux常用命令,已经能够理解并写出较为复杂的命令了,加油,熊博主!!!

发布了24 篇原创文章 · 获赞 8 · 访问量 5680

猜你喜欢

转载自blog.csdn.net/weixin_36522099/article/details/104380838