linux中文件输出管理

linux中文件输出管理

1.输入输出的定义

1.输入

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

2.输入

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

    输入会有两种出现

    编号1为正确输出

    编号2为错误输出

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

2.如何管理输出

1.非交互式多行录入
vim C_pass.sh

passwd



sh C_pass.sh

是不能自动运行的


passwd <<END
lee
lee
END
sh C_pass.sh

可以自动运行避免交互

   

可以看到密码直接修改成功

2.如何管理输出

1.重定向
>                   重定向正确输出
2>                重定向错误输出
&>               重定向所有输出

2>&1           把错误输出的编号由2转换为1

下面我用student用户做以下实验

find /etc/ -name passwd  > file.out

  

shell里面出现错误输出,正确输出被放到file.outlimian

find /etc/ -name passwd 2> file.out

通过cat可以看到:文件的错误输出被放入file.out,shell上显示正确输出

find /etc/ -name passwd &> file.all

通过cat可以看到:文件的所有输出被放入file.out,shell上不显示输出

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

vim westos


hello westos

find /etc/ -name passwd  > westos


cat westos 


       原文件内容不见了

2.追加

保持原文件内容不变的情况下把输出追加到文件之后
>>          追加正确输出
2>>        追加错误输出
&>>        追加所有输出
find /etc/ -name passwd >> westos
find /etc -name passwd 2>> westos

find /etc -name passwd &>> westo

在这里我们以追加错误输出为例:

在错误的输出定义到westos中后,依然保留了正确输出

3.管道

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

ls /bin表示列出 / bin ,通过管道让第一条指令的输出变成第二条指令的输入,最终统计出/bin的行数

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

tee              复制输出到指定位置


ls /bin | tee file | wc -l

cat file        file中已经保存了输出



猜你喜欢

转载自blog.csdn.net/l10159697/article/details/79738038