生活趣事
今天我觉得特别有意识的一件事就是给两位新同事将明白了重定向的进阶使用方法,那这个事情是怎样产生的呢?原因是昨天一位同事突然问到我,这个脚本里面的数据处理能不能有更好的方法,这样输出的数据真的是太麻烦了,而且非常杂乱,我下意识就想到,这本质就是处理数据流嘛!那这个数据是怎么来的呢?当时是操作系统与硬件系统交互所产生的产物呀!那我们linux是通过什么去交互这些,是怎读取或写入这些数据的呢!哈哈,说了一大串,那就是句柄,我今天渐查了一下什么叫句柄!那我们要从linux操作系统设计哲学中说起,最核心的一句”一切皆文件“。基于这个,就设计了文件描述符(句柄),其实本意是为了保护文件的读取与写入。那究竟文件描述符是什么呢?其实就是/proc/进程号/fd下的软链接,也一个个整数。我们平时的stdin(0),stdout(1),stderr(2),他们系统默认的文件描述符是0,1,2,其实远远不止的,有很多的。那这些文件描述符,我们可以自己去操作它,例如exec 1>&3, exec 1>&2等等,那我们把脚本的结果输入特定的文件描述符,这就解决了我们今天问题!
———limax'S LIFE