• shell编程之重定向


    标准输入,输出和错误
    ---------------------------------
    文件文件                描述符
    ---------------------------------
    输入文件—标准输入       0
    输出文件—标准输出       1
    错误输出文件—标准错误   2

    1.标准输出和标准错误输出重定向
    command > filename      把标准输出重定向到一个新文件中

    command >> filename      把标准输出重定向到一个文件中(追加)
    command 1 > fielname      把标准输出重定向到一个文件中
    command > filename 2>&1    把标准输出和标准错误一起重定向到一个文件中
    command 2 > filename     把标准错误重定向到一个文件中
    command 2 >> filename     把标准输出重定向到一个文件中(追加)
    command >> filename 2>&1   把标准输出和标准错误一起重定向到一个文件中(追加)

    其中2>&1表示重定向stderr到stdout. 将错误消息的输出, 发送到与标准输出所指向的地方.

    2.标准输入重定向

    command < filename >filename2   把command命令以filename文件作为标准输入,以filename2文件作为标准输出
    command < filename    把command命令以filename文件作为标准输入
    command << delimiter   把从标准输入中读入,直至遇到delimiter分界符

    例如

    [root@localhost shell]# wc<<EOF
    > 123
    > test  90
    > sds
    > sdjisjdis
    > EOF
          4       5      27

    3.管道

    利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。下面来看看管道是如何在构造一条Linux命令中得到应用的。

    1.利用一个管道
    # rpm -qa|grep licq

    这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
    .利用多个管道

    # cat /etc/passwd | grep /bin/bash | wc -l


    这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。

  • 相关阅读:
    Tomcat的安装配置与JavaWeb入门教程
    傅立叶变换系列(一)傅立叶系列的由来
    剑指Offer(四):重建二叉树
    《C++数据结构-快速拾遗》 手写链表
    《C++数据结构-快速拾遗》 基础常识
    《机器学习实战》线性回归
    剑指Offer(三):从尾到头打印链表
    博客美化操作
    偏差、方差和噪声的权衡关系
    《机器学习实战》AdaBoost算法(手稿+代码)
  • 原文地址:https://www.cnblogs.com/liuweilinlin/p/3242244.html
Copyright © 2020-2023  润新知