系统中的输入输出
我们在一个shell脚本中输入一条命令,系统首先会将命令放入内存中,然后给到cpu进行计算,最后将计算结果给到字符设备,字符设备将内容给与回显。具体如下图所示:
由图中可知,最后屏幕上的回显内容全部保存在/dev/pts/1文件中,且每条命令计算出的结果都会覆盖/dev/pts/1文件中上一条命令计算出的结果,我们可以做以下验证:
由于/dev/pts/0文件不是一个常规文件,所以我们不能直接打开查看他,为了验证我们上述结论的真实性,我们引入了管理输入输出的符号。
管理文件输入输出的符号
输出重定向
commend>file 将命令的正确输出给到file
commend2>file 将命令错误输出给到file
commend&>file 将命令的所有输出给file
实验操作如下
我们可以得出结论,每一次的/etc/pts/0都会将文件之前的内容覆盖,完成正确回显。
>, 2> ,&>
输出追加
commend>>file 将正确输出追加在文件
commend2>>file 将错误输出追加在文件
commend&>>file 将所有输出追加在文件
注意:追加并不会覆盖文件,在文件已有的内容下添加内容
具体操作如下
输入重定向
<< 首字母和尾字母相同,即停止操作
< 单行输入
具体操作如下
<<
管道的应用
管道是将前一条命令的输出变成后一条命令的输出:
commend | commend
具体操作如下