常用的系统环境变量

常用的系统环境变量

1.环境变量种类

根据变量的生命周期,变量可划分为永久和临时两种

永久类:操作系统中指定系统运行环境的参数,或应用程序中的配置文件的一些参数都属于永久生效

临时类:可使用export 声明,在关闭shell 时失效

ps:export 的作用是声明一个变量,使其进入子shell 后生效

2.设置环境变量

  1. 永久类,对所有用户生效 - 在/etc/profile 文件中添加变量

    vim /etc/profile
    export JAVA_HOME=/opt/jdk1.8.0
    source /etc/profile  #让脚本立即生效,source可用 . 代替
    
  2. 永久类,对所有用户生效 - 在/etc/profile.d/ 目录下增加shell 脚本

    vim /etc/profile.d/java.sh
    export JAVA_HOME=/opt/jdk1.8.0
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. 永久类,对当前用户生效 - 在 .bash_profile 文件中添加变量

    vim .bash_profile
    export HISTCONTROL=ignoreboth
    source .bash_profile
    
  4. 临时类,对当前shell 有效

    export 变量名=变量值
    export name="dawn"
    echo $name
    

总结:

.bashrc 和.bash_profile 以及/etc/bashrc 、/etc/profile 和/etc/profile.d 的区别

.bashrc:用户级的bash相关环境变量配置文件,只对当前用户有效,无需登录,主要通过当前用户运行命令行就会读取该文件

.bash_profile:用户级的环境变量配置文件,只对当前用户有效,用户登录后才能读取

/etc/bashrc:系统级的bash变量配置文件,所有用户运行bash,都会读取其中内容

/etc/profile:系统级的配置文件,对所有用户都有效

/etc/profile.d:存放应用程序所需的启动配置文件的目录,调用机制是/etc/profile 中使用了for 循环语句调用该目录下的脚本。相对/etc/profile 而言,更容易维护,不需要哪个环境变量,直接删除对应的脚本即可

3.查看环境变量

#查看所有的环境变量
[root@centos8 ~]#env

#查看单个环境变量,echo 查看,例如查看PATH
[root@centos8 ~]#echo $PATH

4.常用的系统环境变量

关于history 的相关系统环境变量

**HISTSIZE **设置历史命令保存的最大数,默认是1000

**HISTCONTROL **设置历史命令的保存方式,默认是 ignoredups ,表示忽略重复命令。除此之外,还有:

ignorespaces 忽略所有以空格开头的命令

ignoreboth ignoredups 和ignorespace 的组合

erasedups 删除历史记录中重复命令,相同的命令只保留最近的一个

ps:设置多个值,中间使用 : 连接

**HISTTIMEFORMAT ** 设置历史命令记录显示的格式

HISTTIMEFORMAT='%F %T '     #注意有个空格,展示记录时,日期与命令之间有空格分割。
HISTTIMEFORMAT="%F %T:`whoami` "	#展示历史记录时,同时展示日期时间和操作者 
命令提示符格式的系统环境变量-PS1

查看PS1 的格式

[root@centos8 ~]# echo $PS1
[\u@\h \W]\$

格式说明:

\d 表示日期,格式为weekday month date,例如:“Mon Aug 1”
\H 完整的主机名称
\h 取主机名称的第一个名称
\T 显示时间为12小时格式
\t 显示时间为12小时格式,如:HH:MM:SS
\A 显示时间为24小时格式,如:HH:MM
\u 当前用户的账号名称
\v bash的版本信息
\w 完整的工作目录名称。家目录会以 ~ 代替
\W 利用basename 取得工作目录名称,列出最后一个目录
\# 下达的第几个命令
\$ 提示字符,一般情况下,root用户是# ,普通用户是$
\e 控制符\033

持久保存提示符格式相关变量PS1的方式

#方式一 系统级,对所有用户有效
echo 'PS1="\[\e[1;36m\][\u\[\e[1;35m\]@\h \[\e[1;31m\]\W\e[1;36m]\$\[\e[0m\]' > /etc/profile.d/env.sh

#方式二 用户级,只对当前用户有效
vim .bashrc
PS1="\[\e[1;36m\][\u\[\e[1;35m\]@\h \[\e[1;31m\]\W\e[1;36m]\\$\[\e[0m\]"
其他常见的系统环境变量

LANG 设置语言的变量,默认是en_US.UTF-8,英语环境,编码格式是UTF-8。中文是zh_CN.UTF-8
HOSTNAME 主机名称
LOGNAME 当前用户的登录名称
HOME 当前用户主目录
MAIL 当前用户的邮件存放目录
SHELL 当前用户Shell 类型
PATH 决定了shell 可在哪些目录中寻找命令或程序
SHLVL shell 的嵌套层数,即深度
_ 下划线,表示前一个命令的最后一个参数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值