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

记得收藏哟!
现在为止,我已经详解了数十个常用的 Linux 系统命令,如果不能把这些命令进行组 合使用,则无法提升工作效率。
这章首先讲解与文件读写操作有关的重定向技术的 5 种模式 —标准覆盖输出重定向、标准追加输出重定向、错误覆盖输出重定向、错误追加输出重定 向以及输入重定向,让读者通过实验切实理解每个重定向模式的作用,解决输出信息的保存等问题。

1.输入输出重定向
输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到 屏幕的数据信息写入到指定文件中。在
→_→ 标准输入重定向(STDIN,文件描述符为 0):默认从键盘输入,也可从其他文件或命 令中输入。
→_→ 标准输出重定向(STDOUT,文件描述符为 1):默认输出到屏幕。
→_→ 错误输出重定向(STDERR,文件描述符为 2):默认输出到屏幕。

输入重定向中用到的符号及其作用 
  命令 < 文件 将文件作为命令的标准输入
  命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
  命令 < 文件 1 > 文件 2 将文件 1 作为命令的标准输入并将标准输出到文件 2

输出重定向中用到的符号及其作用 
  命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
  命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
  命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
  命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
  命令 >> 文件 2>&1  或 命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容 的后面) 

我们来小试牛刀一把:
记得收藏哟!
通过标准输出重定向将man vim命令原本要输出到屏幕的信息 写入到文件1.txt中,然后显示 1.txt文件中的内容。

然后再通过追加写入模式向文件再写入一次数据:

echo "Welcome to https://520.iloveyour.vip" >1.txt  //覆盖写入

echo "追加内容" >> 1.txt  //追加写入

bash xxx 2>> 1.txt  //错误输出重定向

2.管道命令符
管道命令符就是“|”这个符号!按下键盘上的 Shift+键即可输入管道符,,其执行格式为“命令 A | 命令 B”。 其作用是把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命 令的标准输入

3.命令行的通配符
在通配符中星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配 0~ 9 之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配 a、b、c 三个字符中的任意一个字符。

4.常用的转义字符

→_→ 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。 
→_→ 单引号(''):转义其中所有的变量为单纯的字符串。 
→_→ 双引号(""):保留其中的变量属性,不进行转义处理。 
→_→ 反引号(``):把其中的命令执行后返回结果。

小牛试刀:我们先定义一个名为 number 的变量并赋值为 3,然后输出以双引号括起来的字符串与变量信息:
记得收藏哟!

number=3
echo "number is $number"

如果只需要某个命令的输出值时,可以像命令这样,将命令用反引号括起来,达到预 期的效果。例如,将反引号与 cat /etc/redhat-release 命令结合,然后使用 echo 命令来查看本机的 Linux 版本

echo `cat /etc/redhat-release`

备注一下,是``号,不是''号,要注意!!!!

5.重要的环境变量
变量是计算机系统用于保存可变值的数据类型。。在 Linux 系统中,变量名称一般都是大 写的,这是一种约定俗成的规范。我们可以直接通过变量名称来提取到对应的变量值。Linux 系统中的环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录、邮件存放位置等。
简单来说,命令在 Linux 中的 执行分为 4 个步骤。

 第一步::判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话
则直接执行。 
  第二步::Linux 系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令
名称来替换原本的命令名称。
  第三步 :Bash 解释器判断用户输入的是内部命令还是外部命令。
  第四步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作PATH,可
以简单地把它理解成是“解释器的小助手”,作用是告诉 Bash 解释器待执行的命令可能存放 的位置,然后 Bash 解释器就会乖乖地在这些位置中逐个查找。

Linux 系统中最重要的 10 个环境变量

HOME 用户的主目录(即家目录)
 SHELL 用户在使用的
 Shell 解释器名称
 HISTSIZE 输出的历史命令记录条数
 HISTFILESIZE 保存的历史命令记录条数
 MAIL 邮件保存路径
 LANG 系统语言、语系名称
 RANDOM 生成一个随机数字
 PS1 Bash 解释器的提示符
 PATH 定义解释器搜索用户执行命令的路径
 EDITOR 用户默认的文本编辑器 
Last modification:October 13th, 2019 at 02:15 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment