Linux IO重定向


Linux 命令默认从标准输入设备(stdio)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备是键盘。标准输出设备是终端(显示器)。

一般情况下,每个命令运行时都会打开3个文件:

  • 标准输入文件(stdin):stdin的文件描述符为0。linux程序默认从stdin读取数据
  • 标准输出文件(stdout):stdout的文件描述符为1。linux程序more相stdout输出数据。
  • 标准错误文件(stderr):stderr的文件描述符为2。linux程序会向stderr流中写入错误信息。

输出输出重定向
可用重定向格式
/dev/null文件
/dev/null 是一个特殊的文件,写入到它内部的内容都会被丢弃。

示例:

$ date > date.txt  #将date命令的结果重定向到文件date.txt
$ ll >> date.txt   #将ll命令的结果追加到文件date.txt
$ cat < date.txt   #将cat命令的输入重定向到文件date.txt。(即将文件date.txt的内容作为cat的参数)
$ cat < date.txt >date2.txt #将文件date.txt的内容重定向到文件date2.txt中
$ cat << EOF    #将从键盘输入的字符串打印到显示器,直到输入EOF为止
$ ./test 2 > result.txt   #将执行脚本test的错误信息重定向到文件result
$ ./test >> result.txt 2>&1  #将执行脚本test的错误信息和输出信息以追加的方式重定向到文件result.txt

本文永久更新链接地址

相关内容