Linux系统中输入输出的管理

####系统中输入输出的管理####
1.理解系统的输入输出

  运行一个程序时,需要从某个位置读取输入信息,然后cpu处理,最后将输出显示到屏幕或文件

  进程通过文件描述符的编号通道来获取输入并输出

编号 通道名称 描述 默认连接 用法

0

stdin 标准输入 键盘 仅读取
1 stdout 标准输出 显示屏 仅写入
2 stderr 标准错误 显示屏 仅写入



2.管理输入输出的符号
##输出重定向

>       ##重定向正确输出
2>      ##重定向错误输出
&>      ##重定向所有输出
注意:
    重定向会覆盖原文件内容

示例:
注意:以下实验必须在student用户下完成
find /etc/ -name passwd  > file        ##定向正确输出到file
find /etc/ -name passwd  2>    file.err    ##定向错误输出到file
find /etc/ -name passwd  &>    file.all    ##定向所有输出到file
> file                     ##清空file
操作效果如下图所示

 

 

 

 
##输出追加
>>      ##追加正确输出到文件最后
2>>     ##追加错误输出到文件最后
&>>     ##追加所有输出到文件最后

注意:
    追加不会覆盖源文件内容

示例:

find /etc/ -name passwd  >>    file        ##追加正确输出到file
find /etc/ -name passwd  2>>   file.err    ##追加错误输出到file
find /etc/ -name passwd  &>>   file.all    ##追加所有输出到file


##3.管道的应用##
1.管道的作用

    “|” 管道的作用是把前一条命令的输出变成后一条命令的输入

注意:
    管道只允许正确输出通过
    通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
    如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”


此实验在普通用户下操作:
    find /etc/ -name passwd | wc -l        ##会看到的结果为2,因为错误输出不能通过管道
    find /etc -name passwd 2>&1|wc -l  ##会看到19,因为编号为2的输出被“2>&1”转换为编号1
    find /etc -name passwd 2>&1|tee file |wc -l ##保存一份输出到file再统计行数

操作效果如下图所示

扫描二维码关注公众号,回复: 2426247 查看本文章




##4.输入重定向####
cat >file <<EOF
hello
WORLD
EOF

操作效果如图所示



 

猜你喜欢

转载自blog.csdn.net/weixin_42709659/article/details/81090060
今日推荐