发新话题
打印

[配置共享] UNIX的Shell命令详解(二)

UNIX的Shell命令详解(二)

3. 前景与背景
在 sh 下面,一个新产生的 process 可以经由 command
後面的符号';'和'&'来分别前景和背景。如以下语法

command

这表示产生一个 foreground 的
process ,你要等到它结束才能再下另一个指令。

command &

这样表示产生一个 background 的
process ,它会给你一个类似以下的讯息:

[1] 21304

然後就出现下一个提示号,以供你给下一个指令。然後在这个
background 的process 结束的时候再给你一个如下面的讯息,告诉你它把这个 process 执行完毕了。

[1] Done
command

command1 ; command2 ; command3

这样表示你要求系统连续执行 command1 ,
command2 , command3 三个指令,其中 command2 要等待 command1 , command3 要等待 command2 ,而你要等待
command3 执行完毕才能下指令。

command1 & command2 & command3
&

这样表示你要求系统连续执行 command1 , command2 , command3
三个指令,而这三个指令都放在背景执行,彼此之间不需等待。

fg 与 bg

也许你会问,一个已经执行的 process
可不可以由前景换背景,或由背景换前景呢?

可以的。一个在前景执行的 process ,你可以按 Ctl-Z 将 process
暂停,系统会给你一个讯息:

Suspended

然後出现提示号。此时你可以使用 fg 将其恢复前景执行,或按 bg
将其改为背景执行。

而如果有一个 background 的 process , 你也可以用 fg 指令将其呼叫到前景来。首先你需用 jobs
指令来观查目前有多少在背景下的 proesses,然後根据它所显示出来的 job id 来决定将那一个 process 放到前景。如使用% fg %3 #
将第三个 job 放到 foreground 。

4. 别名 alias
在 csh 与 tcsh 中,提供 alias
的功能,使得使用者可以将常用却冗长的指令以其他的名字存起,不过不须像储存变数一样要在前面加一个"$"。

alias 的格式:
alias
aliasname string ....
alias aliasname 'string \!* string'

前面的一个格式是把
aliasname 直接用来取代後面的 string ,然後如有任何跟在後面的 argument 将会出现的其後。如下例:

% alias la
ls -Fa

例中的 la . 相当於 ls -F . ,然而如果仅是如此并不足够,因此有後面的另一种格式。後面的格式中的 \!*
代表将来会出现在 aliasname 後面的所有参数,
如下例:

% alias dir 'ls -Flag \!* |
more'

例中的 dir doc 相当於 ls -Flag doc | more ,这样可提供使用者在设计上更大的弹性。

5.
tcsh 的初始设定档
tcsh 有两个 initial 档,一个是 $HOME/.tcshrc , 一个是 $HOME/.login


每一个 tcsh 在被开启时,它都会去执行所有位於 .tcshrc 中的命令,因此你可以把所有的 alias , 变数设定都放到
.tcshrc 里面去。在tcsh 起动的时候便会自动的去执行这些对於你的环境的初始设定。

.login 只有在 tcsh 本身是一个 login
shell 的时候才会执行,它多半用来设定一些只需在 login 的时候要执行的命令,如环境变数的设定,因环境变数在设定之後,只要是其子 process
均会取得其环境,因此不须在每次开启 shell 的时候都重覆执行。

tcsh 另有一个结束设定档,称为 .logout ,是在每一个 login
shell 结束,logout 所要执行的动作,其编辑的方法跟 .login , .tcshrc 完全一模一样。

source
指令

如果要重新执行 .tcshrc 的内容,可以利用 source
指令来达到,此时就相当於把该档案中的所有内容重新在命令列输入一遍。如下:

% source .login

TOP

支持了~~~~~~~~~~~~

TOP

哦,我怎么只看到二呢,一在哪里呢?我在找找好了~~~~~~~

TOP

怎么没有看到一呢,要是能从一看起那起那多好啊.

TOP

刚才看了一,现在两篇一起看完了真的受益不小啊.

TOP

发新话题