按变量的生存周期来划分,Linux变量可分为两类:
1 永久的:须要修改配置文件,变量永久生效。
2 临时的:使用export命令声明便可,变量在关闭shell时失效。linux
按做用范围来划分,包括系统级和用户级:shell
系统级的环境变量是每一个登陆到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。bash
1.系统级:
(1)/etc/profile:该文件是用户登陆时,操做系统定制用户环境时使用的第一个文件,应用于登陆到系统的每个用户。该文件通常是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登陆时操做系统使用的第二个文件,系统在读取你本身的profile前,设置环境文件的环境变量。spa
2.用户级(这些文件处于家目录下):
(1)~/.profile:每一个用户均可使用该文件输入专用于本身使用的shell信息,当用户登陆时,该文件仅仅执行一次!默认状况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置我的设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登陆时以及每次打开新的shell时,该该文件被读取。操作系统
1 在/etc/profile文件中添加变量【对全部用户生效(永久的)】
用VI在文件/etc/profile文件中增长变量,该变量将会对Linux下全部用户有效,而且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib命令行
注:修改文件后要想立刻生效还要运行# source /etc/profile否则只能在下次重进此用户时生效。内存
2 在用户目录下的.bash_profile文件中增长变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增长变量,改变量仅会对当前用户有效,而且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加以下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想立刻生效还要运行$ source /home/guok/.bash_profile否则只能在下次重进此用户时生效。get
3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,it
该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,登录
shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,须要使用的话还须要从新定义。
1 使用echo命令查看单个环境变量。例如:
echo $PATH
2 使用env查看全部环境变量。例如:
env
3 使用set查看全部本地定义的环境变量。
set能够设置某个环境变量的值。清除环境变量的值用unset命令。若是未指定值,则该变量值将被设为NULL。示例以下:
$ export TEST="Test..." #增长一个环境变量TEST
$ env|grep TEST #此命令有输入,证实环境变量TEST已经存在了
TEST=Test...
$ unset $TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证实环境变量TEST已经删除
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登陆名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言能够修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$
查看linux是否是64位的命令
# file /sbin/init
或者
# getconf LONG_BIT
64
getconf命令还能够获取系统的基本配置信息,好比操做系统位数,内存大小,磁盘大小等。
$getconf -a