zoukankan      html  css  js  c++  java
  • linux系统中输入输出重定向 0<、<、1>、>、2>、1>>、>>、2>>、&>、>&、&>>、2>&1、<<

    1、标准输入重定向0,通常省略;标准输出重定向1,通常省略;标准错误输出重定向2,不能省略

    创建测试数据

    [root@linuxprobe test]# echo 'this is a test!' > a.txt
    [root@linuxprobe test]# ls
    a.txt
    [root@linuxprobe test]# cat a.txt
    this is a test!

    2、标准输入重定向 0<、<  ,两者相同,0和<通常省略

    [root@linuxprobe test]# cat a.txt
    this is a test!
    [root@linuxprobe test]# cat 0< a.txt
    this is a test!
    [root@linuxprobe test]# cat < a.txt
    this is a test!
    [root@linuxprobe test]# tr "a" "x" a.txt  ## tr替换a为x,没有输入重定向则报错
    tr: extra operand ‘a.txt’
    Try 'tr --help' for more information.
    [root@linuxprobe test]# tr "a" "x" 0< a.txt ## 同上
    this is x test!

    3、标准输出重定向  1>、>,清空原始文件,两者相同,1通常省略;1>>、>>表示追加输出

    [root@linuxprobe test]# cat a.txt 1> b.txt ##标准输出 
    [root@linuxprobe test]# cat b.txt
    this is a test!
    [root@linuxprobe test]# cat a.txt > c.txt ##标准输出
    [root@linuxprobe test]# cat c.txt
    this is a test!
    [root@linuxprobe test]# cat a.txt 1>> b.txt ## 标准输出追加
    [root@linuxprobe test]# cat b.txt
    this is a test!
    this is a test!
    [root@linuxprobe test]# cat a.txt >> c.txt ## 标准输出追加
    [root@linuxprobe test]# cat c.txt
    this is a test!
    this is a test!

    3、标准错误输出重定向 2>(清空原始文件)、2>>(追加至原始文件)  

    [root@linuxprobe test]# rm b.txt c.txt
    [root@linuxprobe test]# ls
    a.txt
    [root@linuxprobe test]# ll -h a.txt > b.txt ## 标准输出
    [root@linuxprobe test]# ls
    a.txt  b.txt
    [root@linuxprobe test]# cat b.txt
    -rw-r--r--. 1 root root 16 Oct  4 22:27 a.txt
    [root@linuxprobe test]# ll -h c.txt > d.txt  ## 标准输出,d.txt并不记录错误输出信息
    ls: cannot access c.txt: No such file or directory
    [root@linuxprobe test]# ls
    a.txt  b.txt  d.txt
    [root@linuxprobe test]# cat d.txt  ## d.txt为空
    [root@linuxprobe test]# ll -h c.txt 2> e.txt  ## 标准错误输出重定向
    [root@linuxprobe test]# cat e.txt   ##e.txt记录错误信息
    ls: cannot access c.txt: No such file or directory
    [root@linuxprobe test]# ll -h c.txt 2>> e.txt  ##标准错误输出追加
    [root@linuxprobe test]# cat e.txt
    ls: cannot access c.txt: No such file or directory
    ls: cannot access c.txt: No such file or directory

    4、同时输出标准输出冲定性和标准错误输出重定向 &>、>&、>file 2>&1(以上三者相同,同时记录标准输出和标准错误输出)、&>>、>>file 2>&1(相同,标准输出和标准错误输出追加重定向)

    [root@linuxprobe test]# ls
    a.txt
    [root@linuxprobe test]# cat a.txt b.txt &> c.txt ## 标准输出和标准错误输出重定向
    [root@linuxprobe test]# cat c.txt
    this is a test!
    cat: b.txt: No such file or directory
    [root@linuxprobe test]# cat a.txt b.txt >& d.txt  ## 标准输出和标准错误输出重定向
    [root@linuxprobe test]# cat d.txt
    this is a test!
    cat: b.txt: No such file or directory
    [root@linuxprobe test]# cat a.txt b.txt > e.txt 2>&1  ## 同上
    [root@linuxprobe test]# cat e.txt
    this is a test!
    cat: b.txt: No such file or directory
    [root@linuxprobe test]# cat c.txt
    this is a test!
    cat: b.txt: No such file or directory
    [root@linuxprobe test]# cat a.txt b.txt &>> c.txt  ## 标准输出和标准错误输出追加重定向
    [root@linuxprobe test]# cat c.txt
    this is a test!
    cat: b.txt: No such file or directory
    this is a test!
    cat: b.txt: No such file or directory
    [root@linuxprobe test]# cat d.txt
    this is a test!
    cat: b.txt: No such file or directory
    [root@linuxprobe test]# cat a.txt b.txt >> d.txt 2>&1 ## 同上
    [root@linuxprobe test]# cat d.txt
    this is a test!
    cat: b.txt: No such file or directory
    this is a test!
    cat: b.txt: No such file or directory

    5、<< 表示分界符,从标准输入读入,遇到分界符停止 

    [root@linuxprobe test]# ls
    [root@linuxprobe test]# cat << EOF > a.txt  ## 设定终止符为EOF,遇到EOF则停止,标准输出至a.txt
    > aaaa
    > bbbb
    > cccc
    > EOF
    [root@linuxprobe test]# ls
    a.txt
    [root@linuxprobe test]# cat a.txt
    aaaa
    bbbb
    cccc
  • 相关阅读:
    Silverlight DataGrid 获取 Row 左键双击事件
    数据结果集拼接到一行
    程序“[6040] iisexpress.exe”已退出,返回值为 0 (0x0)。
    新手用WPF山寨QQ管家7.6(二)
    风向十六方位图和温度湿度图
    新手向使用XAML画出Win8风格图标的照相机,小姐你相机~~
    新手用WPF山寨QQ管家7.6(一)
    实验一
    实验5
    实验4
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/13768748.html
Copyright © 2011-2022 走看看