第十章 认识与学习BASH

这个章节几乎是所有所有指令列模式(command line)与未来主机维护与管理的重要基础

硬件、核心与shell

我们必须透过Shell将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作。其实壳程序(shell)只是提供用户操作系统的一个接口,因此,这个壳程序需要可以呼叫其他其他软件才好。

变量的取用与设定:echo 变量设定规则,unset

环境变量的功能

  • HOME

代表用户的家目录。

  • SHELL

告诉我们目前这个环境使用的SHELL是哪只程序

  • HISTSIZE

这个与历史命令有关,亦即是,我们曾今下达过的指令可以被系统记录下来,而记录的笔数则是由这个值来设定的。

  • MAIL

当我们使用mail这个指令在收信时,系统回去读取的邮件信箱文件

  • PATH

就是执行文件搜寻的路径啦,目录与目录中间以:分隔,由于文件的搜寻是依序由PATH的变量内的目录来查询的,所以,目录的顺序也是很重要的

  • LANG

语系数据

  • RANDOM

基本上,在Linux预设的情况中,使用大写字母来设定的变量一般为系统内定需要的变量。


数据流重导向

在这里插入图片描述
我们解析一下,按理来说,当我们使用echo命令的时候,将会将数据输出到屏幕上,但是实际上屏幕却没有打印信息,而是生成了一个b.txt文件,该文件的内容就是原本应该打印在屏幕上的信息.这里.,这些信息其实就是被劫持了(数据流重导向).

数据流重导向符号

符号 内容
> 输出导向,覆盖原本文件中的内容.
>> 输出导向,在源文件原内容后面追加新的内容.
< 输入导向
<< 输入导向,可以指定结束符号.
内容 解释
标准输入 代码为0,使用<或者<<
标准输出 代码为1,使用>或者>>
标准错误输出 代码为2,使用2>或者2>>

管线命令【|】

管线命令仅能处理经由前一个指令传来的正确资讯。
管线命令主要有两个需要主义的地方:

  • 管线命令仅会处理standard output,对于standard error output会忽略
  • 管线命令必须要能够接受来自前一个指令的资料成为standard input继续处理才行。

猜你喜欢

转载自blog.csdn.net/qq_32682177/article/details/82811260
今日推荐