牛津大学(英国)校训:“上主是我的亮光。”
环境变量,对很多开发小朋友来讲,应该很是熟悉,在刚开始学习Java时,安装jdk就要设置环境变量。在这里说个小插曲,认识一个朋友在开始学习Java的时候硬是被环境变量设置折腾了三天,但java -version还是不成功,无奈直接弃Java而去。。。
环境变量,相当于特定的信息标识,类似快捷方式,包含一个或多个应用程序用到的信息。
一 常用的环境变量命令
1/echo
用于显示某个环境变量的值;
如:echo $JAVA_HOME ,输出:/usr/local/webserver/jdk1.8.0_91
2/env
用于显示本系统所有的环境变量,包括系统级及人为设置的;
3/set/unset
set:设置shell选项或列出shell变量
unset:清除变量
如:设置一个变量 rmf='rm -rf' ,用set|grep rmf即可查看;
unset rmf,则是清除rmf的值,rmf尚在,清除整个则用unset $rmf.
4/export
如:export xwz_home='/data/work/jingdata-paas-workflow/'
则echo $xwz_home查看
注意,export设置的只是临时环境变量,当你切换用户或退出时则自动清除。
二 常用的环境变量
1/HOME
当前用户的根目录
如:echo $HOME 输出:/root
2/LOGNAME
当前登录用户名
如:echo $LOGNAME 输出:root
3/MAIL
如:echo $MAIL 输出:/var/spool/mail/root
4/PATH
列出当前的环境变量
如:echo $PATH
输出:/usr/local/webserver/jdk1.8.0_91/bin:/usr/local/webserver/jdk1.8.0_91/jre/bin
5/HOSTNAME
主机名
如:echo $HOSTNAME 输出:ali-smb-saas-test01
6/PWD
当前所在目录
如:echo $PWD 输出:/data
7/SHELL
shell命令
如:echo $SHELL 输出:/bin/bash
8/TERM
终端模拟器
如:echo $TERM 输出:xterm
9/LANG
语言编码
如:echo $LANG 输出:en_US.UTF-8
10/PS1
终端模拟器
如:echo $PS1 输出:[\u@\h \W]\$
其中,\u:当前用户名;\h:主机名;\W:当前所在目录的最后一个目录;$:提示符。
三 环境变量文件
在Linux中一切皆文件,自然环境变量持久化也是存储在文件中的,系统中有很多记载环境变量的文件,它们是按照一定顺序被系统读入的。
1 /etc/profile (所有用户)
指每个用户登录时都会获取系统的环境变量,只在登陆的时候获取一次;当用户第一次登录时该文件被执行,并从/ect/profile.d目录的配置文件中搜索shell的设置。
2 /ect/bashrc (所有用户)
在执行完/etc/profile内容后,如果用户运行bash shell的话,则就执行这个文件。当每次一个新的bash shell被打开时,该文件被读取。所以,如果想每打开一个bash都执行某些操作,就可以在这个文件里面设置。
3 ~/.bash_profile(单个用户)
每个用户都可以使用该文件输入自己专用的shell信息;只在登陆的时候执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。单个用户对于此文件的修改只会影响到自身以后的每一次登录。
4 ~/.bashrc(单个用户)
该文件只包含专用于你的bash信息,当你登录时以及每次打开新的shell时,该文件就会自动被读取。
5 ~/.bash_logout(单个用户)
每次在退出shell的时候会执行该文件;它提供了定制用户环境的功能,比如删除账号内的临时文件等命令就可以放在bash_logout文件内。
特此声明:
分享文章有完整的知识架构图,将从以下几个方面系统展开:
1 基础(Linux/Spring boot/并发)
2 性能调优(jvm/tomcat/mysql)
3 高并发分布式
4 微服务体系
如果您觉得文章不错,请关注阿伦故事,您的支持是我坚持的莫大动力,在此受小弟一拜!
每篇福利: