本文共 2210 字,大约阅读时间需要 7 分钟。
Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。
`此文件只在root下才能修改。`# vi /etc/profileexport CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib
添加完成后新的环境变量不会立即生效,立即生效需要运行 source /etc/profile
,否则只能在下次重进此用户时才能生效。
.bash_profile
文件中添加变量,该文件是隐藏文件,可使用ll -a
查看: $ whoami rethink$ vi /home/rethink/.bash_profileexport 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
在每次打开终端进行一次新的会话时都会读取。
设置方法:命令行下直接使用[export 变量名=变量值] 定义变量。
$ export NAME="rethink"$ echo $NAMErethink
echo
用于打印显示环境变量,如:echo $NAME
export
用于设置新的环境变量,如:export NAME='rethink'
更新环境变量
更新环境变量直接重新赋值即可:NAME='test'
(注意:变量名前不需要加$
)env
显示当前用户的变量;set
显示当前shell变量,shell变量包含用户变量;unset
删除一个环境变量,如:unset NAME
readonly
设置环境变量只读,如:readonly NAME
,只读变量unset无效;# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
路径之间用冒号分隔,这些路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell会先检查命令是否是系统内部命令,如果不是则会再去检查此命令是否是一个应用程序,shell会试着从PATH中寻找这些应用程序。如果shell在这些路径目录里没有找到可执行文件,就会报错;若找到,系统将调用执行应用程序。通过设置PATH ,可以让我们运行程序或指令更加方便。
将某个目录路径加入到PATH中,可以这样写:
$ pwd/root/docker/httpd$ export PATH=$PATH:$PWD$ echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd`可以看到在PATH后面已经加上了我们当前所处目录的路径`
$ whoamirethink$ echo $HOME/home/rethink
$ echo $HISTSIZE1000$ HISTSIZE=1001$ echo $HISTSIZE1001
历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取我们可以通过history命令来查看。 可以使用符号 !
执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2
。
$ history 5 59 ls 60 who 61 history | head -n 5 62 who am i 63 history 5$ !62who am iroot pts/0 2018-04-04 11:00 (101.81.92.18)
$ echo $LOGNAMErethink
$ echo $HOSTNAMEJDu4e00u53f7
$ echo $SHELL/bin/bash
to be continued...
转载地址:http://ehxym.baihongyu.com/