• 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道


    一、过滤器

    Linux中的应用工具分为三种:
    交互工具
    过滤器
    编辑器
    能够接受数据,过滤再输出的工具,称之为过滤器

    对过滤器和进程,存在着输入源与输出对象

    二、输入、输出、重定向

    输入:过滤器的数据来源

    ——标准输入stdin(0):默认是键盘

    输出:过滤器的数据去向

    ——标准输出stdout(1):默认是终端屏幕

    错误输出:报错讯息与标准输出走不同的I/O通道

    ——标准错误输出stderr(2):默认是终端屏幕

    重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向

    三、输入重定向

    使用" < "来重定向输入源

    大多数工具都会以其后的文件名为输入源

    有一些过滤器一定需要添加 < 以明确输入源

    cmmond  <  file (将原本需要键盘输入的通过文件读取)

    上面,将.pash_profile中的所有大写字符改成小写字符

    四、从当前文档输入

    使用  <<  让系统将一次键盘的全部输入,先送入虚拟的”当前文档“,然后一次性输入

    需要一对字母、符号或字符串作为起始终结标识符

    可以选择任意符号作为起始终结标识符

    五、输出重定向

    使用 > 改变数据输出目标

    例如:ls -l  > listfile

    将当前目录下的文件以长模式显示,然后写入listfile文件

    文件已有内容会被全部消除

    六、覆盖与追加

    使用 >进行输出重定向,文件的原内容会被覆盖

    ls -l > listfile

    使用 >>可以将输出追加入文件

    ls -l >> listfile

    七、错误输出重定向

    系统错误与标准输出使用的I/O管道不同

    默认情况下,系统报错会显示到终端屏幕上

    使用 2 >将错误讯息重定向到一个文件

    find / -type s 2 > /dev/null

    使用 2 >> 将错误讯息追加入一个文件

    find / -name passwd 2>> results

    八、双重输出重定向

    使用 > 2> 可以将一次操作的正确、错误输入,被单独地送到不同的地方:

    find / -perm -2 2> error > results

    使用&>将所有输入都送向同一个地方:

    find / -perm +6000 > file

    另一种方式

    九、管道

    使用 |将前一个过滤器的输出直接送入后一个过滤器的输入

    ls -l | grep pass

    允许多重管道

    注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配

    十、重定向、管道的常用范例

    ls -l | more

    分屏显示当前目录下的文件

    cat < filea > fileb

    拷贝filea到fileb

    cat file.* > file

    将数个小文件合并成一个文件


  • 相关阅读:
    iftop 安装流程
    Centos 6.5 Tengine 安装流程
    linux 查看系统进程前十
    Centos 6.5 mongodb 安装流程
    linux 磁盘查看方式
    Linux 磁盘分区及挂载
    linux 路由添加
    rsyslog 重启
    文件上传到Web服务器
    一些链接1
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469368.html
Copyright © 2020-2023  润新知