管道符、重定向与环境变量

限于喜欢 提交于 2019-11-28 04:13:09

一、输入输出重定向

输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。

1、重定向分类

标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。

标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。

错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。

2、输入重定向中符号及其作用

符号

作用

命令 < 文件

将文件作为命令的标准输入

命令 << 分界符

从标准输入中读入,直到遇见分界符才停止

命令 < 文件1 > 文件2

将文件1作为命令的标准输入并将标准输出到文件2

3、输出重定向中符号及其作用

符号

作用

命令 > 文件

将标准输出重定向到一个文件中(清空原有文件的数据)

命令 2> 文件

将错误输出重定向到一个文件中(清空原有文件的数据)

命令 >> 文件

将标准输出重定向到一个文件中(追加到原有内容的后面)

命令 2>> 文件

将错误输出重定向到一个文件中(追加到原有内容的后面)

命令 >> 文件 2>&1 

命令 &>> 文件

将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

二、| 管道符

作用:把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。

格式:命令1 | 命令2 | ….| 命令n

备注:在修改密码时:echo "密码" | passwd --stdin 用户名

 

三、命令行通配符

符号

含义

*

匹配零个或多个字符

匹配单个字符

【0-9】

匹配0~9之间的单个数字的字符

【abc】

匹配a、b、c三个字符中任意一个字符

四、转义符

转义符

含义

反斜杠\

使反斜杠后面的一个变量变为单纯的字符串。

单引号''

转义其中所有的变量为单纯的字符串。

双引号""

保留其中的变量属性,不进行转义处理。

反引号``

把其中的命令执行后返回结果。

五、环境变量

1、alias命令

作用:创建一个属于自己的命令别名;且可以查看别名命令是由什么源命令定义的。

格式:alias 别名=命令

2、unalias命令

作用:取消别名命令

格式:unalias 别名

3、Linux命令执行步骤

①以绝对路径或相对路径的方式输入命令;

②是否为"别名命令",即用一个自定义的命令名称来替换原本的命令名称;

③输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行而用户在绝大部分时间输入的是外部命令,这些命令交由步骤4继续处理。可以使用"type命令名称"来判断用户输入的命令是内部命令还是外部命令;

④多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可以简单地把它理解成是"解释器的小助手",作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖地在这些位置中逐个查找。PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找。

4、Linux重要的环境变量

使用env命令可以查看Linux系统中所有的环境变量。

变量名称

作用

HOME

用户的主目录(即家目录)

SHELL

用户在使用的Shell解释器名称

HISTSIZE

输出的历史命令记录条数

HISTFILESIZE

保存的历史命令记录条数

MAIL

邮件保存路径

LANG

系统语言、语系名称

RANDOM

生成一个随机数字

PS1

Bash解释器的提示符

PATH

定义解释器搜索用户执行命令的路径

EDITOR

用户默认的文本编辑器

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!