shell编程-输入/输出重定向(十一)

linux中文件描述符
  linux跟踪打开文件,而分配的一个数字,通过这个数字可以实现对文件的读写操作
  用户可以自定义文件描述符范围是:3-max,max跟用户的ulimit –n 定义数字有关系,不能超过最大值
  在执行shell命令时,会默认3个文件描述符,分别是:
    0 :通常是标准输入(STDIN)
    1 :是标准输出(STDOUT)
    2 :是标准错误输出(STDERR)
  执行shell命令中,会先有输入然后才会有输出。输入可以从键盘、文件中获得,命令执行成功后会将结果输出到系统默认的位置(默认位置是屏幕)
  而重定向则是改变输入输出的默认位置


重定向命令格式
  command > file:将输出重定向到 file
  command < file:将输入重定向到 file
  command >> file:将输出以追加的方式重定向到 file
  n > file:将文件描述符为 n 的文件重定向到 file
  n >> file:将文件描述符为 n 的文件以追加的方式重定向到 file
  n >& m:将输出文件 m 和 n 合并
  n <& m:将输入文件 m 和 n 合并
  << tag:将开始标记 tag 和结束标记 tag 之间的内容作为输入


输出重定向
  使用“>”时,输出重定向会覆盖文件内容,如果不希望文件内容被覆盖,可以使用 ”>> “
  示例

  shell编程-输入/输出重定向(十一)_第1张图片


输入重定向
  将需要从键盘获取输入的命令会转移到文件读取内容
  示例

  shell编程-输入/输出重定向(十一)_第2张图片

  将num.sh中的数字重定向到sort命令的输入端,sort对这些数字排序后输出


标准错误进行重定向
  command > file 2>&1:将标准输出文件(stdout)和 标准错误文件(stderr) 合并后重定向到 file
  command > file 2>&1:将 标准输出文件(stdout)和 标准错误文件(stderr)合并后重定向到 file
  command > /dev/null:不希望在屏幕上显示输出结果,则将输出重定向到 /dev/null

转载于:https://www.cnblogs.com/tynam/p/9569501.html

你可能感兴趣的:(shell编程-输入/输出重定向(十一))