UNIX参考大全Word格式文档下载.docx
《UNIX参考大全Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《UNIX参考大全Word格式文档下载.docx(31页珍藏版)》请在冰点文库上搜索。
1.8.6标准输入与标准输出20
1.8.7shell变量21
1.8.8后台运行shell命令22
1.8.9作业控制22
1.8.10去掉命令行中的特定内涵23
1.9高级的SHELL(增强版shell)23
1.10使用vi和emacs进行文本编辑23
1.10.1vi编辑器23
1.10.2使用emacs进行编辑28
一基础
一.1背景
一.1.1为什么UNIX系统很重要
UNIX系统的成功归功于许多因素,包括很广范围内的机器可移植性,它的执行核心的简洁性,执行范围的宽广性,它的多用户、多任务特性,还有随着Internet的繁荣而日渐重要的网络适应性,还有以下的特性:
开放式源码
这一开放性导致了各种新功能和为了满足特殊要求的特殊版本,促进了UNIX系统的进化。
合作化的工具和实用程序
多用户和多任务能力
优秀的网络环境
UNIX系统为网络提供了一个极好的环境,它自带了很多程序和实用工具,可以创建网络应用程序,并提供建立作为分布式或网络计算机基础的网络化应用所需的服务和网络计算。
可移植性
UNIX系统的可移植性是它几乎完全用C语言编写的结果。
一.1.2什么是UNIX系统
UNIX操作系统由内核、shell、文件系统以及命令等主要控件组成,下图展示了用户、shell、内核和硬件之间的关系:
应用程序/实用程序
文件系统
UNIX系统中用来组织信息的基本单位是文件。
UNIX文件系统提供了一个组织、存储、检索、处理和管理信息的逻辑方法。
文件被组织在一起就形成目录。
UNIX系统的一个重要精简化了的特性就是它看待文件的通用方法。
如:
将物理设备看作文件。
Shell
SHELL读用户的命令并把它们理解为执行一个或多个程序的请求,然后安排去执行它们,也被称为命令解释器。
内核
内核是操作系统直接与计算机硬件交互的部分。
交互是通过在内核中的设备驱动程序进行的。
一.1.3UNIX系统宗旨
UNIX系统宗旨基于这样一个思想,那就是一个功能强大与复杂的计算机系统仍然要保持简洁、通用和可扩展性,还有使它既为用户也为程序开发人员提供便利。
换种表达方式是“小巧则是美”,在UNIX系统对待文件方法上以及注重软件工具方面特别体现了这种态度。
一.1.4UNIX系统的诞生
七十年代AT&
T贝尔实验室。
UNIX系统V
伯克利软件发行(BSD)
XENIX系统
一.1.5现代史——大联合
UNIXSystemVRelease4达到了其提供一个统一的UNIX系统环境的目标,满足了广大用户的要求。
由于这一点,SVR4一直作为UNIX进一步进化的重要基础。
一.1.6UNIXSystemVRelease4
Release4中的改动
Release4中的变动涉及UNIX系统的许多方面,其中包括内核、命令和应用程序、文件系统以及SHELL。
我们将研究内核的改进和用户级改进,而不是所有的特性。
Release4中的特性和改造包括:
统一了命令集
该命令集来自BSD系统、XENIX系统以及SUNOS的大多数流行的命令合并构成的,也增加了新命令和更新了一些老命令。
SHELL
提供包括BSHELL、KSHELL和CSHELL。
目录树
目录树的规划考虑了网络环境和远程文件共享特性。
输入/输出和系统存取
通过在内核和设备之间的设备-内核接口实现使程序员轻松使用新的系统设备;
另外引入了一个用于系统存取的通用接口,系统存取可以通过终端、局域网或远程方式进行。
实时处理
为了把实时处理容纳进来,Release4支持两种不同类型的进程:
分时和实时。
系统管理
网络
Release4的网络特性包括:
允许应用程序选择用以通信的网络选择功能;
客户机中用来确定提供特定服务的服务器的名称到地址的转换机制;
提供一个单独的进程对系统的所有外部访问进行管理的服务存取设施(SAF);
允许文件在任何类型的网上传输并与媒体无关的uucp;
用于远程文件共享的网络文件系统(NFS);
远程调用协议(RPC)以及外部数据表示(XDR)等网络特性;
TCP/IP……
用户接口
国际化
应用程序开发
文件系统与操作
内存管理
一.1.7现代UNIX历史
开放软件基金会(OSF)
由IBM、DEC和HP公司在88年创立,目的是为了开发与UNIXSystemVRelease4抗争的UNIX系统版本。
现在充当了系统技术的交换场所,而不再开发新技术。
X/OPEN联合会
X/OPEN的目标是对软件接口进行标准化,并通过发布他们的通用应用环境向这一目标努力。
X/OPENAPI
该规范使得UNIX系统的软件厂商能开发出可在所有支持这套规范的UNIX平台上运行的应用程序。
通用开放软件环境(COSE)
UNIX系统实验室,Novell及Sco
开放用户团体
UNIX98
开放用户团体把UNIX98作为符合真正UNIX规范第二版系统的指定标准。
UNIX98是用于不同类型的计算机的一系列标准
一.1.8UNIX变种
Linux
Linux符合POSIX.1标准。
Solaris
SunMicrosystems最初的操作系统叫做SunOS,之后成立了独立子公司SunSoft,并形成了Solaris系列版本。
SCOUNIX和UNIXWARE
SantaCruzOperation(SCO)的原始版本基于UNIXSystemV/386Release3.2,并深化成OpenServer产品线,最新版本是SCOOpenServerRelease5。
另外,基于Novell的Unixware是主推的网络操作系统。
SystemVRelease4
IRIX
IRIX是由SiliconGraphics公司提供的、专用于它的MIPS工作站的SystemV专利版本。
HP-UX
HP公司开发的用于它的计算机和工作站的操作系统,基于System5。
最新版本是HP-UX11.0。
ULTRIX、DECOSF/1、DigitalUNIX及tru64UNIX
DigitalUNIX的UNIX版本。
AIX
IBM的UNIX操作系统版本,主要为IBM工作站而开发的。
最新的AIX版本是64位的AIX4.3。
A/UX
A/UX(Apple’sUNIX的缩写)是Apple公司的一个UNIX操作系统。
它只能在Macintosh计算机上运行。
一.1.9UNIX系统与WindowsNT
WindowsNT与UNIX系统的区别
两者都是多任务操作系统,UNIX同时支持多个用户,而WIN/NT一次只支持一个用户;
WIN/NT是32位操作系统,而大多数UNIX是64位操作系统;
WIN/NT是事件驱动型操作系统,而UNIX是进程驱动型操作系统;
……
在服务器方面UNIX与NT的比较
对于使用超大型数据库,拥有多达128个处理器和系统的大型应用程序来说,UNIX比NT更有缩放性,NT只能支持2GB的可寻址空间和32个处理器。
可靠性是UNIX超越NT的领域,在一个集群中的机器之间均衡负载是另一个UNIX比NT超前的领域。
一.2开始
一.2.1开始
你访问的UNIX系统的配置能基于两种模式之一:
使用一个多用户计算机或使用一台单用户计算机。
显示器:
字符界面或图形界面;
键盘:
UNIX系统是大小写敏感的。
一.2.2进入UNIX系统
一.2.2.1登录之前
如果使用PC或终端登录到一个多用户系统而不是登录到自己的个人UNIX系统的话,首先需要设置PC或终端。
从一个PC进入UNIX系统
使用运行于PC上的被称为终端仿真器的应用软件包,如MicrosoftTerminal,还要设置与主机的通讯参数。
从一个终端进入UNIX系统
一.2.2.2选择登录帐号
UNIX系统对登录名的选择限制:
●登录名必须长于2个字符,如果长于8个字符,仅仅前面的字符起作用;
●登录名可以是字母和数字的任意组合;
●登录名不能包括符号或空格,某些登录名是系统保留的。
一.2.2.3联上UNIX系统
直接连接:
使用串口通讯线;
拨号访问:
使用MODEM拨入与计算机连接;
局域网:
局域网上广泛使用的协议是TCP/IP;
IP网络:
如果PC连在I网上,如Internet,可以使用telnet命令访问网上连接的计算机。
一.2.2.4登录
登录后,UNIX系统确认用户身份,并且定制用户工作期间的环境。
一.2.2.5改变密码
Passwd命令
如何挑选密码
UNIX对密码进行的限制如下(C2级):
●每个密码至少6个字符长;
●每个密码必须至少包含两个字母、一个数字或特殊字符;
●登录名的倒序或乱序都不能作为密码;
●改变密码时,大小写字符被认为是一致的;
●新的密码与前一密码至少有三个字符是不同的。
UNIX系统密码安全性能
在初登录时改变密码
有的系统要求你在第一次登录时改变密码。
密码的老化
为保证密码的安全性,系统不允许长时间使用同一个密码。
密码有效时间常常由系统管理员决定。
一.2.2.6不正确的登录
如果不断输入错误的登录名或密码(次数取决于系统设置),UNIX系统将会断开连接。
一.2.2.7当天的消息(MOTD)
登录后,首先可以看到的就是当天的消息(MOTD)。
该消息可以由系统管理员设置。
一.2.2.8UNIX系统提示
缺省的系统提示符是美元符号:
‘$’。
UNIX系统允许你定义一个提示符串“PS1”来作为命令提示符。
PS1是一个SHELL变量,要改变命令提示符,可把PS1设为某个新字符串。
一.2.2.9新闻
$news
查看系统发给本用户的新闻。
一.2.2.10在UNIX系统上输入命令
UNIX系统向用户提供了大量应用程序,要运行就要输入相应的命令,并把结果显示在屏幕上。
一.2.2.11命令选项及自变量
UNIX系统命令有三种结构:
有些命令是单独使用的,有些命令需要有变量,还有些命令向你提供选项。
一.2.2.12who命令
查找在同一系统上的其它用户。
一.2.2.13finger命令
$finger[用户名]
finger命令向你提供登录在系统中的用户的更完整的信息。
一.2.2.14write命令
用write命令,可以把一条消息直接送到另一个用户的终端去。
一.2.2.15talk命令
talk是终端通讯的增强程序,允许双方进行交互。
Talk把每个用户屏幕分成上下两部分,分别显示输入的信息和对方传来的信息。
一.2.2.16mesg命令
可以接受或拒收talk或write命令发送过来的消息。
一.2.2.17wall命令
向登录在系统上的所有用户发消息。
一.2.3从电子邮件开始
发信、收信和读信需要通过一个邮件程序来进行。
UNIX提供了大量功能和复杂性大不相同的电子邮件程序,最基本的e-mail程序是mail命令。
一.2.4定制工作环境
可以设置.profile配置文件使得每次登录系统时对环境的改变可以自动进行。
每次登录时,UNIX系统检查名为.profile的文件并把工作环境设置成你所要求的那样。
一.2.5退出登录
$exit
在UNIX系统下,退出登录与关机是不一样的。
为避免出现问题,在关闭计算机前必须要运行shutdown命令。
一.3从Linux开始
一.4从Solaris开始
一.5从CDE开始
一.6基础:
文件和目录
一.6.1文件
在UNIX系统中,文件是保存信息的基本结构。
文件名唯一标识了一个文件,用户对文件进行操作时只需利用文件名,而UNIX操作系统负责定位文件所在的位置并维护它的有关文件的信息。
一.6.1.1组织文件
UNIX系统有一个根目录,它是整个系统文件结构的根,以‘/’表示。
在根目录下所有文件都是根据它们与根目录的相对位置来确定的。
一.6.1.2选择文件名
UNIX的文件名可以使用除了空字符或斜杠之外的所有字符,但是在命名文件时最好使用字母或数字字符。
另外需要特别注意的是UNIX对文件名是大小写敏感的。
一.6.1.3文件扩展名
UNIX系统对文件扩展名的限制与对文件名相同,一般需要遵守通常的用法。
一.6.2目录
目录提供了一种分类信息的方法。
一.6.2.1子目录
在UNIX系统上,目录可以含有其它目录,称为子目录。
可以把一个目录分成任意个子目录,每个目录也可以存放任意多个子目录。
一.6.2.2挑选目录名
命名目录时参考一个约定是一个好主意,这样就可以容易地看出目录内所包含的文件或子目录的含义。
一.6.3UNIX系统的文件类型
一.6.3.1普通文件
普通文件在UNIX系统是作为一个单位来对待的字符集合。
一.6.3.2链
链不是一种文件而是文件的另一个名字。
一.6.3.3符号链
符号链是一个只包含另一个文件的文件名的文件。
当操作系统对符号链进行操作时,实际上是对符号链所指向的文件进行操作。
符号链可以将多个文件名赋予一个文件,也可以将多个名赋予一个目录,也可以用于连接驻留在不同物理文件系统上的文件。
(为了区别链和符号链,链也被称为‘硬链接’)
一.6.3.4目录
目录也是一个文件,它用于保存其它文件及包含这些文件的位置、属性等信息。
一.6.3.5特殊文件
特殊文件是UNIX系统的一个特殊储存单位,一个特殊文件代表一个物理设备。
从用户的观点看,UNIX对普通文件和特殊文件同样看待。
一.6.4分层的文件结构
UNIX文件系统是树结构文件系统。
一.6.4.1路径名
一个文件从根开始的路径名称为全路径名或绝对路径名。
例:
/usr/Informix/etc/sqlhosts
相对路径名
用一个相对于现在目录的路径来引用文件,这样的路径称为相对路径名。
指定当前目录
点(.)用来指定当前所在的目录,此目录称为当前目录。
指定父目录
在UNIX中用两点代表当前目录的父目录,一个目录的父目录是目录树中带目录的上一层目录。
一.6.5使用文件和目录
一.6.5.1列出目录的内容
$ls
查看此目录的所有文件。
一.6.5.2查看文件
$cat文件名
cat接受用户指定的文件名作为操作对象,并且将它的内容显示在屏幕上。
cat输出的定向
$catfile1>
file2将文件1的内容输出到文件2中,其中‘>
’提供了一般的将命令的输出输入到一个文件中的方法。
>
file2将文件1的内容追加到文件2的末尾,而不破坏原有文件的内容。
用cat命令组合文件
$catfile1file2>
file3
用cat创建文件
$cat>
memo,将键入的所有内容都送到文件memo中。
一.6.5.3打印当前目录的名字
$pwd
一.6.5.4改变目录
$cd
一.6.5.5目录树
UNIX各版本使用的公共目录:
/、/sbin、/dev、/etc、/opt、/home、/tmp、/var、/mnt、/proc、/usr
一.7文件和目录操作
一.7.1文件操作
一.7.1.1如何移动文件和目录、更改文件名和目录名
$mv
一.7.1.2如何拷贝文件
$cp
一.7.1.3如何拷贝目录的内容
$cp-r
一.7.1.4如何链接文件
$ln
ln命令会在目录入口间建立链接,能够让一个文件在目录系统中两个或更多的地方被访问到。
一.7.1.5如何删除文件
$rm
一.7.1.6如何恢复文件
当使用rm删除文件时,文件就被彻底清除了。
避免误删的方法是通过使用一个shell命令文件,把那些你想删除的文件放进一个临时目录下,这样就可以在需要的时候进行恢复。
一.7.2如何创建目录
$mkdir
一.7.3如何删除目录
$rmdir
删除空目录。
$rm-r
可以删除空/非空目录。
一.7.4关于列出文件
一.7.4.1如何列出隐含文件
$ls-a
一.7.4.2如何用标记列出目录内容
$ls-F
在列出文件的同时,标明文件类型(普通文件、目录、链接……)。
一.7.4.3如何显示非打印字符
$ls–b或$ls-q
一.7.4.4如何选择列出文件的顺序
$ls–t
根据文件创建时间或最后访问时间的顺序。
$ls-r
实现颠倒某一排列顺序的选项。
一.7.4.5如何使用ls的完全输出任选项
$ls–l
total28
drwxr-xr-x3yougroup1362Nov2902:
34letters
lrwxr-xr-x3yougroup1666Apr121:
27memos
-rwxr-xr-x3yougroup182Feb208:
08notes
各部分的含义如下:
1、文件类型及存取权限
2、文件的链接总数
3、文件所有者
4、文件所在的组
5、用字节表示的文件大小
6、文件最后修改时间
7、文件名
一.7.4.6如何在当前目录树中列出文件
$ls-R
列出当前目录下的所有文件,及它的子目录下的所有文件,如此类推,直到列完所有文件。
一.7.5访问权限
UNIX有被三类所有者所使用的三类访问权限。
三类使用者分别是:
文件所有者(属主)、文件所有者所属的组中的用户、系统中的其它用户。
如ls–l所列,在访问权限部分中,前三个字母指的是文件所有者的访问权限,接着三个字母是文件所有者所属的组的访问权限,最后三个字母指的是系统中其它用户的访问权限。
r(可读)、w(可写)、x(可执行)
一.7.5.1目录的访问权限
对于目录来说,有读权限允许列出目录的内容,有写权限允许在目录下创建或删除文件和目录,有执行权限则允许使用cd命令转到该目录下并使之成为当前工作目录,或者将其作为路径名的一部分。
一.7.5.2chmod命令
在使用chmod命令时,首先要指定要改变哪一类用户的权限:
u代表文件所有者自己、g代表文件所有者所在的用户组、o代表系统中其它用户。
其次,要指定如何改变文件访问权限,‘+’用来增加权限,‘-’用来去掉权限。
例:
$chmodugo+wmemos,文件的所有用户增加写权限,也可以写成:
$chmodugo+0444memos
一.7.5.3如何使用umask命令来设置访问权限
该命令允许用户在创建文件或目录时由系统自动设置其访问权限。
系统具备缺省的值,使用$umask022之后,系统将用缺省的值与022相减,并影响之后的操作。
一.7.5.4如何改变文件的所有者
$chown属主名文件名
一.7.5.5如何改变文件所在的用户组
$chgrp属组名文件名
一.7.6再论文件操作
一.7.6.1如何使用find命令查找文件
该命令用于在文件系统中查找某个特定的文件,find命令的功能非常强大,但其任选项很多,难于记忆。
下面只介绍一些简单的查找:
$find.–namenew_data–print,从当前目录下逐级查找new_data并打印结果;
$find/-name“*data*”–print,从根目录下查找含有“data”串的文件;
$find/-namedata–print>
found&
,从根目录下查找data文件,结果保留在文件found中,后台执行;
$find.–name“garden*”–usue–typed–print,查找属于用户sue的,名字以“garden”打头的目录。
一.7.6.2如何查看文件类型
$file
该命令能够对给定的文件报告其类型。
一.7.7如何分页查看长文件
一.7.7.1如何使用命令pg
pg命令一次显示一个屏幕的正文。
在显示一屏正文后,它会提示你输入控制命令,可以使用pg中的命令前向或后向查看一行或若干行的内容,也可以前向或后向查看半屏或整屏的内容,还可以查找并显示包含特定字符串的内容。
$pg文件名
<
RENTURN>
显示下一屏,‘-n’或‘+n’向前或向后查看某一屏的内容(n表示第几屏),‘nl’可以向前或向后滚动一行或多行。
使用在两个斜杠之间加入一个字符串在文件中查找这个特定的字符串:
/?
?
/
在pg提示符下输入s文件名,可以将屏幕显示的内容保存在文件中。
可以使用管道得到输入:
$ls–l|pg。
一.7.7.2如何使用more命令
其功能与pg类似。
一.7.7.3如何使用less命令
less命令实际上是more命令的扩展。
一.7.8怎样查看文件的开头和结尾
$head–n文件名
显示指定文件的前n行内容。
$tail–n文件名
显示指定文件的后n行内容。
一.7.9如何打印文件
一.7.9.1如何将输出传送到打印机
$lpfile1file2
系统回显:
requestidisx37-145(2file)
上述命令打印文件file1,从lp返回的确认信息包括“请求标识”,用户可以用它来检查打印作业的状态或用来撤消已经提交的打印作业。
一.7.9.2如何指定打印机
$lp–d打印机名文件名
一般lp会使用缺省的打印机,也可以用-d选项指定打印机。
一.7.9.3如何使用假脱机方式打印
UNIX打印系统使用假脱机方式进