Linux shell编程---- 管道+I/O重定向


Linux shell编程---- 管道+I/O重定向
 
 1 管道简介
     1 管道技术是Linux的一种基本的进程间通信技术,它利用先进先出排队模型来指挥进程间的通信。对于管道,我们可以形象的理解为连接两个实体的一个单向连接器
 
     2 Shell编程中管道符号是"|",命令直接利用管道进行通信的一般格式
        command1 | command2 | command3 | ... | commandn
        command1~commandn是n个命令,如果没有管道那么结果将会直接显示在Shell中,当Shell遇到管道的时候,就将输出发送下一个命令
 
 2 cat和more命令
    1 cat和more命令都是用来显示文件的内容,它们的基本格式特比较类似
       cat 选项 文件
       more 选项 文件
 
    2 cat命令的选项名称及其意义
        选项                 意义
         -a                显示文件的所有内容
         -b                由1开始对所有输出的行数编号,但对空行不编号
         -E                每一行末尾显示"$"
         -n                由1开始对所有的输出行进行编号
         -s                当遇到连续的两行以上的空行时就替换为一行空白行
         -v                不可显示的字符以可见的形式显示
 
    3 more命令的选项名称及其意义
        选项                  意义
        -num            一次显示的行数
        -f                  计算行数时,以实际的行数,而非自动换行过后的行数
        -s                 当遇到连续的两行以上的空行时就替换为一行空白行
        +num           从第num行开始显示
 
    4 cat和more命令的最大区别在于,cat命令是不提供分页功能的,但是more命令是显示超过一页的文件时提供了分页功能
 
 3 I/O重定向
    1 I/O重定向是一个过程,这个过程捕捉一个文件,命令,程序或脚本,甚至代码块的输出,然后把捕捉到的输出作为输入发送给另外一个文件,命令,程序
 
    2 文件标识符是从0开始到9结束的整数,指明了与进程相关的特定数据流的源。当Linux系统启动一个进程时,将自动为该进程打开三个文件,标准输入,标准输出,标准错误输出,分别由文件标识符0,1,2标识,该进程如果要打开其它的文件,则从整数3开始表识
 
    3 基本I/O重定向符号及其意义
              符号                           意义
        cmd1 | cmd2              管道符,将cmd的标准输出作为cmd2的标准输入
        > filename                  将标准输出写道文件filename之中
        < filename                  将文件filename的内容作为标准输入
        >> filename                将标准输出追加到filename,如果不存在则先创建一个

相关内容

    暂无相关文章