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

    20.11.30

    数据流重定向

    • 标准输入  (stdin) :代码为 0 ,使用 < 或 << ;
    • 标准输出  (stdout):代码为 1 ,使用 > 或 >> ;
    • 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

    • 1> :以覆盖的方法将『正确的数据』输出到指定的文件或装置上;

    • 1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上;

    • 2> :以覆盖的方法将『错误的数据』输出到指定的文件或装置上;

    • 2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;

    • 0<:

        用 stdin 取代键盘的输入以创建新文件的简单流程
        [root@www ~]# cat > catfile < ~/.bashrc
        [root@www ~]# ll catfile ~/.bashrc
        -rw-r--r-- 1 root root 194 Sep 26 13:36 /root/.bashrc
        -rw-r--r-- 1 root root 194 Feb  6 18:29 catfile
        # 注意看,这两个文件的大小会一模一样!几乎像是使用 cp 来复制一般!
      
    • 0<<:

      [root@www ~]# cat > catfile << "eof" <==这里“eof”代表结束的输入字符
      > This is a test.
      > OK now stop
      > eof  <==输入这关键词,立刻就结束而不需要输入 [ctrl]+d 
      
      [root@www ~]# cat catfile  <==我要用 cat 直接将输入的信息输出到 catfile 中, 且当由键盘输入 eof 时,该次输入就结束
      This is a test.
      OK now stop     <==只有这两行,不会存在关键词那一行!
      
      • 屏幕输出的信息很重要,而且我们需要将他存下来的时候;
      • 背景运行中的程序,不希望他干扰屏幕正常的输出结果时;
      • 一些系统的例行命令 (例如写在 /etc/crontab 中的文件) 的运行结果,希望他可以存下来时;
      • 一些运行命令的可能已知错误信息时,想以『 2> /dev/null 』将他丢掉时;
      • 错误信息与正确信息需要分别输出时。

    • /dev/null 垃圾桶黑洞装置与特殊写法

      ls -a > /dev/null:将该命令输出内容丢到垃圾桶~


    将命令的正确错误数据全部写入名为 list 的文件中
    [dmtsai@www ~]$ find /home -name .bashrc > list 2> list  <==错误
    [dmtsai@www ~]$ find /home -name .bashrc > list 2>&1     <==正确
    [dmtsai@www ~]$ find /home -name .bashrc &> list   
    

    命令运行的判断依据: ; , &&, ||

    • cmd ; cmd (不考虑命令相关性的连续命令下达)

    • 若前一个命令运行的结果为正确,在 Linux 底下会回传一个 $? = 0 的值

    命令下达情况 说明
    cmd1 && cmd2 1. 若 cmd1 运行完毕且正确运行($?=0),则开始运行 cmd2。 2. 若 cmd1 运行完毕且为错误 ($?≠0),则 cmd2 不运行。
    cmd1 || cmd2 1. 若 cmd1 运行完毕且正确运行($?=0),则 cmd2 不运行。 2. 若 cmd1 运行完毕且为错误 ($?≠0),则开始运行 cmd2。

  • 相关阅读:
    13,发布CRM
    12,nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    11.2,nginx负载均衡实验
    11.1,nginx集群概念
    11,nginx入门与实战
    10,python开发之virtualenv与virtualenvwrapper
    9.5web service基础知识
    9.4python开发之virtualenv与virtualenvwrapper
    9.3centos7安装python3 以及tab补全功能
    Google 浏览器被劫持怎么办?
  • 原文地址:https://www.cnblogs.com/ananing/p/14064059.html
Copyright © 2011-2022 走看看