分享知识,共同进步

两个重要的.profile文件

上一篇 / 下一篇  2009-05-15 18:00:07 / 个人分类:unix

两个重要的profile文件
UNIX/Xenix系统中有两个对用户而言必不可少的文件——etc目录下的profile文件和
用户主目录($HOME)下的.profile文件。前者是系统文件,对系统下全体用户起作用,后者是
用户自己的"私人"文件。
这两个文件的功能类似于DOS系统下的Autoexec.bat文件,不同之处在于Autoexec.bat
件可以为空,而这两个文件内容不仅不能为空,而且必须存在。它们在用户登录(Login注册)
,被系统自动执行,为用户设置工作环境,若使用得当,可发挥强大作用。

etc
目录下的profile文件是每一个用户登录时,操作系统首先执行的文件,然后再将控制
权交给用户主目录下的.profile文件,当系统给出主提示符($PS1),用户就可以开始自己的
工作了。以上全过程对用户而言是透明的。
/etc/profile
文件的主要功能包括:显示UNIX/Xenix版本信息或者系统专用应用程序的
提示信息,设置掩码(umask),对终端和邮箱(mail box)进行处理,对非root用户禁止使用news命令等。
因为/etc/profile文件的作用范围是全体用户,所以非共性的设置应放在用户自己的.profile文件中。下面就详细讲述.profile文件。
.profile
是隐含文件,普通的列目录命令(llslf,ls-l)显示不出该文件。UNIX/Xenix系统所有隐藏文件前都有"."符。
显示UNIX/Xenix系统中的隐含文件属性用以下命令:
$l - a
原始的.profile文件是系统管理员使用Sysadmsh命令或mkdev user命令创建用户时,

统为该用户自动生成的,用户可使用vi编辑该文件为自己所用。.profile文件产生的效用直
至用户退出系统后才消失,而当用户重新登录时,又开始发挥作用。
设置终端类型
用户使用UNIX/Xenix系统时可能会遇到这样一个现象:每次登录后,系统会要求用户敲入
终端类型,然后在用户输入相应信息后,才给出提示符。这是为什么呢?
原来在原始.profile文件中有这样一个语句
:
eval ‘test -m ansi:ansi -m:${TERM:ansi}-r -s -Q’
该语句的作用是要求用户敲入所使用终端的类型并进行测试

如果我们在.profile文件中加入以下命令:
TERM=terminal-name
TERM
变量指明终端类型。

:TERM=vt100,并且注释掉eval语句。这样处理以后,用户再注册时,就无需敲入终端类
型了。
定义PATH变量
该变量类似于DOS系统的PATH变量,其格式如下:
PATH=$PATH:$HOME/bin:/usr/informix/bin:.
说明
:

1.
该语句未尾的"·"表示当前路径,不可缺少
;

2.
不同路径间用":"隔开
;

3.$PATH
是系统中提供的默认变量,其初始值为
/bin:/usr/bin;

4.
路径的顺序是很重要的,前后次序不宜随便颠倒。比如用户自编了一个与系统命

令同名的可执行文件,并将其放在$HOME,并且打算使用这个命令而不是系统提供的同
名命令,那么PATH应设置为:
PATH=$HOME/bin:$PATH:/usr/informix/bin:.
因为,若不同路径下有相同的命令或可执行文件,则以第一个路径下的为准。这时
,SHEL
L
先搜索$HOME/bin路径,发现其下的这个可执行文件,就为用户调用,而不会再运行/bin或者

/usr/bin
下的标准同名命令了。
设置提示符
用户可以将PS1(主提示符)PS2(辅助提示符)改为更受欢迎的形式。通常情况下,以超
级用户登录时,主提示符为"#",其它用户为"$",PS2一般为"<"。修改提示符的方法如下:
格式
:PS1="$LOGNAME> "
说明:将主提示符由默认值改为用户注册名。

使用stty命令重设终端配置

1.
对数据传输方式进行设置
:对奇偶校验位、波特率(bps)大小、停止位位数进行重新设置。

2.
字符处理
1:stty nl
系统只接受字符作为换行符。

2:stty-nl
系统以(RETURN)字符做为换行符。

3:stty echo
置击键后屏幕回显。

4:stty-echo
置击键后,屏幕无显示方式。


3.
特殊键定义
1:
stty erase escape #
置抹除键(erase)escape

重置抹除键键值,缺省值为"#"
2:
stty kill delete #
置删行符(kill)delete

重置删行符,缺省值为"@"
3:
stty eof ctrl-D #
置文件结束符(eof)ctr-D

重置文件结束符。
4:
stty intr ctrl-C #
中断键可中止系统中绝大多数前台进程,是很重要的终端参数

重置终端中断键为ctrl-C键。

4.
其它常用stty命令
1:stty sane ctrl-J
若终端功能发生紊乱,可用该命令来重置终端设置,使之恢复其出厂参数。该命令以
"ct
rl-J"
作为行结束符,因为在终端参数紊乱的情况下,RETURN键的功能很可能已经失效,
ctr
l-J
命令是系统提供的强行回车键,在绝大多数情况下不会失效。

2:stty -a
该命令可以显示出终端的所有参数。

以上stty命令是UNIX系统提供的,可随时使用,用户可据自己的需要在.profile文件中设
定。
用户自定义SHELL变量
用户自定义SHELL变量是很有用的,使用情况也很广泛。其功能有些类似于C语言的宏定
(#define)。最常见的情况是将自己常去的而且很深的路径自定义为一个固定变量,放在.
profile
文件中。

:ML=/usr/work/source/firstml/secoudml
这时,若用户在主提示符($PS1)下键入
:
$>cd $ML
$>pwd #
显示当前路径

屏幕显示当前路径为:/usr/work/source/firstml/secondml
需注意的是:无论使用SHELL专用变量还是自定义变量,均需在变量(大写拼写)前加上"$
"
符。并且,在定义完所有变量后,需在.profile中使用export语句,它的作用是将变量设置在

SHELL
环境中,以在任意路径下使用。
:export SHELL ML TERM PATH MAIL PS1
使用Shell内部命令

用户可在.profile文件内使用SHELL内部命令和操作系统命令,Shell常用命令见下表。
@@28173000.GIF;
1@@
.profile
文件在Client/Server结构中的应用
<

TAG:

 

评分:0

我来说两句

Open Toolbar