我们都知道Unix操作系统的Shell命令有很重要作用,下面,我们本章主要向大家介绍输出入转向的知识。希望对大家有用。
Unix操作系统输出入转向
在 Unix操作系统 中,每一个process 均有三个特殊的 file descriptor , 标准输入( standard input )、标准输出 ( standard output )、标准错误输出( standarderror )。这三个平常是接受 terminal 的输入,而由 terminal 显示出去。但是Unix操作系统 提供使用者可以使用一般的档案或 pipe 来取代这些标准输出入设备。在tcsh 里头,使用者可以利用">"和"<"来进行输出入转向的工作。
输出转向:command > file
你可以将一个指令的输出结果转向到一个档案,让此档案储存这个 command的输出结果。
但是请注意,如果 file 已经存在在系统中,则 file 将会被盖过。也就是原先 file 的内容将会消失。
command >& file
与 > 相同,但是这个格式表示连 standard error 一起转向。在 Unix操作系统 中,standard error 在 programer 的习惯是用来显示 error 的发生,因此如果没有被转向时, standard output 的结果将会被转向到 file ,而 standarderror 的结果仍将显示在 terminal 上。
command >> file
此格示代表将 standard output 的结果 append 到 file 中。如果 file 已存在在系统中,则 standard output 的结果将会加到 file 的末端,如果 file原先并不存在,则 file 将会被开启而将 standard output 的结果存至 file中。
command >>& filE
同上,不过此格式代表连 standard error 一起 append 到 file 之中。
Unix操作系统输入转向
command < file
一般程式须要自终端机输入资料,而你可以将程式所要输入的资料统一编入档案中,利用转向一并输入。
set ignoreeeof
由於转向输出会有将现有档案 overwrite 的危险,csh 与 tcsh 提供使用者一个方式来避免。
当你在Unix操作系统执行 set ignoreeeof 之後,如有输出转向到已存在之档案时,它会发出一个档案已存在的讯息。 而在处理 append 转向上,如果已经 setignoreeeof ,则当要 append 一个不存在的档案,将会出现一个 errormessege 。
然而如果我们当真是要转向盖过一个已存在的档案,或者是要 append 一个不存在的档案时,又要如何呢?我们只要在 ">" ">&" ">>" ">>&" 後面加上惊叹号"!",成为 ">!" , ... 就可以了。
好了,这次关于Unix操作系统的Shell命令的一些知识就介绍到这里,希望大家看完之后技术会有很高的提升。
【编辑推荐】