系统环境变量对所有用户起作用,而用户环境变量只对当前用户起作用 例如:把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。
常用的几个环境变量,对Windows和Linux通用:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# (动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
# (静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
# 执行程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
# c程序头文件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
# c++程序头文件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
# pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
比如安装了protobuf之后,可执行程序是protoc
,但无法识别,就需要把它的路径加到PATH里:export PATH=$PATH:/usr/protobuf_3.7/bin
JAVA用到的环境变量
主要有3个:JAVA_HOME、CLASSPATH、PATH:
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。
PATH环境变量原来Windows里面就有,只需修改一下,指向JDK的bin目录,这样在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果) :PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量。CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的.\;
,这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)。
不在窗口设置,修改bat文件的方法如下:1
2
3set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
非root不能直接ifconfig的问题
非root用户输入ifconfig
会显示:
bash: ifconfig: command not found
使用whereis ifconfig
可以发现ifconfig在sbin,非root用户需要sbin/ifconfig
才能使用。
可以将sbin加入环境变量,修改.bashrc文件,在最后添加:1
export PATH=$PATH:/sbin