zoukankan      html  css  js  c++  java
  • Shell--数据流重定向

    数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方

    标准

    1、标准输入(stdin:代码为0,使用<<<

    2、标准输出(stdout:代码为1.,使用>>>

    3、标准错误输出(stderr:代码为2,使用2>2>>

    Standard output standard error output

    简单地说,标准输出值的是命令执行所回传的正确的信息,而标准错误输出可以理解为命令执行失败后,所回传的错误信息

    范例:

    正确与错误数据写入两个不同的文件中

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc > list_right 2> list_error

    正确与错误数据写入同一个文件中

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc > list 2>&1

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc &> list

    /dev/null垃圾桶黑洞设备与特殊写法

    如果我们知道错误信息会发生,所以要将错误信息忽略掉而不显示或存储呢?这个时候黑洞设备/dev/null就很重要了,这个/dev/null可以吃掉任何导向这个设备的信息

    范例:

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc 2> /dev/null

    Standard input:<<<

    以最简单的说法来说,就是将原本需要有键盘输入的数据改有文件内容来替代,下面我们由cat命令操作来了解一下什么叫做键盘输入吧

    范例:利用cat命令来创建一个文件的简单流程

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile

    testing

    cat file test

    <==这里按下【ctrl+d来离开

    下面用纯文本文件代替键盘输入

    范例:

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile < ~/.bashrc

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# ll catfile ~/.bashrc

    -rwxrwxrwx 1 root root 3106 Jun 24 16:05 catfile*

    -rw-r--r-- 1 root root 3106 Feb 20  2014 /root/.bashrc

    理解<之后,我们来看看<<这个符号,它代表的是结束输入的意思,举例来说,我们要用cat直接将输入的信息输出到catfile中。且当由键盘输入eof时,该次输入就结束

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile << "eof"

    > this is a test

    > ok now stop

    > eof

    <==输入eof这个关键字,立刻就结束而不需要输入ctrl+d

    root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat catfile

    this is a test

    ok now stop

    <==只有这两行,不会存在关键字那一行

    我们总结一下哪些情况需要使用命令输出重定向:

    1、屏幕输出的信息很重要,而且我们需要将它存下来的时候

    2、后台执行中的程序,不希望她干扰屏幕正常的输出结果时

    3、一些系统的例行命令的可能已知错误信息时,想以2>/dev/null”将它丢掉时

    4、错误信息与正确信息需要分别输出时

  • 相关阅读:
    MySQL的char和varchar针对空格的处理
    单KEY业务,数据库水平切分架构实践
    接口测试学习笔记1-接口测试的用例设计
    Robot Framework源码解析(2)
    Robot Framework 源码解析(1)
    Python学习笔记1 -- TypeError: 'str' object is not callable
    OKHttp源码学习同步请求和异步请求(二)
    OKHttp源码学习--HttpURLConnection HttpClient OKHttp Get and post Demo用法对比
    Javapoet源码解析
    Universal-Image-Loader源码解解析---display过程 + 获取bitmap过程
  • 原文地址:https://www.cnblogs.com/zhaosunwei/p/7073705.html
Copyright © 2011-2022 走看看