51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1853|回复: 0
打印 上一主题 下一主题

1.6 管道(一个命令的输出作为另一个命令的输入)

[复制链接]

 成长值: 14041

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    跳转到指定楼层
    楼主
    发表于 2017-12-17 23:34:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        有时候,需要将一个命令的输出作为另一个命令的输入。这可以用重定向来实现,只是有些笨拙。         以下是用重定向实现的方法:
    1. $ rpm -qa > aaa
    2. $ sort < aaa
    复制代码
    rpm -qa命令可以生成已经安装的RPM包都有哪些,并重定向到aaa文件。然后第二行,执行more命令(即分页显示输出,每显示一页后停顿,按任意键继续),并且把aaa文件的内容作为输入。    同样的效果,可以用管道符|来实现,只需要以下一条命令就可以实现同样的效果。或者执行sort命令对其进行按首字母进行排序输出。
       $rpm -qa | sort | more
         部分输出如下:
    1. [root@python3 shellprogram]# rpm -qa | sort | more
    2. acl-2.2.51-12.el7.x86_64
    3. aic94xx-firmware-30-6.el7.noarch
    4. alsa-firmware-1.0.28-2.el7.noarch
    5. alsa-lib-1.0.28-2.el7.x86_64
    6. alsa-tools-firmware-1.0.28-2.el7.x86_64
    7. audit-2.4.1-5.el7.x86_64
    8. audit-libs-2.4.1-5.el7.x86_64
    9. authconfig-6.2.8-10.el7.x86_64
    复制代码
    上例输出中,还看到了管道符的嵌套,最后调用了more来分页显示。每显示一页后停顿,按任意键继续。


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2024-5-14 19:31 , Processed in 0.122112 second(s), 31 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表