与大家熟悉的Windows用户界面和使用习惯不同,Unix是常使用命令运行、极具灵活性的操作系统,目前的产品主要有IBM-AIX,SUN-Solaris、HP-UNIX等。初期接触Unix操作系统,下列的问题几乎是常遇的:由图形界面操作转到以命令行方式操作的不习惯性;在短期内掌握全部命令的困难性;针对同一操作有几个命令的难选择性;不同shell命令格式的易混淆性,等等。根据上述的实际情况,本文遵循“避繁就简、避滥就精,不求详尽、只求适用”的原则,以初学者上机的必经过程为思路,力求用层次分明的浚理和详略得当的阐释,解读该操作系统使用的基本须知内容,以期达到便捷入门和较快精进的目的。
Unix操作系统是一种强大的多任务、多用户操作系统。按照操作系统的分类,属于分时操作系统。早在上世纪六十年代未,AT&T Bell实验室的Ken Thompson、Dennis Ritchie及其他研究人员为了满足研究环境的需要,结合多路存取计算机系统(Multiplexed Information and Computing System)研究项目的诸多特点,开发出了Unix操作系统。目前商标权有国际开发标准组织(The Open Group)所拥有。至今,Unix本身固有的可移植性使它能够用于任何类型的计算机:微机、工作站、小型机、多处理机和大型机等。
美国电话及电报公司、通用电器公司及麻省理工学院计划开发一个多用途、分时及多用户的操作系统,即MULTICS操作系统。1969年2月,贝尔实验室推出这个项目。 贝尔实验室有个叫Ken Thompson的人,他为这个系统写了一个叫“SpaceTravel”的游戏,为了让这个游戏能玩,后来他找来Dennis Ritchie为这个游戏开发一个极其简单的操作系统,即Unix。
1971年,Ken Thompson写了申请报告,申请到了PDP-11/24的机器,第一版Unix出现了。Unix占用了12KB的内存。1973年,Ken Thompson与Dennis Ritchie用高级语言完成了第三版。此时他们将B语言改良成为现在使用的C语言。
1974年7月他们在 the Communications of the ACM发表的“The UNIX Time Sharing System”,是UNIX与外界的首次接触。
1978年,伯克利大学在第六版的基础上,推出了新功能和改进的Unix,开创了Unix的一个分支:BSD系列,同时期,AT&T成立USG将Unix产品商业化,和BSD的Unix相互抗衡,因此Unix就分为System IV和4.x BSD这两大主流
1979年发布的Unix 第七版被称为是“最后一个真正的Unix”,该版本内核只有40KB
多任务、多用户并行处理能力,安全保护机制,功能强大的shell,强大的网络支持,Internet上各种服务器的首选操作系统,稳定性好,系统源代码用C语言写成,移植性强,出售方源代码,软件厂家自己增删。
内核(Kernel)、Shell(外壳)和文件系统。
内核是Unix操作系统的核心,直接控制着计算机的各种资源,能有效地管理硬件设备、内存空间和进程等,使得用户程序不受错综复杂的硬件事件细节的影响。
Shell是Unix内核与用户之间的接口,是Unix的命令解释器。目前常见的Shell有Bourne Shell(sh)、Korn Shell(ksh)、C Shell(csh)、Bourne-again Shell(bash),本文主要以csh和bash为例。
文件系统是指对存储在存储设备(如硬盘)中的文件所进行的组织管理,通常是按照目录层次的方式进行组织。每个目录可以包括多个子目录以及文件,系统以 / 为根目录。常见的目录有 /etc (常用于存放系统配置及管理文件)、/dev (常用于存放外围设备文件)、/usr (常用于存放与用户相关的文件)等。
主要有A/UX,AIX,HP-UX,IRIX,LynxOS,SCOOpenServer,Tru64,Xenix
A/UX是苹果电脑公司所开发的UNIX操作系统,A/UX于1988年首次发表,最终的版本为3.1.1版
AIX是IBM开发的一套UNIX操作系统
Solaris是SUN公司研制的类Unix操作系统。目前最新版为Solaris 10
HP-UXHP-UX是惠普科技公司以SystemV为基础所研发成的类UNIX操作系统
IRIX是由硅谷图形公司以System V与BSD延伸程序为基础所发展成的UNIX操作系统
Xenix是由微软公司在1979年从美国电话 电报公司获得授权,为Intel处理器所开发,后来,SCO公司收购了其独家使用权
主要有386BSD,DragonFly BSD,FreeBSD,NetBSD,NEXTSTEP,Mac OS X,OpenBSD,Solaris
FreeBSD是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支
NetBSD 是免费的、安全的具有高度可定制性的类Unix操作系统
OpenBSD是从NetBSD衍生出来的类Unix操作系统
DragonFly是以与 FreeBSD 采用的实现方式不同的方式来实现并发、SMP、集群以及其他操作系统特性的 BSD 分支
Mac OS X是苹果公司(原苹果电脑公司)为麦金塔电脑开发的专属操作系统Mac OS的最新版本
Linux是一类Unix计算机操作系统的统称,后面再主要介绍。
Minix是一个迷你版本的类Unix操作系统,其它类似的系统还有Idris,Coherent,和Uniflex等,它是荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授所发展的一个类Unix操作系统。
初次使用Unix,最常见的操作不外乎创建新目录、创建新文件、进入指定的目录、显示目录内容、显示当前所处的路径、查看文件内容、拷贝文件、移动文件、删除文件、删除目录、查看系统帮助等,那我们就模拟这些必经过程来练习基本操作吧。
(1)在当前目录下创建两个目录dir1,dir2:
mkdir dir1 dir2 //输入命令后记得敲一下回车键:)
(2)进入目录dir1中创建文件file1,file2:
cd dir1 //进入目录dir1
touch file1 file2 //创建文件file1,file2
(3)再进入目录dir2中创建文件file3,file4:
cd … //返回上一级目录
cd dir2 //进入目录dir2
touch file3 file4 //创建文件file3,file4
(4)查看目录dir2中所含的文件及子目录情况:
ls //这时会看到屏幕显示出目录dir2中有2个文件file3和file4
(5)往文件file3中写入信息,并将其拷贝到目录dir1中:
cal 5 2005 > file3 //该句命令后文会有详细讲解,此处照样输入即可
**cp file3 …/dir1 **
(6)回到目录dir1中,查看所含的文件及子目录情况:
**cd … **
**cd dir1 **
ls //这时会看到屏幕显示出目录dir1中有3个文件file1、file2、file3
(7)再查看一下文件file3中内容,并将该文件删除:
cat file3 //这时会看到屏幕显示2005年5月份的日历
rm file3 //删除文件file3
(8)将文件file1移动到目录dir2中,同时查看目录dir1、dir2所含文件及子目录情况:
**mv file1 …/dir2 **
ls //这时会看到屏幕显示出目录dir1中有1个文件file2
ls …/dir2 //这时会看到屏幕显示出目录dir2中有3个文件file1、file3、file4
(9)显示当前所处的路径,并删除目录dir1:
pwd
cd …
rm –r dir1
(10)显示ls命令的系统帮助:
man ls
man ls | more //对于| more的使用后文将会进行详细解释,这里只需知道使用空格键是往前翻看帮助文档即可。
下面就让我们从头开始作登陆系统的操作吧
如果在本机上已安装了Unix操作系统,比如安装了SUN-Solaris,则只需启动系统
我们这里主要是使用命令行方式来使用Solaris,因此点按住“Options”按钮,这时会出现选项菜单;
将鼠标移动到“Command Line Login”项上后弹开。然后在出现画面时,敲击回车键。
这样,我们就能使用命令行来操纵操作系统了。这时会要求用户输入用户名及口令,默认情况下可使用用户名“root”、口令为空来进入系统。
如果用户是在本机上通过网络对远程装有Unix操作系统的主机进行操作,则可以使用telnet进行访问。假设该装有Unix操作系统主机的IP地址为198.4.30.25,用户使用的操作系统是WindowsXP,则可以进入“DOS命令提示符”状态,输入以下命令:
telnet 198.4.30.25
login: //输入登录用户名
password: //输入登录口令
倘若用户使用的是Red Hat Linux系统,则可以在桌面上右击鼠标,在弹出的菜单中选择“新建终端”项,再在随后弹出的窗口中进行相同的操作。通常用户若是第一次登入某远程主机,还需要先进行注册操作,具体情况视该远程主机操作的说明而定。
要注意,在每次使用完毕要退出Unix系统之前,一定要进行注销,以防止他人通过你的账号进入系统,保证系统的完整性。输入命令“exit”即可完成注销过程。
经过前面的上机操作,大家对于如何使用Unix系统应该有了一定的感性认识。为了下一步更深入的了解掌握Unix系统及使用的一些技巧,这里再对相关的应知内容做一补叙与准备。
上文中曾简要介绍过的Shell,不同Shell的命令格式会略有差异,现今最常使用的Shell是C Shell(csh)和Bourne-again Shell(bash)。Shell之间可以嵌套,即在C Shell环境中,输入命令:
bash
就能进入Bourne-again Shell的使用环境。同理在Bourne-again Shell环境中,输入命令:
csh
就能进入C Shell的使用环境。大家可依据自己的使用习惯来选择相应的Shell。
1、Unix命令提示符
在命令行操作环境下,Unix系统会显示一提示符,提示用户可以在此提示符后输入一行命令。不同的Shell有不同的缺省提示符,如B Shell、Bourne-again Shell的缺省提示符为"$",C Shell的缺省提示符为"%"。但当以root用户登录时,系统提示符统一缺省为"#"。
2、基本命令格式
Unix命令的基本格式如下:
Command [option(s)] [argument(s)]
Unix命令由一个命令(command)和零到多个参数构成。Unix的命令区分大小写,且命令和参数之间、参数与参数之间都应用空格隔开。
1、Unix文件系统分类
Unix操作系统可由多个可以动态安装及拆卸的文件系统组成。Unix文件系统主要分为两大类:根文件系统和附加文件系统。根文件系统是Unix系统至少应含有的一个文件系统,它包含了构成操作系统的有关程序和目录,由“/”符号来表示。附加文件系统是除根文件系统以外的其它文件系统,它必须挂(mount)到根文件系统的某个目录下才能使用。本文中若无特别声明,则都是针对根文件系统来进行说明的。
2、Unix文件类型
在Unix中文件共分为四种:
(1)普通文件(-):又分为文本文件、二进制文件、数据文件;
(2)目录文件(d);
(3)设备文件(l);
(4)链接文件(b/c):又可分为块设备文件、字符设备文件。
普通文件中的文本文件主要包括ASCII文本文件、英文文本文件和一些可执行的脚本文件等;二进制文件主要是32位的可执行文件等;数据文件主要是系统中的应用程序运行时产生的文件。
目录文件是用来存放文件目录的。
设备文件代表着某种设备,一般放在/dev目录下。它分为块设备文件和字符设备文件,块设备文件以区块为输入输出单元,如磁盘;字符设备文件是以字符作为输入输出单元,如串口。
链接文件类似于Windows系统中的快捷方式,它指向链接文件所链接着的文件。
值得注意的是,与Windows系统不同,Unix系统中目录本身就是一个文件,另外文件类型与文件的后缀名无关。
不同类型的文件有着不同的文件类型标识(可使用“ls -l”命令来进行查看),它们使用下列符号来表示相应的文件类型:
- 普通文件
d 目录文件
b 块设备文件
c 字符设备文件
l 链接文件
3、Unix目录结构
Unix系统采用树型的目录结构来组织文件,每一个目录可能包含了文件和其他的目录。该结构以根目录“/”为起点向下展开,每个目录可以有许多子目录,但每个目录都只能有一个父目录。
4、Unix文件名称
Unix文件名称的最大长度为256字符,其对字母大小写敏感,比如file1和File1是表示两个不同的文件。要说明的是,如果用“.”作为文件名的第一个字母,则表示此文件为隐含文件,如“.cshrc””文件(对于此文件,后文将有介绍)。
值得说明的是,当创建了一个目录或文件时所赋予它的名字并非它的全名。一个目录的全名就是它的完整路径名,而一个文件的全名应该是由根目录到该文件所在目录的这条路径上的所有目录名再加上此文件的名称组成,相互之间用“/”分隔。如有一文件resume处于目录/export/home/ray中,则该文件的全名应为:/export/home/ray/ resume。
此外,对于路径名还会有绝对路径和相对路径这样两个概念。绝对路径是指一个目录或文件的全路径名,即以根目录为起始的路径。相对路径则以用户当前工作目录为起始,它是一个相对于用户的工作目录的文件路径。由于从根目录到用户的主目录的绝对路径可能会比较复杂,在csh和bash中可以使用一种特殊字符“~”来代表用户的主目录的绝对路径名。另外,“.”可用来表示当前工作目录,“…”可用来表示当前工作目录的父目录。
说明:
工作目录是指用户当前正在其中进行操作的目录。 |
---|
用户主目录是Unix系统管理员为每位用户分配的使用空间,该目录名与用户登陆账户同名。用户如以任何除“root”外的账户登入系统,则用户自动登入的就是该用户主目录。 |
在了解掌握上述应知应会内容之后,下一步就可深入到Unix系统命令集合及其使用技巧,这里就不再多多掇溯了。