书城计算机网络信息技术教育大全-操作系统大全
27113500000009

第9章 UNIX

UNIX基础

一、开始

首先,你需要登记一个账户。找一个服务器管理员、系统管理员或Unix管理员请他给你注册一个账户和一个用户目录。

注意Unix系统的安装方法有很大的区别。如果什么东西在你这里不能用,则说明有某个系统没有安装或系统配置不对。还有可能是因为你在使用一种不同的UNIX系统,所以拟定指令可能同其他的UNIX系统存在某些区别。如果你碰到说明问题,去向给你帐户的人寻求帮助。

获得账户后,去书店买几本Unix的书。

二、Telnet

要进入你的账户,你需要一个shell程序 (将你所键入的任何东西都传输到主机的程序)。最方便的办法是开启一个Telnet视窗。如果你用的就是主机,则你已经有了shell。用Telnet获取文件的方法和在你的MAC机上打开chooser或在PC机上打开网上邻居的方法基本相同,不同之处在于当你进入文件结构的时候,你不会那些五颜六色的目录。

所以打开Telnet,并从File菜单中选择打开联结(Open Connection),填入主机地址(Host/Session Name),然后点击联结( Connect)。它会提示你输入用户名和口令。你应该还有一个用户子目录。当你登录时,你会遇到:

IRIX (sutro)

login: pam

Password:

IRIX Release 53 IP20 sutro

Copyright 1987-1994 Silicon Graphics, Inc All Rights Reserved

Last login: Fri Dec 13 14:04:59 PST 1996 by UNKNOWN@hillhotwiredcom

You have mail

sutro\[~\]%

在你登录的时候你可能看不到你的用户子目录,但你的用户子目录应该如同下面的例子:

sutrohotwiredcom\[~\]%pwd

/usr/people/pam

基本指令

列出了几项基本指令。大部分的指令都有若干选项,这些选项使得这些指令功能更加强大。

1.ls-列出某个子目录中的文件

语法: ls \[选项\] \[名称\]

显示结果应该如同下面的例子:

sutrohotwiredcom\[~\]% ls

airwolfaugoohtmlunixclass

apanelparametersgraphics

在这个例子中,的用户子目录中有两个文件(airwolfau和goohtml)和3个下级子目录 (unixclass, apanelparameters, and graphics)。

2.cd-改变子目录

语法:cd \[dir\]

例:

sutrohotwiredcom\[~\]% cd unixclass

sutrohotwiredcom\[~/unixclass\]% ls

oneonehtmltwotwohtml

sutrohotwiredcom\[~/unixclass\]%

在本例中,从用户子目录改变到unixclass子目录,在该子目录中有两个文件和一个下级子目录(如果你想返回原来的子目录,则使用% cd /)。

3.mv-移动或重命名一个文件或子目录

语法:mv \[选项\]源文件/子目录目标

sutrohotwiredcom\[~/unixclass\]% mv one/ two/

sutrohotwiredcom\[~/unixclass\]% ls

onehtmltwotwohtml

sutrohotwiredcom\[~/unixclass\]% ls two/one

sutrohotwiredcom\[~/unixclass\]%

将子目录one移到了子目录two。

如果你用mv重命名一个文件或子目录,则:

sutrohotwiredcom\[~/unixclass\]% mv two/ somethingdifferent

sutrohotwiredcom\[~/unixclass\]% ls

onehtmlsomethingdifferenttwohtml

在本例中将子目录two重命名为somethingdifferent。

4.rm-删除一个文件

语法:rm \[选项\] \[文件\]

例:

sutrohotwiredcom\[~/unixclass\]% rm onehtml

sutrohotwiredcom\[~/unixclass\]% ls

somethingdifferenttwohtml

删除了子目录unixclass下的文件。

rm -ir-删除一个子目录

例:

sutrohotwiredcom\[~/unixclass\]% rm -ir somethingdifferent/

Directory somethingdifferent/ Remove ? (yes/no)\[no\] : yes

Directory somethingdifferent//one Remove ? (yes/no)\[no\] : yes

sutrohotwiredcom\[~/unixclass\]% ls

twohtml

在本例中,用rm -ir指令删除子目录 somethingdifferent。在删除该子目录之前,必须确认要删除该子目录。一旦确认删除之后,子目录 somethingdifferent将不复存在。所以使用 rm时一定要谨慎,因为,一旦执行该命令,该文件或子目录将——覆水难收。

5.mkdir-建立新子目录

语法:mkdir \[选项\] 新子目录名

例:

sutrohotwiredcom\[~/unixclass\]% mkdir waga

sutrohotwiredcom\[~/unixclass\]% ls

twohtmlwaga

用mkdir建立了新子目录waga。

more-分屏过滤或者叫分屏显示(more)一个文件,当你只是想阅读一个文件而不编辑它时。

less- less的功能和more类似,但它还允许你在一个文件内执行查询功能。

exit-从登录的主机退出

date-显示当前日期和时间cal 1997- prints the 1997 calendar

whoami-显示当前登录到你的终端的用户

mail-调出一个简单的邮件编辑器

pwd-告诉你当前你所在的位置,它显示当前子目录的完整路径名。

如果你想了解各个指令的细节,你可以查询Unix的在线指南man。例如如果你想了解ls,键入

sutrohotwiredcom\[~/unixclass\]% man ls

你就会看到:

ls(1)

NAME

ls - list contents of directory

SYNOPSIS

ls \[-RadLCxmlnogrtucpFbqisf1AM\] \[names\]

DEION

For each directory argument, ls lists the contents of the directory; for

each file argument, ls repeats its name and any other information

requested The output is sorted alphabetically by default

要退出man,则键入q

许可的命令

在你浏览主机时,你会发现有很多事情你不能做。你不能象在你自己的用户子目录中那样编辑和移动文件。

还记得ls是我们的基本指令吗?该指令的选项ls -l用于显示文件和子目录的信息。

例:

sutrohotwiredcom\[~/unixclass\]% ls -l

total 20

drwxrwxr-x2 pamstaff512 Dec5 09∶34 one

-rw-rw-r--1 pamstaff4233 Dec5 09∶35 onehtml

drwxrwxr-x2 pamstaff512 Dec5 09∶34 two

-rw-r--r--1 pamstaff4233 Dec5 09∶36 twohtml

这里我们可以看到子目录unixclass中的内容,该子目录中包含两个下级子目录(one和two)和两个文件。第1列文字列出了我们的权限:读、写、或执行文件和子目录。

第2列清单(pam, pam, pam, pam)显示文件的主人。

第3列所属的类别。要得知你属于哪个类别,你可以键入groups和你的名称,例:

sutrohotwiredcom\[~/unixclass\]% groups pam

infomgrstaff prod edit

第4列显示文件的尺寸。

第5列是文件最近一次被修改的时间和日期。第6列是文件名。

rwx代表的含义?

这几个字母决定了我们的使用权限:

对于文件来说:

r=可读——你可以阅读该文件(用more或less指令);w=可写——你可以对该文件写盘(用VI, Emacs,或Pico编辑该文件);x=执行——你可以执行该文件(运行Perl程序) 。

对于子目录来说:

r=可读——你可以阅读该子目录的内容;w=可写——你可以建立、移动、重命名或删除文件或子目录;x=可执行——你可以查询该子目录。

ls -l的例子:

drwxrwxr-x2 pamstaff512 Dec5 09∶34 one/

-rw-rw-r--1 pamstaff4233 Dec5 09∶35 onehtml

对于每一个文件夹和文件,有4组 rwx。在上例中,含义很清楚,因为他们用联线断开。第1组显示你的许可程度(权限),第2组用于用户组,第3组用于其他项,第4组用于所有人。

细分的话,每一组用一个字母代表:

you =

ugroup =

gother =

oall = a

要增加对一个文件或子目录的授权,需使用+, 要删除对其授权,需使用-。例,我们取消用户组对该文件的写盘权利:

-rw-rw-r--1 pamstaff4233 Dec5 09∶35 onehtml

要实现该目的我们还需用到chmod指令来改变对文件的存取方式。

sutrohotwiredcom\[~/unixclass\]% chmod g-wonehtml

sutrohotwiredcom\[~/unixclass\]% ls -l

total 19

-rw-r--r--1 pamstaff4233 Dec5 10∶59 onehtml

要使所有人都可以执行某个程序,则:

sutrohotwiredcom\[~/unixclass\]%ls -l svensprogrampl

-rw-rw-r--1 pamstaff0 Dec5 11∶02 svensprogrampl

sutrohotwiredcom\[~/unixclass\]% chmod a+x svensprogrampl

sutrohotwiredcom\[~/unixclass\]% ls -l

total 19

-rwxrwxr-x1 pamstaff0 Dec5 11∶02 svensprogrampl

要改变文件的主人,使用chown指令:

sutrohotwiredcom\[~/unixclass\]% ls -l svensprogrampl

-rwxrwxr-x1 pamstaff0 Dec5 11∶02 svensprogrampl

sutrohotwiredcom\[~/unixclass\]% chown sven svensprogrampl

sutrohotwiredcom\[~/unixclass\]% ls -l

total 19

-rwxrwxr-x1 svenstaff0 Dec5 11∶02 svensprogrampl

要改变可以存取该文件的用户组权限的设置,使用chgrp指令:

sutrohotwiredcom\[~/unixclass\]% ls -l svensprogrampl

-rwxrwxr-x1 svenstaff0 Dec5 11∶02 svensprogrampl

sutrohotwiredcom\[~/unixclass\]% chgrp infomgr svensprogrampl

svensprogrampl - Not privileged

文本编辑器

一、VI

最常用的文本编辑器是vi,它对于机用户最为合适。你只需知道几个基本指令便可开始使用

要启动vi,只需在指令提示符后键入vi

sutrohotwiredcom\[~/unixclass\]% vi myfilehtml

使用vi的不便之处在于你必须告诉它你将添加或删除文本,而不能简单地键入文本或删除文本,你必须使用下列指令:

要添加文本 -按esc键和字母i键(用于插入文字)

要删除文本 -按esc键和字母x键(用于删除文字)

要删除整行内容 -按esc键和字母键dd

要保存文件 -按esc键并键入:w,然后按回车

要保存并退出vi -按esc键,并键入:wq并按回车

二、PICO

如果你是一个初学者,Pico可能会是你的最佳选择。你只需键入

sutrohotwiredcom\[~/unixclass\]%pico myfilehtml

然后你就进入了该编辑器。所有的指令都列在屏幕顶端和底部。但注意经常保存文件。