6.1I/O重定向
如果在date命令后加“>”,并指向date.txt文件,那么结果就会写入dete.txt文件。具体如下。
上述命令将date的输出结果重定向到一个普通文件。接着再打开一个终端4,将终端3的date输出结果重定向到终端4。具体如下
0表示标准输入,可以理解为键盘的输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3及以上为常规文件的描述符。
date命令在默认情况下将输出结果显示在终端,此时文件描述符为1。现在改变输出的方向,从终端改为date.txt文件,这个行为叫作重定向
[root@qfedu ~] # date 1> date.txt
6.1.1 输出重定向
输出重定向分为正确输出与错误输出。
正确输出:1>,1>> 等价于 >,>>,1可省略。
错误输出:2>,2>>。
其中,“>”表示覆盖,“>>”表示追加
输出重定向(覆盖)
[root@qfedu ~] # date 1> date.txt
输出重定向(在尾部追加)
[root@qfedu ~] # date >> date.txt
6.1.2 输入重定向
使用grep命令过滤root,没有改变输入端,默认为键盘,接着把输入重定向到/etc/passwd
加或不加"<"符号,输出结果都一样,但原理不一样的。/ect/passwd一个是作为文件,一个是作为参数。
6.1.4 Subshell
Subshell 是指圆括号里的命令会在另外的进程中执行。
如果不希望某些命令的执行对当前的Shell环境产生影响,请在Subshell中执行