当前位置:文档之家› AIX 读取 profile 的机制

AIX 读取 profile 的机制

简介 AIX 读取 profile 的机制

在我们的工作中,经常会重复的敲击和记忆一样的命令,特别是那些冗长的路径。如果我们了解了 AIX 读取 profile 的机制,我们就可以提前设置我们的工作环境,给我们的日常工作带来极大的便利,提高我们的工作效率。

首先,我们要了解 shell 在登录的过程中是如何读取环境变量的。这样,我们可以在读取环境变量之前,设置我们想要的工作环境,让我们在工作中的效率更高。不需要每时每刻都要去记忆敲击一大堆带有冗长路径的命令。好吧,就让我们开始吧。

在 AIX 系统启动以后,如果我们登录系统并且登录用户的默认 shell 是 Korn Shell 的话,shell 会读取以前设置的初始化文件来设置登录用户的环境。用户环境的定义是通过设置环境变量来实现的。当登录操作系统时,shell 先执行

/etc/environment,后执行 /etc/profile 的。/etc/environment 是设置整个系统的环境,而 /etc/profile 是设置所有用户的环境,/etc/environment 与登录用户无关,/etc/profile 与用户相关。

登录时,这两个文件运行完毕后 , 系统会接着检查在登录用户的 home 目录下是否有 .profile 文件,如果“.profile” 文件存在 , 就执行它。“.profile”文件还会指出是否还有一个环境文件。如果有环境文件 (.env 或者 .kshrc) 存在 , 系统会运行这个文件 , 并设置登录用户的环境。

注意:“/etc/environment”,“/etc/profile”,“.profile”是在登录时执行一次。“.env”文件是我们每次打开一个新的终端的时候都会执行的。

介绍 profile 的组成

接下来,我们来了解一下 profile 相关文件的具体信息。

/etc/profile

用户在登录时 ,AIX 定制用户环境时使用的第一个文件就是 /etc/profile。这个文件保存着全系统范围内的缺省变量,比如 Export 变量 , 文件创建的掩码 , 终端类型等。

Root 用户为所有用户配置“.profile”文件 , 只有 Root 可以更改这个文件。

/etc/environment

在登录时 AIX 使用的第二个文件是 /etc/environment。/etc/environment 文件包含所有进程的基本环境变量。

下面是构成基本环境的变量 :

HOME: 用户登录的或 HOME 全路径 , 登录程序从 /etc/passwd 文件中读取并设置它。

LANG:语言环境

NLSPATH:消息目录的全路径。

LOCPATH:国际语言支持系统表格的全路径

PATH:搜寻命令的目录

TZ:时区信息,IBM 到现在还得用 TAIST ——台北时区

.profile

AIX 在登录时用到的第三个文件是 .profile 文件。 .profile 文件位于用户的 home 目录 , 它允许用户定制自己的个人的工作环境。大多数情况下,我们都需要使用这个文件来定制自己的工作环境。

在 LOGNAME 和 HOME 变量被加入到环境中后 ,$HOME/.profile 文件中的内容就会被执行。“.profile”文件中含有你个人的设置,如果和 /etc/profile 中的设置相冲突,就会覆盖 /etc/profile 文件中的相矛盾的变量。

.env

如果你在 .profile 文件中有如下内容 :ENV=$HOME/.env, AIX 在用户登录时使用的第四个文件是“.env”文件。“.env”文件中含有你个人的设置,如果和 /etc/profile 中的设置相冲突,就会覆盖 /etc/profile 文件中的相矛盾的变量。

注意:

∙$HOME/.env 文件名可以任意 , 但在 $HOME/.profile 中要有相应的声明:export ENV=$HOME/.envName

∙$HOME/.env 文件每当一个子 shell 被开启都会被执行 , 所以可以在这里定义在 vi 中开启的子 shell 中也可以使用的别名。

∙这四个定制环境的文件中 ,/etc/environment 文件中只能给变量赋值 , 而其它三个文件可以使用语句。

回页首

举例,通过实例讲述如何修改 profile 来实现下列功能

下面我们通过实际的事例来体会一下如何给我们的工作带来便利吧。

通过使用 ARROW Keys 如何重新取得历史命令

很多时候我们希望在 AIX 下,按下 ARROW Keys(就是小键盘上的上下左右键), 可以让我们重新取得留在历史列表中的命令,就想我们在 Linux 系统里面习惯的那样。但是 AIX 在默认状态下,并不是那么友好。我们只好自己动手,丰衣足食了。哈哈!

按照下面的步骤做,我们马上开始吧。

1) 在 ~/.profile 里面加入下面的代码

export ENV=$HOME/.kshrc

2) 在 ~/.kshrc 加入下面的代码

case $- in

*i*) #interactive ksh

# This stuff lets the arrow keys work in an xterm...

set -o emacs # set editing-mode as emacs

alias __A=`echo "\020"` # set up arrow key

alias __B=`echo "\016"` # set down arrow key

alias __C=`echo "\006"` # set right arrow key

alias __D=`echo "\002"` # set left arrow key

esac

alias ls='ls -F'

让我们在看看 .kshrc 文件。

图 1 .kshrc 文件

再次登录 AIX,按下 ARROW Keys(就是小键盘上的上下左右键)。看,我们熟悉的功能回来了。

如何简化 PATH

在我们的工作中,很多时候许多命令是很难于记忆的。这时,我们可以使用 alias 这个概念。通过使用 alias 这个命令,我们可以给一个复杂冗长的命令取一个言简意赅的名字。

首先,我们先来看看 alias 的官方帮助。

alias 命令创建或重定义别名定义或将现有别名定义写至标准输出。

如果未提供标志或参数,则将所有现有别名定义写至标准输出。可以通过使用AliasName 参数来显示特定的别名定义。

通过使用 AliasName=String 参数对来创建新的别名。当 shell 在命令行上或shell 脚本中碰到别名时,它替换此字符串提供的定义。String 变量可以包含任何有效的 shell 文本。如果此字符串包含空格,请将 String 变量的值括在单引号内。如果 AliasName 参数不是一个有效的名称,则 alias 命令显示一条错误消息。

如果指定 -t 标志,则 shell 显示被跟踪的别名。一个被跟踪的命令使用该命令的完整路径名称。当重新设置 PATH 环境变量的值时,被跟踪的命令可能变成未定义,但用 -t 标志创建的别名仍旧被跟踪。

如果指定 -x 标志,shell 显示导出的别名。导出的别名在所有 shell 中都是活动的。

别名定义影响当前 shell 环境和任何子 shell 的执行环境。别名定义不影响当前 shell 的父进程或 shell 调用的任何实用程序环境。

标志

-t 设置或显示所有现有被跟踪的别名。如果此标志和 AliasName 参数一起使用,则跟踪新的别名且别名定义包含通过进行路径搜索而获得的完整路径名称。当重新设置 PATH 环境变量的值时,别名定义变成未定义但仍旧被跟踪。

-x 显示所有现有的导出的别名定义。如果此标志和 AliasName 参数一起使用,则导出新的别名。导出的别名不在 shell 的单独的调用间定义。必须将别名定义置于您的环境文件中以使别名对于单独的 shell 调用都是已经定义的。

退出状态

返回以下出口值:

0 成功完成。

>0 指定的别名名称之一不具有别名定义或发生错误。

下面我们来看看实际的例子。

先看看在 AIX 里面显示系统日志的命令。

看到“errpt -a | /usr/lpp/diagnostics/bin/analyzelogs - v d”这个命令了吧,很长,很不容易记忆。这个命令是从 AIX 的 error log 中找出我们感兴趣的错误信息并打印出来。

图 2. errpt 示例

看来,我们要求助 alias 来为这个冗长的命令起一个名字了。

图 3. alias 示例

接下来就是见证 alias 能力的时刻了,呵呵。

看,我们只要敲下“analyzelog”这个别名,就可以看到和上面那个冗长命令一样的输出结果。

图 4. alias 结果

如何加入 CLASSPATH,如何加入系统环境变量

如果我们要在 AIX 下进行 Java 程序编写,势必要导入许多 CLASSPATH。我们可以使用 export 来导入 CLASSPATH 环境变量。

在 home 目录的 .profile 中加入下面这一行:

export CLASSPATH = ... : ...

注意:各个 path 之间需要使用“:”号来分割。

最后,如果我们想要加入系统环境变量,可以直接编辑 /etc/profile 或者

/etc/environment 文件来实现。但是,切记要谨慎。因为这 2 个文件是所有用户共享的,改变后会应用到所有用户的环境中。

UNIX高级操作命令

UNIX高级操作命令

目录 课程说明 (1) 课程介绍 (1) 课程目标 (1) 相关资料 (1) 第1章 shell的基础知识 (2) 1.1 什么是shell (2) 1.2 别名化 (3) 1.3 shell变量 (4) 1.3.1 shell变量的存储机制 (4) 1.3.2 变量替换 (4) 1.3.3 命令替换 (6) 1.4 用户环境 (6) 1.5 两个重要的环境变量 (7) 1.6 登录时发生的事情 (8) 1.7 shell启动文件 (9) 1.8 监控进程 (9) 第2章 UNIX通用命令 (11) 2.1 用户管理 (11) 2.1.1增加新用户 (11) 2.1.2删除用户 (12) 2.1.3增加新用户组 (12) 2.1.4删除用户组 (12) 2.2 进程管理 (13) 2.2.1 ps命令 (13) 2.2.2 后台进程 (13) 2.2.3 kill命令 (14) 2.3文件系统管理 (15) 2.3.1 mount (15) 2.3.2 umount (15) 2.3.3 加载配置文件 (16) 2.3.4 fsck (16) 2.4 系统性能监控 (17) 2.5 使用网络服务 (19) 2.5.1 rlogin命令 (19)

2.5.2 rcp命令 (19) 2.5.3 主机间的信任关系 (20) 第3章 shell编程简介 (22) 第4章 HP-UX系统管理 (27) 4.1 HP-UX系统管理工具SAM (27) 4.1.1启动SAM (27) 4.1.2在X_Windows环境下运行SAM (27) 4.1.3 在字符终端运行SAM (28) 4.1.4运行SAM进行远程系统管理 (28) 4.2 HP系统的运行级别 (28) 4.3 用逻辑磁盘管理器(LVM)管理磁盘 (28) 4.3.1什么是逻辑卷 (28) 4.3.2 逻辑磁盘管理器简介 (29) 4.3.3 逻辑磁盘管理的基本规则 (30) 4.3.4 逻辑磁盘管理器的工作机制 (30) 4.3.5 逻辑磁盘管理的规划 (31) 4.3.6 与逻辑磁盘管理相关的命名规则 (31) 4.3.7 使用SAM提供的逻辑磁盘管理工具 (32) 4.3.8 使用命令行逻辑磁盘管理工具 (33) 4.3.9磁盘的镜像 (34) 第5章 Solaris系统管理 (37) 5.1 Solaris运行级别管理 (37) 5.1.1 Sun Solaris运行级别 (37) 5.1.2 改变系统运行级别命令 (37) 5.2 OpenBoot(Prom) 常用命令 (38) 5.3 应用软件常用安装/删除命令(add/delete software) (39) 5.3.1 管理软件包 (39) 5.3.2 管理补丁 (40) 5.4 硬盘分区及格式化 (41)

IBM小型机AIX操作系统安装指导书

IBM 小型机操作系统安装指导书V1.0-201006001-A 上海楚星信息技术有限公司 版权所有侵权必究

修订记录

目录 第1章软件相关概念 (4) 1.1 基本介绍 (4) 1.2 重要概念介绍 (4) 1.2.1软件产品的命名格式: (4) 1.2.2 FILE_SET (4) 1.2.3 PACKAGE (4) 1.2.4 LPP (5) 1.2.5 ML (5) 1.2.6 RML (5) 1.2.7 PTF & APAR (6) 第2章硬件安装及微码 (8) 2.1 安装前准备 (8) 2.1.1检查机房环境 (8) 2.1.2检查设备的外包装 (8) 2.1.3开箱 (8) 2.1.4 清点设备 (8) 2.2硬件连接 (8) 2.2.1主机定位 (8) 2.2.2 主机连接 (9) 2.3 上电检测 (9) 2.4 升级系统Firmware微码 (10) 2.4.1 检查系统使用的Firmware版本 (10) 2.4.2下载并升级最新的Fireware程序 (10) 第3章软件安装和配置 (11) 3.1 软件安装前提 (11) 3.2 操作系统软件安装过程 (11) 3.2.1 安装基本操作系统包(BOS) (11) 3.2.2 系统自动重启,并自动运行配置助手 (26) 3.2.3 补充安装需要的包 pakage (35) 3.2.4 安装 RML(ML) 推荐维护包 (维护包) (39) 3.2.5安装必要的APAR 以及 PTF(instfix –I ,smitty update_all) (45) 3.2.6系统备份mksysb –i /dev/rmt0 (45) 3.2.7重启系统 (46) 3.3安装HACMP 机群软件 (46) 3.3.1安装HACMP软件(smitty installp) (46) 3.3.2安装HACMP软件补丁包(smitty installp) (47) 3.3.3再次系统备份mksysb –i /dev/rmt0 (47)

AIX 读取 profile 的机制

简介 AIX 读取 profile 的机制 在我们的工作中,经常会重复的敲击和记忆一样的命令,特别是那些冗长的路径。如果我们了解了 AIX 读取 profile 的机制,我们就可以提前设置我们的工作环境,给我们的日常工作带来极大的便利,提高我们的工作效率。 首先,我们要了解 shell 在登录的过程中是如何读取环境变量的。这样,我们可以在读取环境变量之前,设置我们想要的工作环境,让我们在工作中的效率更高。不需要每时每刻都要去记忆敲击一大堆带有冗长路径的命令。好吧,就让我们开始吧。 在 AIX 系统启动以后,如果我们登录系统并且登录用户的默认 shell 是 Korn Shell 的话,shell 会读取以前设置的初始化文件来设置登录用户的环境。用户环境的定义是通过设置环境变量来实现的。当登录操作系统时,shell 先执行 /etc/environment,后执行 /etc/profile 的。/etc/environment 是设置整个系统的环境,而 /etc/profile 是设置所有用户的环境,/etc/environment 与登录用户无关,/etc/profile 与用户相关。 登录时,这两个文件运行完毕后 , 系统会接着检查在登录用户的 home 目录下是否有 .profile 文件,如果“.profile” 文件存在 , 就执行它。“.profile”文件还会指出是否还有一个环境文件。如果有环境文件 (.env 或者 .kshrc) 存在 , 系统会运行这个文件 , 并设置登录用户的环境。 注意:“/etc/environment”,“/etc/profile”,“.profile”是在登录时执行一次。“.env”文件是我们每次打开一个新的终端的时候都会执行的。 介绍 profile 的组成 接下来,我们来了解一下 profile 相关文件的具体信息。 /etc/profile 用户在登录时 ,AIX 定制用户环境时使用的第一个文件就是 /etc/profile。这个文件保存着全系统范围内的缺省变量,比如 Export 变量 , 文件创建的掩码 , 终端类型等。 Root 用户为所有用户配置“.profile”文件 , 只有 Root 可以更改这个文件。 /etc/environment 在登录时 AIX 使用的第二个文件是 /etc/environment。/etc/environment 文件包含所有进程的基本环境变量。 下面是构成基本环境的变量 :

相关主题
文本预览
相关文档 最新文档