流和输出重定向

Tuesday, March 17, 2020

重定向到文件

> :重定向到新的文件。
cut -d , -f 1 notes.csv > 1.txt
若文件不存在,则新建一个文件,若文件存在,就会把源文件内容覆盖(清楚原有内容,再写入)。

既不想将命令输出显示在终端,又不想存储到文件中,Linux中有个叫“黑洞”的文件,/dev/null

>>:重定向到文件末尾,追加文件内容

重定向错误输出

stdin:标准输入流。文件描述符为0
stdout:标准输出流。文件描述符为1
stderr:标准错误输出流,文件描述符为2

文件描述符是一个索引值,指向操作系统内核为每一个进程所维护的该进程打开文件的记录表。
window中叫做”句柄“,handle。

>>>只能将标准输出重定向到文件,并不能将标准错误输出重定向到文件。
2>,标准错误输出的文件描述符是2,重定向标准错误输出。

比如:cat 1.csv > results.txt 2> error.log
若1.csv这个文件存在,将其内容写到results.txt中,不存在将错误写入到error.log文件中。

2>> 用于将标准错误输出重定向到文件末尾。

2>&1 :合并输出,将标准错误输出重定向到与标准输出相同到地方。
比如:
cat test.csv > results.txt 2>&1
cat test.csv » results.txt 2>&1
不可以写成 2»&1.

  • 2>
  • 2>&1
LinuxShell

输入重定向和管道

数据处理天下无敌

comments powered by Disqus