• 数据流重定向以及管道命令


    我们一般执行一个命令的话,执行结果都会默认直接输出到屏幕上,数据流重定向呢就是将此类信息

    传送到其他的文件或者设备中去,请看例子:

    原本ll命令执行之后,屏幕上回显示该目录下所有文件的信息,但当我们执行 ll > show 的话,

    就会将ll命令的执行结果输出到当前目录下的show文件中去(如果该文件不存在就创建它),后续

    cat show 这个命令也证实了这一点。

    1.命令执行的过程

    </<<                                         //标准输入,代码为0
    >/>>                                         //标准输出,代码为1,两个符号为数据累加,一个符号为覆盖
    2>/2>>                                       //错误输出,代码为2,两个符号为数据累加,一个符号为覆盖

     2.管道命令(|)

    ①less命令

    通常我们都会遇到一个问题,比如ll一个目录的时候,如果这个目录下有很多文件/目录,那标准输出到屏幕

    上的信息瞬间将屏幕填满了,直接就看不到第一行

    此时,我们可以通过 ll | less,使得标准输出的信息可以翻页显示:

    此时,上下键可以使得屏幕滚动显示!

    ②cut命令

    echo $PATH | cut -d ':' -f 3               //对于$PATH变量以:为分隔符,取第三项
    echo $PATH | cut -d ':' -f 3,5             //对于$PATH变量以:为分隔符,取第三项和第五项
    
    export | cut -c 12-                        //以字符为单位取出固定字符区间

    ③grep命令

    last | grep [options] 'str' filename                   //从filename文件中找有字符串str的行
    
    -a                                                     //将binary文件以text文件的方式查找数据
    -c                                                     //计算找到“str”的次数
    -i                                                     //忽略大小写
    -n                                                     //输出行号
    --color=auto                                           //将关键字加上颜色显示

    ④其他

    cat /etc/passwd | sort                           //排序
    cat /etc/passwd | sort | uniq [-ci]              //重复数据仅列出一个,c计数,i忽略大小写
    cat /etc/passwd | wc [-lwm]                      //显示文件里有多少行、字、字符

    ⑤tee命令

    同时输出到屏幕和文件中

    ls | tee show | more                      //将ls输出的信息存一份到show文件(后续再存的话会覆盖)
    ls | tee -a show | more                      //将ls输出的信息存一份到show文件(后续再存的话会累加)

  • 相关阅读:
    PHP标准库 (SPL) 笔记
    PHP反射
    PHPer书单
    深入理解面向对象——六大基本原则
    Session自定义存储及分布式存储
    06- Shell脚本学习--其它
    05- Shell脚本学习--函数
    04- Shell脚本学习--条件控制和循环语句
    03- Shell脚本学习--字符串和数组
    02- Shell脚本学习--运算符
  • 原文地址:https://www.cnblogs.com/eco-just/p/9576611.html
Copyright © 2020-2023  润新知