Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1799084
  • 博文数量: 600
  • 博客积分: 10581
  • 博客等级: 上将
  • 技术积分: 6205
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 10:13
文章分类
文章存档

2016年(2)

2015年(9)

2014年(8)

2013年(5)

2012年(8)

2011年(36)

2010年(34)

2009年(451)

2008年(47)

分类: LINUX

2009-08-15 16:54:51

UNIX 的使用与架构

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 ), 它提供一种语言,供使用者对作业系统下达指令,我们一般的指令就是它的语言的一个最简单的格式。你也可以在使用期间根据一些使用的状况来加上回圈及判断结构,通常我们在写一个 shellscript 时比较会利用到 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(Version11 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 ? 因为通常都是送一个"杀掉"的讯号 )。

阅读(355) | 评论(0) | 转发(0) |
0

上一篇:awk例子3

下一篇:curses

给主人留下些什么吧!~~