重定向
在Linux中,标准输入是从键盘读入数据或命令等,标准输出是将命令的结果等输出到屏幕。
类型 | 设备 | 文件路径 | 文件描述符 | 描述 |
---|---|---|---|---|
标准输入0 | 键盘 | /proc/self/fd/0 | 0 | 从键盘获得输入 |
标准输出1 | 屏幕 | /proc/self/fd/1 | 1 | 输出到屏幕 |
错误输出2 | 屏幕 | /proc/self/fd/2 | 2 | 输出到屏幕 |
但使用 Linux 终端时,经常需要将命令的输出重定向到文件或其他命令中,这时需要使用到重定向技术。
重定向是一种非常有用的技术,可以将命令的输出从标准输出流发送到文件或其他进程的输入流。
在 Linux 中有三种常见重定向方式:输出重定向、输入重定向和错误重定向。
输出重定向
将某个命令默认指向的输出文件转而指向一个文件,即使得命令输出到某个指定文件中,而不是输出到终端屏幕或终端窗口。
Linux 中使用 >
和 >>
来重定向标准输出。
输出重定向
输出重定向是将命令输出的内容写入到文件或其他进程中。
在 Linux 中,我们可以使用 >
符号来将命令的输出重定向到一个文件中。
如,下面的命令将会把 "s
命令的输出写入到 files.txt 的文件中。
ls > files.txt
若 file.txt 文件不存在,则文件将被创建;否则,文件内容将被强制覆盖。
输出追加重定向
如果想要将输出追加到文件末尾而不是覆盖它,可以使用 >>
符号。
如,下面的命令将会将 ls
命令的输出追加到 files.txt 文件的末尾:<