zoukankan      html  css  js  c++  java
  • shell命令输入输出重定向

    Linux命令的执行过程

    首先是输入:stdin输入可以从键盘,也可以从文件得到

    命令执行完成:把成功结果输出到屏幕,stout默认是屏幕

    命令执行有错误:把错误也输出到屏幕上面,stderr默认也是屏幕

    文件描述符

    标准输入stdin:对应的文件描述符是0,符号是<和<<,/dev/stdin -> /proc/self/fd/0

    标准输出stdout:对应的文件描述符是1,符号是>和>>,/dev/stdout -> /proc/self/fd/1

    标准错误stderr:对应的文件描述符是2,符号是2>和2>>,/dev/stderr -> /proc/self/fd/2

    输出重定向实例

    #默认情况下,stdout和stderr默认输出到屏幕
    [root@st ~]# ls ks.cfg wrongfile
    ls: cannot access wrongfile: No such file or directory
    ks.cfg
    #标准输出重定向到stdout.txt文件中,错误输出默认到屏幕。1>与>等价
    [root@st ~]# ls ks.cfg wrongfile >stdout.txt
    ls: cannot access wrongfile: No such file or directory
    [root@st ~]# cat stdout.txt 
    ks.cfg
    #标准输出重定向到stdout.txt,错误输出到err.txt。也可以使用追加>>模式。
    [root@st ~]# ls ks.cfg wrongfile >stdout.txt 2>err.txt
    [root@st ~]# cat stdout.txt err.txt 
    ks.cfg
    ls: cannot access wrongfile: No such file or directory
    #将错误输出关闭,输出到null。同样也可以将stdout重定向到null或关闭
    # &1代表标准输出,&2代表标准错误,&-代表关闭与它绑定的描述符
    [root@st
    ~]# ls ks.cfg wrongfile 2>&- ks.cfg [root@st ~]# ls ks.cfg wrongfile 2>/dev/null ks.cfg #将错误输出传递给stdout,然后stdout重定向给xx.txt,也可以重定向给null。顺序为stderr的内容先到xx.txt,stdout后到。 [root@st ~]# ls ks.cfg wrongfile >xx.txt 2>&1 #将stdout和stderr重定向到null [root@st ~]# ls ks.cfg wrongfile &>/dev/null

    输入重定向

    #从stdin(键盘)获取数据,然后输出到catfile文件,按Ctrl+d结束
    [root@st ~]# cat >catfile
    this
    is
    catfile
    [root@st ~]# cat catfile 
    this
    is
    catfile
    #输入特定字符eof,自动结束stdin
    [root@st ~]# cat >catfile <<eof
    > this
    > is
    > catfile
    > eof
    [root@st ~]# cat catfile 
    this
    is
    catfile

    参考:http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html

  • 相关阅读:
    ANDROID笔记:通过ContentProvider得到SD卡的图片
    android:ViewPager显示Fragment(碎片)
    ANDROID笔记:使用动画替代viewpager的header
    ANDROID笔记:ListPopupWindow的使用
    ANDROID笔记:Activity的显式和隐式调用
    ANDROID笔记:Activity之间的传值
    go语言下载页面html代码(d3.js代码)
    如何使用sas proc过程步产生的结果
    福昕PDF阅读器的图章妙用
    测试成功的d3.js代码
  • 原文地址:https://www.cnblogs.com/st-jun/p/7772678.html
Copyright © 2011-2022 走看看