您现在的位置是:首页 > 文章详情

linux中文件输出管理

日期:2018-03-31点击:355

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中已经保存了输出

原文链接:https://www.centoschina.cn/course/introduction/9998.html
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章