LINUX与UNIX SHELL编程指南013.pdf
-
资源ID:70010398
资源大小:315.12KB
全文页数:7页
- 资源格式: PDF
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
LINUX与UNIX SHELL编程指南013.pdf
下载第13章 登 录 环 境登录系统时,在进入命令提示符前,系统要做两个工作。键入用户名和密码后,系统检查是否为有效用户,为此需查询/e t c/p a s s w d文件。如果登录名正确并且密码有效,开始下一步过程,即登录环境。本章内容有:登录过程。文件/e t c/p a s s w d。$HOME.profile。定制$H O M E.p r o f i l e。在进行下一步处理之前,先看看文件/e t c/p a s s w d。这是一个文本文件,可以任意修改其中的文本域,但要小心。此文本有 7个域,并用冒号作分隔符,以下是其部分文件内容列表。在顶端加有列号,这样各域标识得更加清晰。现在来看看各域,第 1域是登录名,第2域是加密的密码,第 5域是用户全名。第 6域是用户根目录,第7域是用户使用的s h e l l。这里/b i n/s h意即缺省为常规Bourne Shell。P a s s w d文件可能还有其他格式。其中的一个版本即为实际 p a s s w d域保存在另一个文件中。以上即为最普通格式。登录成功后,系统执行两个环境设置文件,第一个是/e t c/p r o f i l e,第二个是.p r o f i l e,位于用户根目录下。系统还会处理其他的初始化文件。这里只涉及 p r o f i l e文件。13.1 /etc/profile用户登录时,自动读取/e t c目录下p r o f i l e文件,此文件包含:全局或局部环境变量。PAT H信息。终端设置。安全命令。日期信息或放弃操作信息。下面就来详细解释上述各项内容。设置全局环境变量便于用户及其进程和应用访问它。第三部分登 录 环 境PAT H定位包含可执行文件,库文件及一般文本文件的目录位置,便于用户快速访问。终端设置使系统获知用户终端的一般特性。安全命令包括文件创建模式或敏感区域的双登录提示。日期信息是一个文本文件,保存用户登录时即将发生事件的记录或放弃登录的信息文件。以下是文件/e t c/p r o f i l e,列表后将予以讨论。126第三部分 登 录 环 境下载其中一些命令可能不好理解,不必担心,本书以后将陆续予以介绍。如果愿意,可以参照这个列表建立自己的p r o f i l e文件。第一行捕获两个信号,即使用Q U I T退出用户或键停止文件执行。接下来导出L O G N A M E;然后指定系统额外增加的 m a n页查询的位置。M A N PAT H将此位置加入存在的m a n页查询列表中。检查时区文件,如果存在,指定它作为时区源,设置终端类型为 v t 2 2 0。重新设置捕获信号,以便于用户读取日期文件信息,但此后必须再重新设置它。建立邮件信息(当有新邮件到达时显示此信息)。设置u m a s k值,使文件创建时带有一定的缺省权限位集。初始化环境变量,设置路径并导出,以便于用户使用。重新设置捕获信号和Q U I T。保存缺省的s t t y设置,便于用户退出查询系统时能够重新初始化终端设置。第13章 登 录 环 境127下载将所有连接注册到文件/v a r/a d m/m e s s a g e s,即缺省系统注册文件中。使用u l i m i t命令限制内存溢出或十六进制溢出数目。下面的一小段脚本限制用户最多同时登录两次,但不包括三个人(i d n k,p s a l o m,d a v e),如果有人试图登录超过两次,则令其退出登录进程。最后设置命令提示符到登录名。此环境设置为全局使用,下面在用户自己的 p r o f i l e文件中定制环境。13.2 用户的$HOME.profile/e t c/p r o f i l e文件执行时,用户将被放入到自己的$H O M E目录中,回过头来观察 p a s s w d文件,用户的$H O M E目录在倒数第2列。可以将之看作用户根目录,因为正是在这里存储了所有的私有信息。如果.p r o f i l e已经存在,系统将参照此文件,意即对此过程并不创建另一个 s h e l l,因而在/e t c/p r o f i l e下设置的环境不做改动,除非在.p r o f i l e中强制改动它。如果创建另一个进程,用户本地的s h e l l变量将被覆盖。回到.p r o f i l e,一般来说创建帐户时,一个 p r o f i l e文件的基本框架即随之创建。不要忘了在.p r o f i l e文件中可以通过设置相关条目以不同的值或使用 u s e t命令来覆盖/e t c/p r o f i l e文件中的设置。如果愿意,可以定制用户自己的.p r o f i l e文件。先来看看标准的.p r o f i l e文件。现在改动此文件。现在加入两个环境变量,如 E D I TO R,以使c r o n或其他应用获知正在使用的编辑器;将T E R M变量设置为v t 1 0 0,而不是v t 2 2 0。也可以创建b i n目录,将之加入路径(p a t h),目录结构中加一个 b i n目录是一个好习惯。在这里可以保存所有脚本,将之加入 PAT H后,就不必写入脚本的文件路径名全称,只键入脚本名即可。几乎没有人想在命令提示符中显示自己的登录名,而宁愿使用现在的目录路径或是正在使用的系统主机名做提示符。例如,下面显示了在命令提示符中如何设置主机名:如果用户位于当前目录下:如果上面的命令返回p w d,可使用如下命令:我通常设置辅助命令提示符(一般用于命令提示符里的多行命令)为符号,它的A S C I I代码值八进制数为2 5 1,十进制为1 6 9。128第三部分 登 录 环 境下载如果是L I N U X,那么在e c h o命令中使用八进制值,方法为:如果需要访问管理区/u s r/a d m i n,可将之加入环境变量,这样可以很容易地进入此目录。A D M I N=/u s r/a d m如果要知道用户本身登录后系统用户数,使用 w h o和w c命令。将上述设置加入.p r o f i l e文件。如果要使.p r o f i l e或/e t c/p r o f i l e文件改动生效,可以退出登录然后再登入,或者参照此文件设置。要参照此文件设置,格式为:./p a t h n a m e/f i l e n a m e要参照.p r o f i l e设置,键入:$.profile如果未成功,试试:$./profile以下为改动过的.p r o f i l e文件。13.3 stty用法s t t y用于设置终端特性。要查询现在的 s t t y选项,使用stty-a。第13章 登 录 环 境129下载设置终端时遇到的一个最普遍问题是退格键不起作用。这不是不可挽救的。本机 s t t y命令中?即为退格键,使用可能会退格并删除前一个字符。在命令行中设置一个 s t t y选项,一般格式为:stty name character以下将退格设置为 H:$stty erase H在.p r o f i l e文件中使用上述命令可能会碰到一些问题,因为 s t t y期望输入一个实际 C o n t r o lH 序列,在v i编辑器环境下使用下述方法解决它:按住C t r l键,同时按下V键,释放V键,再按下H键。最常用的s t t y命令使用在下述设置上:名称键含义i n t r C终止进程e c h o打开e c h o功能-e c h o关闭e c h o功能e o f D文件尾;注销k i l l Y删除一行s t a r t Q滚动屏幕文本s t o p S停止滚动屏幕文本s t t y的一个可用选项为:stty-g。此选项允许以可读格式保存s t t y现有设置,便于以后重置回s t t y。正像前面在文件/e t c/p r o f i l e中看到的一样。将stty-g内容放入一个变量中,工作完成后,任何改动的设置将被写回s t t y。在改变s t t y设置值并和终端打交道时,此方法很有用。这样可以很容易地存储其初始设置。下面的例子将s t t y的现有设置保存。使用 stty-g关掉e c h o,然后在脚本结尾处保存 s t t y初始设置。如果是LINUX,那么要使L I N U X知道正在使用字符串中转义字符,e c h o命令应加入-e,即echo-e。130第三部分 登 录 环 境下载s t t y命令可以与终端、打印机、调制解调器打交道,功能十分丰富。使用s t t y时要慎重,不要使用已经使用的键或无效值。13.4 创建.logout文件使用Bourne shell与其他s h e l l不同,其缺点是不包含.l o g o u t文件。此文件保存有执行e x i t命令时,在进程终止前执行的命令。但是通过使用t r a p命令(t r a p和信号将在本书后面讨论),Bourne shell也可以创建自己的.l o g o u t文件。方法如下:编辑.p r o f i l e文件,在最后一行加入下列命令,然后保存并退出。trap$HOME/.logout0再键入一个.l o g o u t文件,敲入下列执行命令。如果愿意,可以在此脚本中加入任何命令。用户退出时,调用.l o g o u t文件。过程如下:用户退出一个 s h e l l时,传送了一个信号 0,意即从现在s h e l l中退出,在控制返回s h e l l继续退出命令前,.p r o f i l e文件中t r a p行将捕获此信号并执行.l o g o u t。13.5 小结可以定制用户本身的.p r o f i l e以满足需求,本章讲述了如何覆盖系统设置以满足用户需求。从显示友好信息到终端特性设置,定制用户环境可以有许多方式。第13章 登 录 环 境131下载(续)