利用重定向可以将输入改为文件,或者将输出重新定向到其他设备或文件中。
Linux Shell 重定向分为两种,输入重定向即改变标准的默认系统键盘输入,输出重定向即改变默认的系统显示器输出。

1、文件描述符

在 Linux 中一切皆文件,包括标准输入设备(键盘)和标准输出设备(显示器)在内的所有计算机硬件都是文件。为了表示和区分已经打开的文件,Linux 会给每个文件分配一个 ID,这个 ID 就是一个整数,被称为文件描述符(File Descriptor)。
image.png
Linux 程序在你执行任何形式的 I/O 操作时,其实都是在对一个文件描述符进行读取或写入,一个文件描述符只是一个打开的文件相关联的整数,在其背后就是硬盘上一个普通文件或管道,键盘,显示器,或是一个网络链接等。
image.png

2、输入重定向

懒得看。。。

3、输出重定向

多数应用场景为将内容输出到文件

1、标准输出重定向
  1. - **覆盖**方式:command > file
  2. - **追加**方式:command >> file

2、错误输出重定向:绑定标准错误输出文件描述符 2
  - **覆盖**方式:command 2> file        # 2> 中间不能有空白
  - **追加**方式:command 2>> file        # 2>中间不能有空白

3、全部重定向

使用输出重定向分为标准输出与错误输出,将两者都重定向到某文件使用可以使用 &>