免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1352 | 回复: 0

UNIX 的架构 [复制链接]

论坛徽章:
0
发表于 2003-05-25 07:55 |显示全部楼层
A. login / logout
我们要能够进入 UNIX 系统。每个人都有一个 username 与 password,
username 是你在这个系统中的名字,而 password 就是密码,用来
保护你的帐号不会被别人偷走。

我们称进入系统的动作为 login ,在进入系统之前,首先我们会见到以下的
画面:

SunOS UNIX (ccsun24)

login:

然後你 login: 之後接著打你的 username ,系统就会自动找出你的资料,
接著出现一行

password:

这时所要输入的就是你的密码了。在输入密码的时候,并不会显示在萤幕上,
避免你的密码在使用的时候被别人偷看到。

如果你的密码正确,系统会显示出你已经 login 的讯息,并显示上一次 login
的时间。当系统完成对你的使用环境设定的工作时,会显示出一个提示符号,如下
面的形式:

jjtseng@ccsun28:/u/gcp/82/8217529/doc ! >


在 > 符号之後你就可以输入你所要下的指令( command ) ,如 ls , who , 等
等。不过要注意的是,在 UNIX 之下英文字母的大小写是有差别的,如果像我的
username 是 jjtseng , 则我打入 JJTseng ,系统就不知道这个 user 是谁了。同
样的,你所下的指令也要注意大小写的差别。

UNIX 的指令分成两种,一种是实际存放在档案系统的程式,如 ls , who ,
cat , more ....等等都是,另一种是 shell 内建的指令,後面的内容对这两种
指令都会有详细的介绍。你也可以写程式来增加你可使用的指令,如系上大部份
存放在 /usr/local/bin 的指令都是属於这一类。

当你用完系统,准备离开时,别忘了要 logout ,否则人虽然走了,可是还
是会有人在你离开系统後用你的名义使用系统,如果这个人做了些坏事,帐可是
都算在你头上的。离开系统可以使用 exit 指令。键入 exit , 按 enter 键,
系统就会离开,而等待下一个人进入系统。

B. Shell

Shell 的原意是壳,在 UNIX 里面就是一个提供使用者使用的环境。每一个
使用者在 login 後系统会提供使用者一个 login shell , 在使用期间使用者亦
可自行开启其他的 shell 用以执行 shell script 或是另外建立一个使用环境。

Shell 本身是一种解译器( Interpreter ), 它提供一种语言,供使用者对作
业系统下达指令,我们一般的指令就是它的语言的一个最简单的格式。你也可以
在使用期间根据一些使用的状况来加上回圈及判断结构,通常我们在写一个 shell
script 时比较会利用到 shell 的其他语言结构( if , for , while 等),不过在
命令列提示号之下亦可直接使用。

你可以将一连串的命令写到一个档案,建立一个 shell script , 这样你就可
以将一些常做的事情直接整理成一个大的 batch job 。

在 shell 中还提供使用者方便的利用 UNIX 的转向及 pipe 功能,使用者可以
利用这些功能将指令的输出存档或做为另一个指令的输入,也可以将大量的输入资料
放在一个档案中,然由让指令自此档案抓取所需之输入资料。

除此之外, shell 也提供建立别名( alias )和变数( variable )的功能,使
得使用者可以更加弹性的对系统下达命令。

其馀有关 shell 更详细的使用说明请参照本手册的其它部份。

C. 档案、目录、与档案系统

UNIX 使用一个 single root 的树状结构档案系统,最顶层称为根目录( root ),
包含许多目录,每一个目录底下均存放许多的档案与子目录,用这样的树状结构从根
目录到每一个档案均会有一个唯一的找寻的路径。而每一个使用者在 UNIX 下面均有
一个 HOME directory ,做为这个使用者个人资料的存放处。

UNIX 的每一个目录里头,有两个特殊的目录: 一个是其本身「.」,另一个
是其上一层目录「..」。这两个目录的用途在於使得树状架构的档案系统各目录
可以很轻易的双向沟通,同时在使用上也较为方便。

在 UNIX 上一些特殊的目录储存了各种不同需求的档案与作为指令的程式,如
下所述( 以下的以交大资工系计中的档案系统为准,在不同的地方可能有不同的放
置方法 ) :

a. /bin 、/usr/bin 、/usr/ucb
/bin 和 /usr/bin 两个目录主要放的是标准的指令,例如 ls , rm ,
cat ... 等等,各个系统的 /bin , /usr/bin 下的指令大多都相同,主要
在避免不同 UNIX 系统之间的差异性。

/usr/ucb 放的是由 U.C. Berkeley 所发展出来的一些应用程式,像 telnet ,
ftp , rlogin , rsh 等均存放在此。

b. /usr/local/bin
/usr/local/bin 所存放的指令多为系上所特有的指令,因为大多是由历届中
心讲师及助教所撰写或 install 的程式和软体,系上大部份 network service
的执行程式均放在此,如 tin , elm , 以及许多有用的转换程式,像 hz2ps ,
b2g , g2b 等等。

c. /lib 、/usr/lib
在此目录之中所存放的是所有程式所需要的程式库。在 UNIX 中,编译程式时
常需要许多的函数和副程式,而这些函数和副程式多存放在程式库( library )
写程式时就不用重新撰写这些部份的程式码了。

同时,大部份的 UNIX 执行档在编译完成时将不会将副程式的程式码加到执行
档中,而是等到执行时才自程式库取出副程式的程式码,这种动作称为动态链
结( Dynamic link ),可想而知这样的设计可以减少许多的储存空间,而这些
供动态链结用的程式库亦是存放在 /usr/lib 中,所以这个目录是非常重要的
目录,如果它的内容有错往往会造成系统完全无法工作。

d. /etc
/etc 这个目录是存放管理 UNIX 系统用的程式,以及一些系统设定档。

e. /home2/X11R5
在资工系里头,使用最普遍的图形使用者介面( Graphics User Interface , GUI )
是由麻省理工学院(MIT)所发展出来的 X window , 目前使用的是 X11R5(Version
11 Release 5),这一部份的程式,程式库,标头档及其他资源档均放在
/home2/X11R5 这个目录下。

f. /usr/man
在 UNIX 中,提供 man 指令( manual )让使用者在使用时可随时察询一些指令,
函数,表格的使用法和规格,是一个非常有用的指令,而这些指令的 help 讯息
就是存放在 /usr/man 下面。

D. Process
在 UNIX 中,一个执行中的程式就是一个 Process , 它占有记忆体,是一
个"活著"的物体。每一个 Process 有一个 Process ID , 你可以用 ps 指令来
观察目前系统中所有的 processes ,也可以利用 kill 指令送讯号给你自己的
process ( 为何叫 kill 不叫 send ? 因为通常都是送一个"杀掉"的讯号 )。
      如果这篇文章能对你有所帮助,请帮忙点击下面的广告。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP