|
Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。 设置环境变量的方法' s1 E" j+ A. ]( P# d$ g$ d
这类变量对系统内的所有用户都生效,所有用户都可以使用这类变量。作用范围是整个系统。 此文件只在root下才能修改。 # vi /etc/profile1 f3 l9 V3 Z# F5 jexport CLASSPATH=./JAVA_HOME/lib JAVA_HOME/jre/lib添加完成后新的环境变量不会立即生效,立即生效需要运行 source /etc/profile ,否则只能在下次重进此用户时才能生效。
在用户目录下的.bash_profile 文件中添加变量,该文件是隐藏文件,可使用ll -a查看:
rethink $ vi /home/rethink/.bash_profile+ |. y5 c0 o2 {0 ?5 J9 j export CLASSPATH=./JAVA_HOME/lib JAVA_HOME/jre/lib $ source /home/rethink/.bash_profile 在上图中用红框框住了两个文件:.bashrc 和.bash_profile ,原则上讲设置此类环境变量时在这两个文件任意一个里面添加都是可以的,这两个文件的区别为:.bash_profile是交互式login方式进入bash shell运行,.bashrc是交互式non-login方式进入bash shell运行。 可以理解为.bash_profile文件只会在用户登录的时候读取一次,而.bashrc在每次打开终端进行一次新的会话时都会读取。 临时有效的环境变量(只针对当前shell有效) 此类环境变量只对当前的shell有效。当我们退出登录或者关闭终端再重新打开时,这个环境变量就会消失。是临时的。 设置方法:命令行下直接使用[export 变量名=变量值] 定义变量。 $ export NAME="rethink"$ echo $NAME( {& ]4 H/ s7 U4 B t5 F3 K; p rethink9 R" `: B. g7 A) s) l( u 设置环境变量常用命令
更新环境变量 更新环境变量直接重新赋值即可:NAME='test' (注意:变量名前不需要加$);
# echo $PATH/ o& | ~6 V1 u4 F* n3 e) h /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 路径之间用冒号分隔,这些路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell会先检查命令是否是系统内部命令,如果不是则会再去检查此命令是否是一个应用程序,shell会试着从PATH中寻找这些应用程序。 如果shell在这些路径目录里没有找到可执行文件,就会报错;若找到,系统将调用执行应用程序。通过设置PATH ,可以让我们运行程序或指令更加方便。 将某个目录路径加入到PATH中,可以这样写: $ pwd/root/docker/httpd& C9 w1 z+ Y1 [" p0 c2 Q5 w. T $ export PATH=$PATH PWD1 V5 t$ v2 z3 L n2 S$ echo $PATH- W% ~6 Q7 {9 u! i' C /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd1 M4 K( q( S) |0 _( M `可以看到在PATH后面已经加上了我们当前所处目录的路径`
用户的主工作目录,即为用户登录到Linux系统中时的默认目录。 $ whoamirethink& i% m) O- j( U* M( o $ echo $HOME4 d0 v; N2 c$ J /home/rethink
保存历史命令的条数。我们输入的指令都会被系统保存下来,这个环境变量记录的就是保持指令的条数。一般为1000。 $ echo $HISTSIZE/ V7 c% H2 @- s5 m10005 ]: [+ T9 T, ` $ HISTSIZE=1001 $ echo $HISTSIZE J: i9 ]; H7 i 1001 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取我们可以通过history命令来查看。可以使用符号 ! 执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。; ?# U/ C* G8 @0 ~ $ history 51 ^& u* [- T0 i- I; y. ?4 p' y59 ls 60 who+ g- |& Q( G0 E% Y; _ 61 history | head -n 5 62 who am i 63 history 5) w: e, ^5 p' r. Q $ !62& w9 c. P; A7 j who am i root pts/0 2018-04-04 11:00 (101.81.92.18)
当前用户登录名。 $ echo $LOGNAME" O$ q/ ~: E8 vrethink0 ?& [1 \( r. {
JDu4e00u53f74 \& Y8 s& P* M' \
当前用户使用的shell种类。 $ echo $SHELL4 Y2 ?- O/ g7 Z- l# ?/bin/bash$ y/ u9 _7 T& {4 |# u5 U+ c |
微信公众号
手机版