網絡依然還是計算機,Sun還是Sun!
Solaris基础
上一篇 / 下一篇 2007-08-26 18:29:29 / 个人分类:Solaris學習
查看( 105 ) /
评论( 5 )
Solaris操作系统是由核心程序及其它系统程序组成。核心程序(KERNEL)负责存储器、各个设备驱动程序、文件系统、各个进程、调度及网络等控制与管理。其他的系统程序提供用户各项服务工作,当然还要配合核心程序一起完成。在操作系统中其核心程序命名为VMUNIX,其它的系统程序则分散至各个系统目录下。
^}#W+f#^7}-A7d7Av7590422
]kw Q6p![i0v7590422 Kernel
y+~&p9r*i^ ui7H7590422 Kernel是操作系统的核心程序,它执行以下功能:
@ pVev8h7590422 管理设备,存储器,进程和daemonsIXPUB技术博客Wlt.o@ jp
控制系统应用程序和系统硬件之间的信息传送
U/~ C^(W J7590422 管理树型文件系统并执行所有的命令IXPUB技术博客|P$L `9fYO)X_
管理功能如下:IXPUB技术博客 f/a8]9z4s#Vf
1. 交换空间 - 为Kernel运行提供一个磁盘保留空间IXPUB技术博客C3Dx"|S^
2. Daemons - 执行特殊系统任务的进程
Rlj"]C^wip7590422 3. 文件系统 - 管理树型文件系统IXPUB技术博客ue&pI.O9M
N&O&j9YWc#Ys7590422 Shells
B"_ w*A,h(J.E ^9U6}7590422 Shells是用户和核心程序沟通的界面。它接收用户发出的命令并解释,然后将可执行的命令送给Kernel。
Y5_2WfCf ?2l,C7590422 Shell 的原意是壳,在 UNIX 里面就是一个提供使用者使用的环境。每一个使用者在 login 後系统会提供使用者一个 login shell , 在使用期间使用者亦可自行开启其他的 shell 用以执行 shell script 或是另外建立一个使用环境。 IXPUB技术博客e LM#C xu7v
Shell 本身是一种解译器( Interpreter ), 它提供一种语言,供使用者对作业系统下达指令,我们一般的指令就是它的语言的一个最简单的格式。你也可以在使用期间根据一些使用的状况来加上回圈及判断结构,通常我们在写一个 shell script 时比较会利用到 shell 的其他语言结构( if , for , while 等),不过在命令列提示号之下亦可直接使用。IXPUB技术博客0IQJP8StJS
你可以将一连串的命令写到一个档案,建立一个 shell script , 这样你就可以将一些常做的事情直接整理成一个大的 batch job 。
e"A6I j7}+\K\!?,@"A7590422 在 shell 中还提供使用者方便的利用 UNIX 的转向及 pipe 功能,使用者可以利用这些功能将指令的输出存档或做为另一个指令的输入,也可以将大量的输入资料放在一个档案中,然由让指令自此档案抓取所需之输入资料。
&V"I^4S c^-Q(W$v7590422 除此之外, shell 也提供建立别名( alias )和变数( variable )的功能,使得使用者可以更加弹性的对系统下达命令。
%t/G*bMx9AAqP7590422
np,d ^3G^6Fx _\7590422
W*V6x5jr@7590422
O"Zm@S he7590422
"PF^7x Q.Z \;k7590422 1. 输出入转向
Z!xxx1\7590422 在 UNIX 中,每一个 process 均有三个特殊的 file descriptor , 标准输入 ( standard input )、标准输出 ( standard output )、标准错误输出( standarderror )。这三个平常是接受 terminal 的输入,而由 terminal 显示出去。但是UNIX 提供使用者可以使用一般的档案或 pipe 来取代这些标准输出入设备。在tcsh 里头,使用者可以利用">"和"<"来进行输出入转向的工作。IXPUB技术博客[)q5X{\;fe
1?!WV7Bv7590422 输出转向:
Jjt8Mv"m#B3E7590422 command > file
k ex7sw$Kj:R7590422 IXPUB技术博客sith"_H,{+~'M0UD
你可以将一个指令的输出结果转向到一个档案,让此档案储存这个 command的输出结果。
;dv'aGU:F8s^1@7590422
-AnUMM0N:i7590422 但是请注意,如果 file 已经存在在系统中,则 file 将会被盖过。也就是原先 file 的内容将会消失。IXPUB技术博客1|J_c7l#aI
IXPUB技术博客B*C{ Mcp3Y
command >& fileIXPUB技术博客;fJA4w5M5IjdMA
IXPUB技术博客:\%`]X"F
与 > 相同,但是这个格式表示连 standard error 一起转向。在 UNIX 中,standard error 在 programer 的习惯是用来显示 error 的发生,因此如果没有被转向时, standard output 的结果将会被转向到 file ,而 standarderror 的结果仍将显示在 terminal 上。
8~Qe|w L3i^4i y? d$B k7590422 DIR ALIXPUB技术博客DH*b+i2~$U Go Oz C
IXPUB技术博客8I+~6x|I1RY
command >> file
2U^tlxr J m(m8y7590422
sKr`a v0F2D(Af7590422 此格示代表将 standard output 的结果 append 到 file 中。如果 file 已存在在系统中,则 standard output 的结果将会加到 file 的末端,如果 file 原先并不存在,则 file 将会被开启而将 standard output 的结果存至 file中。
'l2b-~'B*u M8U y8e7590422
o*S6k9a7_x N7590422 command >>& filEIXPUB技术博客B$fni R0t*u^
a;nQ&iWn-S-Ul"s7590422 同上,不过此格式代表连 standard error 一起 append 到 file 之中。
+o6AleA [7VSf.b%i7590422 IXPUB技术博客6g"`-i4Eqv
输入转向IXPUB技术博客jJ4X*]P,k
command < fileIXPUB技术博客0Y] OM J;r*S%i3h
y m;Kh.L{.ZL7590422 一般程式须要自终端机输入资料,而你可以将程式所要输入的资料统编入档案中,利用转向一并输入。
$T5y5?'D {I7590422
8{U7b_~AGJ7590422 set ignoreeeofIXPUB技术博客d6F){t*r$~sK
由於转向输出会有将现有档案 overwrite 的危险,csh 与 tcsh 提供使用者一个方式来避免。IXPUB技术博客ezme+C%]l
K*a"i;wo U7590422 当你执行 set ignoreeeof 之後,如有输出转向到已存在之档案时,它会发出一个档案已存在的讯息。 而在处理 append 转向上,如果已经 set ignoreeeof ,则当要 append 一个不存在的档案,将会出现一个 error messege 。IXPUB技术博客2^3|o(W4jBl(f.N0G
IXPUB技术博客pB[ }?g L*s&N
然而如果我们当真是要转向盖过一个已存在的档案,或者是要 append 一个不存在的档案时,又要如何呢? IXPUB技术博客@:K-d w h8GE3mHZ
;l-Xfzj7590422 我们只要在 ">" ">&" ">>" ">>&" 後面加上惊叹号"!",成为 ">!" , ... 就可以了。
\ w@4E-Os7590422
O4Z-Q.LJfd/^7590422 2. PipeIXPUB技术博客4l ew? WLV?
如同前面说的转向,Pipe 也是在标准输出入和标准示误装置间作取代动作,如IXPUB技术博客G&O3b%{P1i/s
此一来可以将某一个程式的输出连到另一个程式的输入中。其语法如下:
BGmH;Eyj Z7590422 IXPUB技术博客9q0LvR(][ W
command1 | command2 [ | command3 ....]IXPUB技术博客 j9q/zw J:X'g1P
command1 |& command2 [ |& command3 ....] <--- 连 standard error 一起 pipe
*t*o:O4^s*]$Smz7590422 IXPUB技术博客X7zW'n+~s
o2b7J(Yi Pa7590422 3. 前景与背景IXPUB技术博客{$f Q$Q~"jXPpG
在 sh 下面,一个新产生的 process 可以经由 command 後面的符号';'和'&'来分IXPUB技术博客VW*@z[ g
别前景和背景。如以下语法
5T*q%[ B8P%[7590422 IXPUB技术博客"zA-}4o/Q;leD eb
commandIXPUB技术博客,vdVKX2_F?C5Ky
uT$t-q'S b7590422 这表示产生一个 foreground 的 process ,你要等到它结束才能再下另一个指
V%wC[O5Js[7590422 令。
9z(MKB1B]7590422
PC&Om9E`pCB0S7590422 command &IXPUB技术博客e.Z3]H|@
^}#W+f#^7}-A7d7Av7590422
]kw Q6p![i0v7590422 Kernel
y+~&p9r*i^ ui7H7590422 Kernel是操作系统的核心程序,它执行以下功能:
@ pVev8h7590422 管理设备,存储器,进程和daemonsIXPUB技术博客Wlt.o@ jp
控制系统应用程序和系统硬件之间的信息传送
U/~ C^(W J7590422 管理树型文件系统并执行所有的命令IXPUB技术博客|P$L `9fYO)X_
管理功能如下:IXPUB技术博客 f/a8]9z4s#Vf
1. 交换空间 - 为Kernel运行提供一个磁盘保留空间IXPUB技术博客C3Dx"|S^
2. Daemons - 执行特殊系统任务的进程
Rlj"]C^wip7590422 3. 文件系统 - 管理树型文件系统IXPUB技术博客ue&pI.O9M
N&O&j9YWc#Ys7590422 Shells
B"_ w*A,h(J.E ^9U6}7590422 Shells是用户和核心程序沟通的界面。它接收用户发出的命令并解释,然后将可执行的命令送给Kernel。
Y5_2WfCf ?2l,C7590422 Shell 的原意是壳,在 UNIX 里面就是一个提供使用者使用的环境。每一个使用者在 login 後系统会提供使用者一个 login shell , 在使用期间使用者亦可自行开启其他的 shell 用以执行 shell script 或是另外建立一个使用环境。 IXPUB技术博客e LM#C xu7v
Shell 本身是一种解译器( Interpreter ), 它提供一种语言,供使用者对作业系统下达指令,我们一般的指令就是它的语言的一个最简单的格式。你也可以在使用期间根据一些使用的状况来加上回圈及判断结构,通常我们在写一个 shell script 时比较会利用到 shell 的其他语言结构( if , for , while 等),不过在命令列提示号之下亦可直接使用。IXPUB技术博客0IQJP8StJS
你可以将一连串的命令写到一个档案,建立一个 shell script , 这样你就可以将一些常做的事情直接整理成一个大的 batch job 。
e"A6I j7}+\K\!?,@"A7590422 在 shell 中还提供使用者方便的利用 UNIX 的转向及 pipe 功能,使用者可以利用这些功能将指令的输出存档或做为另一个指令的输入,也可以将大量的输入资料放在一个档案中,然由让指令自此档案抓取所需之输入资料。
&V"I^4S c^-Q(W$v7590422 除此之外, shell 也提供建立别名( alias )和变数( variable )的功能,使得使用者可以更加弹性的对系统下达命令。
%t/G*bMx9AAqP7590422
np,d ^3G^6Fx _\7590422
W*V6x5jr@7590422
O"Zm@S he7590422
"PF^7x Q.Z \;k7590422 1. 输出入转向
Z!xxx1\7590422 在 UNIX 中,每一个 process 均有三个特殊的 file descriptor , 标准输入 ( standard input )、标准输出 ( standard output )、标准错误输出( standarderror )。这三个平常是接受 terminal 的输入,而由 terminal 显示出去。但是UNIX 提供使用者可以使用一般的档案或 pipe 来取代这些标准输出入设备。在tcsh 里头,使用者可以利用">"和"<"来进行输出入转向的工作。IXPUB技术博客[)q5X{\;fe
1?!WV7Bv7590422 输出转向:
Jjt8Mv"m#B3E7590422 command > file
k ex7sw$Kj:R7590422 IXPUB技术博客sith"_H,{+~'M0UD
你可以将一个指令的输出结果转向到一个档案,让此档案储存这个 command的输出结果。
;dv'aGU:F8s^1@7590422
-AnUMM0N:i7590422 但是请注意,如果 file 已经存在在系统中,则 file 将会被盖过。也就是原先 file 的内容将会消失。IXPUB技术博客1|J_c7l#aI
IXPUB技术博客B*C{ Mcp3Y
command >& fileIXPUB技术博客;fJA4w5M5IjdMA
IXPUB技术博客:\%`]X"F
与 > 相同,但是这个格式表示连 standard error 一起转向。在 UNIX 中,standard error 在 programer 的习惯是用来显示 error 的发生,因此如果没有被转向时, standard output 的结果将会被转向到 file ,而 standarderror 的结果仍将显示在 terminal 上。
8~Qe|w L3i^4i y? d$B k7590422 DIR ALIXPUB技术博客DH*b+i2~$U Go Oz C
IXPUB技术博客8I+~6x|I1RY
command >> file
2U^tlxr J m(m8y7590422
sKr`a v0F2D(Af7590422 此格示代表将 standard output 的结果 append 到 file 中。如果 file 已存在在系统中,则 standard output 的结果将会加到 file 的末端,如果 file 原先并不存在,则 file 将会被开启而将 standard output 的结果存至 file中。
'l2b-~'B*u M8U y8e7590422
o*S6k9a7_x N7590422 command >>& filEIXPUB技术博客B$fni R0t*u^
a;nQ&iWn-S-Ul"s7590422 同上,不过此格式代表连 standard error 一起 append 到 file 之中。
+o6AleA [7VSf.b%i7590422 IXPUB技术博客6g"`-i4Eqv
输入转向IXPUB技术博客jJ4X*]P,k
command < fileIXPUB技术博客0Y] OM J;r*S%i3h
y m;Kh.L{.ZL7590422 一般程式须要自终端机输入资料,而你可以将程式所要输入的资料统编入档案中,利用转向一并输入。
$T5y5?'D {I7590422
8{U7b_~AGJ7590422 set ignoreeeofIXPUB技术博客d6F){t*r$~sK
由於转向输出会有将现有档案 overwrite 的危险,csh 与 tcsh 提供使用者一个方式来避免。IXPUB技术博客ezme+C%]l
K*a"i;wo U7590422 当你执行 set ignoreeeof 之後,如有输出转向到已存在之档案时,它会发出一个档案已存在的讯息。 而在处理 append 转向上,如果已经 set ignoreeeof ,则当要 append 一个不存在的档案,将会出现一个 error messege 。IXPUB技术博客2^3|o(W4jBl(f.N0G
IXPUB技术博客pB[ }?g L*s&N
然而如果我们当真是要转向盖过一个已存在的档案,或者是要 append 一个不存在的档案时,又要如何呢? IXPUB技术博客@:K-d w h8GE3mHZ
;l-Xfzj7590422 我们只要在 ">" ">&" ">>" ">>&" 後面加上惊叹号"!",成为 ">!" , ... 就可以了。
\ w@4E-Os7590422
O4Z-Q.LJfd/^7590422 2. PipeIXPUB技术博客4l ew? WLV?
如同前面说的转向,Pipe 也是在标准输出入和标准示误装置间作取代动作,如IXPUB技术博客G&O3b%{P1i/s
此一来可以将某一个程式的输出连到另一个程式的输入中。其语法如下:
BGmH;Eyj Z7590422 IXPUB技术博客9q0LvR(][ W
command1 | command2 [ | command3 ....]IXPUB技术博客 j9q/zw J:X'g1P
command1 |& command2 [ |& command3 ....] <--- 连 standard error 一起 pipe
*t*o:O4^s*]$Smz7590422 IXPUB技术博客X7zW'n+~s
o2b7J(Yi Pa7590422 3. 前景与背景IXPUB技术博客{$f Q$Q~"jXPpG
在 sh 下面,一个新产生的 process 可以经由 command 後面的符号';'和'&'来分IXPUB技术博客VW*@z[ g
别前景和背景。如以下语法
5T*q%[ B8P%[7590422 IXPUB技术博客"zA-}4o/Q;leD eb
commandIXPUB技术博客,vdVKX2_F?C5Ky
uT$t-q'S b7590422 这表示产生一个 foreground 的 process ,你要等到它结束才能再下另一个指
V%wC[O5Js[7590422 令。
9z(MKB1B]7590422
PC&Om9E`pCB0S7590422 command &IXPUB技术博客e.Z3]H|@