390 likes | 566 Vues
第十二章. 用户环境变量. 第十二章 用户环境变量. 第十二章 用户环境变量 (2). 本章要点. 掌握用户登录的环境变量文件 掌握如何修改用户的环境变量 掌握用户的 shell 的环境变量 掌握 gcc 的安装与使用 掌握 gzip 的安装与使用. 12.1 用户登录文件. /etc/enviroment. /etc/profile. $HOME/.profile. 用户登录过程. login:limhai limhai ’ s password: $. /etc/enviroment. /etc/profile.
E N D
第十二章 用户环境变量
第十二章 用户环境变量(2) 本章要点 掌握用户登录的环境变量文件 掌握如何修改用户的环境变量 掌握用户的shell 的环境变量 掌握gcc 的安装与使用 掌握gzip 的安装与使用
12.1 用户登录文件 /etc/enviroment /etc/profile $HOME/.profile
用户登录过程 login:limhai limhai’s password: $ /etc/enviroment /etc/profile $HOME/.profile 用户登录时,将按如上顺序读取文件,设置用户环境变量,为每个用户建立各自不同的运行环境
/etc/enviroment $ cat /etc/enviroment ……… PATH=/usr/bin:/etc:/usr/sbin:/usr/bin/ TZ=GMT0BST LANG=en_US LOCPATH=/usr/lib/nls/loc ……… 定义每个进程启动的环境变量,系统管理员才可以更改这个文件,该设置对所有用户生效
/etc/profile $ cat /etc/profile ……… # Automatic logout TMOUT=120 MAIL=/usr/spool/mail/$LOGNAME MAILMSG="[YOU HAVE NEW MAIL]“ TERM=vt100 ……… 定义用户登录的环境变量以及相关命令,默认只有root 才能修改此文件,该设置对所有用户生效
$HOME/.profile $ cat $HOME/.profile ……… PATH=/bin:/usr/bin:$HOME/bin:. PS1=‘$PWD:’ ENV=“$HOME/.kshrc” export PATH PS1 ENV ……… 用户自己定义的环境变量,只对当前该用户生效
示例 1 # vi /etc/profile …… export TERM=vt100 ~ "/etc/profile" 48 lines, 1386 characters 必须是root用户才能修改/etc目录下的profile文件,如上述添加 export TERM=vt100 指令后,系统所有登录的用户的终端类型都将默认设置为vt100
示例 2 $ pwd /home/limhai $ vi .profile …… set -o vi ~ ".profile" 9 lines, 269 characters 用户修改主目录下的.profile文件,添加set -o vi指令,这样该用户每次登录,这条指令将自动生效
12.2 登录的环境变量 环境变量 LOGNAME TMOUT MAIL TERM LANG PATH 功能描述 登录名 用户处于非活动状态多长时间后自动logout 用户接收到的邮件的存放位置 终端类型 用户当前的语言环境 命令的查找路径
登录的环境变量(2) 环境变量 PS1 PS2 ENV 功能描述 用户的主提示符 示例:PS1=‘$PWD:’ 用户的次提示符 示例: PS2='> ' 指定ksh的参数设置文件 示例:ENV=“$HOME/.kshrc”
12.3 其他环境文件 $HOME/.kshrc $HOME/.sh_history 命令别名
$HOME/.kshrc $ cat $HOME/.kshrc ……… set –o vi alias l=‘ls –l’ export EDITOR=/usr/bin/vi ……… .kshrc 文件用以设置shell的环境,每个subshell 都要去读取.kshrc 文件,而.profile文件只有在登录的时候读取一次,
$HOME/.sh_history $ fc -l 2 ls -l 3 fc –l $ r 2 -rw-r--r-- 2 limhai system 15 Jun 15 11:14 file $HOME/.sh_history 文件,历史记录了最近操作的128条命令 fc 命令用来修改或重新执行记录的命令 r 命令执行历史记录中的命令
命令别名 $ alias p=‘ps -ef’ $ alias l=‘ls -l’ $ alias history='fc -l' p=‘ps -ef’ l=‘ls –l’ ……… alias 命令用来设定和显示命令的别名
命令别名(2) $ l -rw-r--r-- 2 limhai system 15 Jun 15 11:14 file $ unalias l $ l ksh: l: not found. unalias 命令取消设定的命令的别名
12.4 gcc 的安装与使用 gcc 是UNIX系统下常用的一种编译软件,这里通过讲解如何安装gcc以及如何使用gcc来复习前面讲过的一些常用操作和用户环境变量的设置 通过AIX的SMIT 系统管理工具来安装 gcc软件 gcc 使用时涉及到的用户环境变量PATH的修改 如何用gcc 编译一个C 语言程序
gcc 的安装(1) 先下载gcc 自由软件到本机,执行后,产生两个用于smit 安装的文件
gcc 的安装(3) 用于smit安装的那两个文件所在的路径
gcc 的使用(1) $ pwd /home/limhai $ vi .profile /PATH=/usr/bin:.:/etc:/usr/sbin:/usr/local/bin export PATH ~ ".profile" 9 lines, 269 characters 修改用户的环境变量PATH,添加/usr/local/bin新路径
gcc 的使用(2) $ vi test.c main() { printf("hello world!\n"); } ~ "test.c" 4 lines, 37 characters 用vi 编写一个简单的C 语言程序用于测试
gcc 的使用(3) $ ls mbox test.c tmp $ gcc test.c $ ls a.out mbox test.c tmp $ ./a.out hello world! 用gcc 命令对test.c 源文件进行编译,产生a.out 可执行文件
12.5 gzip 的安装与使用 gzip 是UNIX系统下常用的一种压缩软件,这里通过讲解如何安装gzip以及如何使用gzip来进一步复习前面讲过的一些常用操作 gzip 安装时涉及到的对文件权限的修改 如何用gzip 压缩和解压缩文件
gzip 的安装(1) 修改为可执行权限 执行后,产生两个用于smit 安装的文件
gzip 的安装(3) 用于smit安装的那两个文件所在的路径
gzip 的使用(1) $ ls -rw-r--r-- 1 limhai system 222 Sep 13 11:12 smit.log -rw-r--r-- 1 limhai system 0 Sep 13 11:12 smit.script $ gzip smit.log $ ls -rw-r--r-- 1 limhai system 178 Sep 13 11:12 smit.log.gz -rw-r--r-- 1 limhai system 0 Sep 13 11:12 smit.script 用gzip命令对smit.log文件进行压缩后,文件名变为smit.log.gz,文件变小
gzip 的使用(2) $ ls -rw-r--r-- 1 limhai system 178 Sep 13 11:12 smit.log.gz $ gzip -l smit.log.gz compressed uncompr. ratio uncompressed_name 178 222 31.9% smit.log $ gzip -d smit.log.gz $ ls -rw-r--r-- 1 limhai system 222 Sep 13 11:12 smit.log -l 选项,列出压缩包中的内容 -d 选项,对压缩包进行解压缩
12.6 测试题 1、用户登录过程,要读取的环境变量文件有哪些? • /etc/enviroment • /etc/profile • $HOME/.profile • $HOME/.kshrc
测试题 2 2、用以设定primary prompt character(主提示符)的变量? • PS1 • PS2 • TERM • PATH
测试题 3 3、哪个命令用来修改/执行已使用过的命令? • fc • r • alias • set –o vi
测试题 4 4、系统管理员想让所有用户登录后的主提示符都按定义显示,比如limhai帐号登录后如下显示,请问系统管理员该怎么实现这个要求? limhai@p610 $ whoami limhai limhai@p610 $ hostname p610 注:p610是服务器的主机名,limhai为当前登录的 帐号
测试题答案 1、A、B、C 2、A 3、A 4、PS1=“$LOGNAME@`hostname` $ ” ,把这条语 句写到/etc/enviroment 文件即可对全部用户生效, 注意的是hostname前后用的是反引号