七、Linux的shell的重定向
Linux系统下有个三个文件:标准输入、标准输出、标准错误输出。
标准输入:用户的shell将键盘设为默认的标准输入。
标准输出和标准错误输出:将输入的结果或者错误消息输出到屏幕上。
Linux的重定向,就是不使用系统默认的标准输入和输出,而是重新指定的。
分为:输入重定向、输出重定向、错误输出重定向。
sell是根据重定向操作符来决定重定向操作的。
输入重定向:
输入重定向用于改变命令的输入源,利用输入重定向,就是可以将一个文件的内容作为命令的输入,而不是键盘的输入。
- 输入重定向:指的是重新指定设备来代替键盘作为新的输入设备。
输入重定向的命令符:< 、<<
命令符合格式: 命令 < 文件 表示将指定文件作为命令的输入设备
命令符合格式:命令 << 文件 表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符是自定义的字符创
例一 : 命令 < 文件
cat 命令会接受标准输入设备(键盘)的输入,并显示到控制台,但如果用文件代替键盘作为输入设备,那么该命令会以指定的文件作为输入设备,并将文件中的内容读取并显示到控制台。
虽然执行结果相同,但第一行代表是以键盘作为输入设备,而第二行代码是以 /aaa.txt 文件作为输入设备。
例二:命令 << 文件
当指定了 0 作为分界符之后,只要不输入 0,就可以一直输入数据。
输出重定向:输出重定向是指将结果输入到指定的文件中,不再输入到屏幕上。
输出重定向还可以细分为标准输出重定向和错误输出重定向两种技术。
输出重定向的命令符:>、>>
命令符合格式:命令 > 文件 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,会清空原有数据,再写入新数据。
命令符合格式:命令 2> 文件 将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,会清空原有数据,再写入新数据。
命令符合格式:命令 >> 文件 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,新数据将写入到原有内容的后面。
命令符合格式:命令 2>> 文件 将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,新数据将写入到原有内容的后面。
例三:命令 > 文件
例四:命令 >> 文件
例五:命令 2> 文件
例五:命令 2>> 文件