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