欢迎来到天天文库
浏览记录
ID:57691100
大小:20.50 KB
页数:4页
时间:2020-09-01
《UNIX实用手册(SHELL简介).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三、Shell1.输出入转向在UNIX中,每一个process均有三个特殊的filedescriptor,标准输入(standardinput)、标准输出(standardoutput)、标准错误输出(standarderror)。这三个平常是接受terminal的输入,而由terminal显示出去。但是UNIX提供使用者可以使用一般的档案或pipe来取代这些标准输出入设备。在tcsh里头,使用者可以利用">"和"<"来进行输出入转向的工作。输出转向:command>file你可以将一个指令的输出结果转向到一个档案,让此档案储存这个command的输出结果。但是请注意,如果file已经存
2、在在系统中,则file将会被盖过。也就是原先file的内容将会消失。command>&file与>相同,但是这个格式表示连standarderror一起转向。在UNIX中,standarderror在programer的习惯是用来显示error的发生,因此如果没有被转向时,standardoutput的结果将会被转向到file,而standarderror的结果仍将显示在terminal上。command>>file此格示代表将standardoutput的结果append到file中。如果file已存在在系统中,则standardoutput的结果将会加到file的末端,如果file原
3、先并不存在,则file将会被开启而将standardoutput的结果存至file中。command>>&filE同上,不过此格式代表连standarderror一起append到file之中。输入转向command4、eof,则当要append一个不存在的档案,将会出现一个errormessege。然而如果我们当真是要转向盖过一个已存在的档案,或者是要append一个不存在的档案时,又要如何呢?我们只要在">"">&"">>"">>&"後面加上惊叹号"!",成为">!",...就可以了。2.Pipe如同前面说的转向,Pipe也是在标准输出入和标准示误装置间作取代动作,如此一来可以将某一个程式的输出连到另一个程式的输入中。其语法如下:command15、command2[6、command3....]command17、&command2[8、&command3....]<---连standarderror一起9、pipe3.前景与背景在sh下面,一个新产生的process可以经由command後面的符号';'和'&'来分别前景和背景。如以下语法command这表示产生一个foreground的process,你要等到它结束才能再下另一个指令。command&这样表示产生一个background的process,它会给你一个类似以下的讯息:[1]21304然後就出现下一个提示号,以供你给下一个指令。然後在这个background的process结束的时候再给你一个如下面的讯息,告诉你它把这个process执行完毕了。[1]Donecommandcommand1;command2;command3这10、样表示你要求系统连续执行command1,command2,command3三个指令,其中command2要等待command1,command3要等待command2,而你要等待command3执行完毕才能下指令。command1&command2&command3&这样表示你要求系统连续执行command1,command2,command3三个指令,而这三个指令都放在背景执行,彼此之间不需等待。fg与bg也许你会问,一个已经执行的process可不可以由前景换背景,或由背景换前景呢?可以的。一个在前景执行的process,你可以按Ctl-Z将process暂停,系统会给你一个讯息:11、Suspended然後出现提示号。此时你可以使用fg将其恢复前景执行,或按bg将其改为背景执行。而如果有一个background的process,你也可以用fg指令将其呼叫到前景来。首先你需用jobs指令来观查目前有多少在背景下的proesses,然後根据它所显示出来的jobid来决定将那一个process放到前景。如使用%fg%3#将第三个job放到foreground。4.别名alias在csh与tcsh中,提供alias的功能
4、eof,则当要append一个不存在的档案,将会出现一个errormessege。然而如果我们当真是要转向盖过一个已存在的档案,或者是要append一个不存在的档案时,又要如何呢?我们只要在">"">&"">>"">>&"後面加上惊叹号"!",成为">!",...就可以了。2.Pipe如同前面说的转向,Pipe也是在标准输出入和标准示误装置间作取代动作,如此一来可以将某一个程式的输出连到另一个程式的输入中。其语法如下:command1
5、command2[
6、command3....]command1
7、&command2[
8、&command3....]<---连standarderror一起
9、pipe3.前景与背景在sh下面,一个新产生的process可以经由command後面的符号';'和'&'来分别前景和背景。如以下语法command这表示产生一个foreground的process,你要等到它结束才能再下另一个指令。command&这样表示产生一个background的process,它会给你一个类似以下的讯息:[1]21304然後就出现下一个提示号,以供你给下一个指令。然後在这个background的process结束的时候再给你一个如下面的讯息,告诉你它把这个process执行完毕了。[1]Donecommandcommand1;command2;command3这
10、样表示你要求系统连续执行command1,command2,command3三个指令,其中command2要等待command1,command3要等待command2,而你要等待command3执行完毕才能下指令。command1&command2&command3&这样表示你要求系统连续执行command1,command2,command3三个指令,而这三个指令都放在背景执行,彼此之间不需等待。fg与bg也许你会问,一个已经执行的process可不可以由前景换背景,或由背景换前景呢?可以的。一个在前景执行的process,你可以按Ctl-Z将process暂停,系统会给你一个讯息:
11、Suspended然後出现提示号。此时你可以使用fg将其恢复前景执行,或按bg将其改为背景执行。而如果有一个background的process,你也可以用fg指令将其呼叫到前景来。首先你需用jobs指令来观查目前有多少在背景下的proesses,然後根据它所显示出来的jobid来决定将那一个process放到前景。如使用%fg%3#将第三个job放到foreground。4.别名alias在csh与tcsh中,提供alias的功能
此文档下载收益归作者所有