小壮学运维4--基本的输入与输出、追加、管道

        文件输入输出的管理 


1.输入输出的定义 


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

  输出:就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符

    输入会有两种出现

    编号 1为正确输出
   
编号 2为错误输出

    默认着两种输出都会被系统定向到字符设备中

&解释一下Linux系统为什么用英文字母和简单数字写代码,而不用汉字。这也是我初学时疑惑的问题,请教了之后才知道。原来汉字写的东西最后应用起来所占内存比较大,而字母和数字所写的东西最后应用起来所占内存较小。理解了吧。


对输入进行管理

交互式录入:你所做的操作时刻在与系统进行交流,这样难免会有些麻烦,尤其是对处女座的人来说,哈哈大笑大笑。这时候就出现了非交互式多行录入。

1.非交互式多行录入   

    非交互式就是你给它一个指令,正确就执行,错误就不执行,而且它也不会将错误反馈给你

vim C_pass.sh
passwd

sh C_pass.sh     
是不能自动运行的



在文件中执行



可以自动运行避免交互

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


请用student用户做以下实验
find /etc/ -name passwd  > file.out
find /etc/ -name passwd 2> file.out
find /etc/ -name passwd &> file.all
"
注意:从定向是会覆盖原文件内容的!!!
"
vim westos
hello westos
find /etc/ -name passwd  > westos

cat westos      ##
原文件内容不见了

追加
保持原文件内容不变的情况下把输出追加到文件之后
>>      ##
追加正确输出
2>>     ##
追加错误输出
&>>     ##
追加所有输出


find /etc/ -name passwd >> westos
find /etc -name passwd 2>> westos
find /etc -name passwd &>> westos

管道
#
把输出变成下一个程序的输入
#
管道是用来组合多条命令的使用的
ls /bin | wc -l

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

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



ls /bin | tee file | wc -l
cat file        #file
中已经保存了输出

猜你喜欢

转载自blog.csdn.net/hello_xiaozhuang/article/details/79894991