shell编程---基本的I/O重定向

                     shell编程---基本的I/O重定向

        标准输入输出是软件设计原则中重要的概念。 系统会默认使用的输入和输出的设备,比如输入为鼠标或键盘,输出为显示屏。 当打开 shell 进程时,系统已经为其初始化了标准输入和输出设备。

1、重定向与管道

正常情况下, shell 与外界交换信息是通过标准输入和标准输出,为了便捷,实现了 shell可以从文件中读取内容,并可以将内容输出到文件中。
1、 < 替换标准输入
2、 > 替换标准输出(重定向(redirector)到指定文件中,非标准输出)
3、 >> 追加

        

管道:前面程序输出结果可以当做后面程序的输入,可以嵌入使用,但是原则是“随着管道层级递增,其工作量需要递减。


2、特殊文件/dev/null和/dev/tty

        Unix 操作系统为 shell 提供了两个特殊文件/dev/null 和/dev/tty。 /dev/null 称为位桶,传送到此文件的内容将会被系统丢掉。当程序向此文件写内容时,默认已经成功写入数据操作,但是实际上什么都没做。 当程序打开/dev/tty 文件时,系统会自动将它重定向到一个终端(一个实体控制台 console 或一个串口 serial port,也可能是通过网络与窗口登入的伪终端pseudoterminal) 再与程序结合。 在程序需要读取人工输入(密码)时特别有用。

    

/dev/null和/dev/tty都是字符设备

猜你喜欢

转载自blog.csdn.net/yanlaifan/article/details/113871551
今日推荐