6.1 I/O重定向
大多数进程都有0.1.2这3个文件描述符。0表示标准输入,可以理解为键盘输入。1表示标准输出,输出到终端。2表示标准错误,输出到终端。3及以上为常规文件的描述符。
date命令在默认情况下将输出结果显示在终端,此时文件描述符为1.现在改变输出的方向,从终端改为date.txt文件,这个行为就叫作重定向。
改变描述符为2的文件的输出方向,date命令是正确的,执行结果在终端中显示。
cat命令默认文件描述符为0,输入重定向把键盘输入改为/etc/hosts文件输入。
6.1.1 输出重定向
输出重定向分为正确输出和错误输出。
正确输出:1>,1>>,等价于>,>>,1可省略。
错误输出:2>,2>>。
其中,“>"表示覆盖,”>>"表示追加。
以下是例题:
【例6-1】输出重定向(覆盖)
【例6-2】输出重定向(覆盖)
【例6-3】错误输出重定向
【例6-4】正确结果与错误结果都输出到相同位置
【例6-5】正确结果与错误结果都输出重定向到相同的位置
【例6-6】正确结果保留在文件list.txt,错误结果丢到/dev/null
【例6-7】使用grep命令过滤root,没有改变输入端,默认为键盘,接着把输入重定向到/etc/passwd
【例6-8】使用dd命令从/dev/zero中读取数据并写入到file01.txt文件,每次写入1MiB,一共写入2次。
【例6-9】使用at命令创建一个计划任务,从现在开始5分钟后创建用户linux,按组合键Ctrl+d结束。
【例6-10】利用重定向建立多行文件(命令行)。
【例6-11】利用重定向建立多行文件(脚本)。
【例6-12】在脚本中利用重定向打印消息。
在编写脚本时,将cat命令的输入重定向,输出不做修改。
【例6-13】多条命令输出重定向。
如果需要将两条命令输出都重定向,则需要添加括号。
标签:11,输出,重定向,错误,文件,命令,描述符,内容,课堂 From: https://www.cnblogs.com/old-good-wang/p/17817906.html