文件输入输出的管理

1.输入输出的定义

   1)输入就是我们的键盘,鼠标和我们用这些硬件在系统只哦个录入的字符

   2)输出就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符
    输出会有两种出现:
      编号1为正确输出
      编号2为错误输出
      默认着两种输出都会被系统定向到字符设备中

2.非交互式多行录入

文件输入输出的管理

用重定向完成非交互式多行录入

cat  >file  <<END               #查看dong.sh的文件把它导入到file中

hello dong

welcome to Xi'an

END                                     #保证首尾一致可以

在我们调用sh命令不能自动运行,需要借助<<输入重定向符号进行重定向。

文件输入输出的管理

echo命令用于在shell中打印shell变量的值,或者直接输出制定的字符串。

3.如何管理输出

用student普通用户做以下实验:

>        #重定向正确输出
2>        #重定向错误输出
&>        #重定向所有输出
2>&1        #把错误输出的编号由2转换为1

      find /etc/ -name passwd    > file.out     #将passwd里面正确的输出( > )重定向到file.out中

文件输入输出的管理

    find /etc/ -name passwd    2> file.out     #将passwd里面错误的输出(2>)重定向到file.out中

文件输入输出的管理

    find /etc/ -name passwd    &> file.all     #将passwd里面全部的输出(&>)重定向到file.all中

文件输入输出的管理

   find /etc/ -name passwd    > file   2>&1    #将passwd里面错误的输出转化为正确的输出(2>&1)重定向到file中

文件输入输出的管理

"注意:从定向是会覆盖原文件内容的!!!"

文件输入输出的管理

vim westos
hello westos         ##westos文件内容
find /etc/ -name passwd  > westos
cat westos            ##原文件内容不见了,只剩下重定向passwd的正确内容

 追加:保持原文件内容不变的情况下把输出追加到文件之后

>>        ##追加正确输出
2>>        ##追加错误输出
&>>        ##追加所有输出

find /etc/ -name passwd >> westos       #将passwd的正确输出内容追加( >> )到westos中

文件输入输出的管理

find /etc/ -name passwd   2>> westos       #将passwd的错误输出内容追加( 2>> )到westos中

文件输入输出的管理

这次用追加重定向把其它内容追加到原文件内容的后面,原文件中的内容依然存在。

4.管道:把输出变成下一个程序的输入。管道是用来组合多条命令的使用的。

      ls   /bin   |   wc -l

文件输入输出的管理

"注意:通过管道后输出会变成输入,那么是无法保存在文件中的"

文件输入输出的管理

ls   /bin   |   tee   file   |   wc   -l

cat   file        ##  file中已经保存了输出

tee               ##  复制输出到指定位置