重定向到文件
>
:重定向到新的文件。
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»
- 2>&1