• Shell命令(2)——文件描述符和重定向符


    文件描述符

    1. stdin:标准输入,接收鼠标、键盘或其他输入设备的输入信息,文件描述符是1
    2. stduot:输出所有的正常输出结果,文件描述符是2
    3. stderr:输出所有错误信息,文件描述符是3

    重定向符

    1. “>":使用方法,“command > file",进程接受标准输入后,该重定向符使得标准输出改变方向,不输出到屏幕,而是输出到一个文件。标准错误输出依然不变,默认输出到屏幕或相应的设备。另外,若文件已存在,则原有内容就会被擦除。例如:

    2. ”>>" :与上面一个类似,只是在写入文件时,不将文件内容清除,而是在后面追加。目标文件不存在时,则会创建该文件。
    3. ">&":1,2均为标准输出的重定向符。若要将错误信息输出到文件中,就要用到">&"重定向。这个命令在写入文件也会清空原有内容。
    4. ">>&“:与上一个类似,只是以追加的方式写入文件
    5. "<":"command < file ",进程就会从文件中获取输入信息,而不是从屏幕上输入。
    6. "<<":重定向符的一种,其后面跟的是定界符。例如:
    7. "command %n%c file”:command 输出重定向的命令 ,%n 文件描述符,默认值为1,%c 重定向符 ,file 目标文件。
    8. 几个复杂的重定向举例:
      1. 将标准错误重定向为标准输入 command 2>&1
      2. 第一个文件既作为标准输入也作为标准输出 command <> file
      3. 把文件描述符x作为标准输入 command <&x
      4. 把标准输出重定向到文件描述符x中 command >&m
      5. 关闭标准输出 command 1>&-
      6. 关闭标准错误输出 command 2>&-
      7. 关闭标准输入 command 0<&-
  • 相关阅读:
    数据库+mysql
    网络并发项目
    网络编程 IO模型
    并发编程之死锁、进程池、协程
    类的使用
    面向对象—多态,反射
    面向对象-三大特性
    继承与派生
    面向对象
    模块进阶(二)
  • 原文地址:https://www.cnblogs.com/bacazy/p/4029659.html
Copyright © 2020-2023  润新知