Linux 数据重定向


编号

 0       标准输入(stdin)

 1       标准输出(stdout)

 2       标准错误(stderr)


数据重定向:

当执行一个命令时,某些命令执行时会把执行成功后的结果 或执行时的进程 以及命令执行不成功的错误提示输出到终端

标准输出,标准错误默认情况下把消息输出到终端(Terminal)上来

数据重定向就是将默认输出到终端的数据,传到其他文件或设备中



使用 命令 > file     stdout 重定向 到文件


将日期输出重定向到file文件中 若不存在该文件则创建该文件

wKioL1ZO43HymgVmAACN1gM7cTI380.png


若该文件存在则覆盖该文件

wKioL1ZO5dyD8h3rAAA71gaDgKU836.png


使用 命令 >> file 追加到当前文件 而不覆盖原有文件

wKiom1ZO5xrgiKb0AABEPE9awCA885.png


注意 重定向 stdout可以阻止进程输出显示在终端上但不能阻止 stderr 错误消息输出在终端上

wKiom1ZO6deifezjAABBOcJSpkI926.png


使用 命令 2> file    stderr 重定向 到文件

wKioL1ZO6tCDYkYJAABwBVg2P18729.png


命令 2>> file 表示将 stderr 追加到 file

把stdout stderr 重定向到 /dev/null 从而将它丢弃(就是不显示了)

wKioL1ZO696zdOL3AABFHYnm77Q766.png


将 stdout stderr 同时重定向到同一文件

  1. 命令 &> file 

[student@desktop0 ~]$ find /etc -name passwd &> file

2.命令 > file 2>&1

[student@desktop0 ~]$ find /etc -name passwd > file 2>&1

注意不能想下面一样 同时重定向到同一文件可能会造成数据交叉写入 次序错乱

[student@desktop0 ~]$ find /etc -name passwd > file 2> file



将 stdout stderr 同时追加到同一文件

命令 >> file 2>&1

[student@desktop0 ~]$ find /etc -name passwd >> file 2>&1





你可能感兴趣的:(linux,数据重定向)