运维-linux(ubuntu)环境变量管理(持续更新)

注:本教程以Ubuntu16.04操作,请细看。如果看完还不明白,联系我,我给你发红包。

一、查看环境变量:

  • 方法1:直接用$PATH命令:
wafa@ubuntu:~$ $PATH
bash: /home/king/bin:/home/king/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/go-gtk/gtk:/snap/bin:.:/usr/local/go/bin: No such file or directory
  • 方法2:用export命令。如终端命令行输入export后,结果中的PATH就是环境变量:
king@ubuntu:~$ export
declare -x CLUTTER_IM_MODULE="ibus"
declare -x COMPIZ_BIN_PATH="/usr/bin/"
declare -x COMPIZ_CONFIG_PROFILE="ubuntu"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-BQwiluABuc"
declare -x PATH="/home/wafa/bin:/home/wafa/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/go-gtk/gtk:/snap/bin:.:/usr/local/go/bin"
declare -x PWD="/home/wafa"
declare -x DEFAULTS_PATH="/usr/share/gconf/ubuntu.default.path"
...
  • 方法3:使用env 命令打印所有的环境变量
wafa@ubuntu:~$ env
XDG_VTNR=7
LC_PAPER=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
XDG_SESSION_ID=c2
PATH=/home/wafa/bin:/home/wafa/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/go-gtk/gtk:/snap/bin:.:/usr/local/go/bin
  • 方法4:用echo $PATH(同法一)

二、了解环境变量

     环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。

     个人理解(比较通俗):你输入命令时,系统会自动的去指定的路径下去寻找你输入的指令文件。因此,配置好环境变量 后只要输入程序的名称,系统就会自动搜索到你程序的位置,而不会再出现command not found这样的问题了。

三、和环境变量有关的文件:

  1. /etc/profile —— 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;
  2. /etc/environment —— 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量;
  3. /etc/bashrc —— 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;
  4. /home/king/.profile —— 用户king的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量,执行用户的.bashrc文件;(注:king为当然登录的用户,每个用户都有自己的家目录,即在/home文件夹下。)
  5. /home/king/.bashrc —— 用户king的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;
    认识以上5个文件之后,我们设置环境变量的方法也就有了。
注:前3个针对所有的用户,需要sudo权限设置,后两个针对当前用户。

四、环境变量的添加与删除

请认真阅读以上步骤及5个文件,这样后面就很好理解了。

1. 对所有用户都生效:

1). 方法一:直接sudo权限编辑/etc/enviroment文件,
/etc/environment文件,其内容如下:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"  

注:作用域:全局的,永久性的。在环境变量PATH中添加你要添加的路径即可,注意以“:”分隔分个路径。

2). 方法二:修改/etc/profile文件。此文件不保存环境变量信息,但在登录时,系统会根据此文件内容对环境变量进行设置。

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:
export PATH=/usr/local/share:$PATH

注:$PATH指代添加your path前的环境变量。即在第一行的基础上再另外添加的环境变量。作用域:全局的,永久性的。

3). 方法三:修改/etc/bashrc。这个文件同样不是为了保存环境变量,只是在使用bash shell时进行设置而已,所以设置方法和二中一样:

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:
export PATH=/usr/local/share:$PATH

注:作用域:全局的,永久性的。
对于/etc/bashrc文件,修改的作用于用户,但对于~/.bashrc文件,修改的仅仅作用于当前用户。这种修改的作用也是永久性的。

2.仅对当前用户生效

1). 方法一:修改~/.profile文件。本质和修改/etc/profile一样,但这种仅仅修改了当前用户自己的配置文件。作用域:当前用户,永久性的。

2). 方法二:修改~/.bashrc文件。本质和修改/etc/bashrc一样。不保存环境变量,只是在当前用户使用bash shell时进行设置而已。作用域:当前用户,永久性的。设置同修改/etc/bashrc一样。

3. 临时生效

1). 方法一:在Terminal中使用shell命令

export PATH=$PATH:[your path1]:[your path2]:[...] 

2). 方法一:在Terminal中使用shell命令

export PATH=[your path1]:[your path2]:[...]:$PATH  

注:上面两种方法是暂时的生效。关闭终端设置也就失效了。作用域:仅限于当前终端,其他终端中这个设置不会启作用。

五、设置生效

  1. 输入env命令查看所有环境变量。

  2. 输入echo $PATH 命令查看PATH环境变量
    这时我们就可以在PATH变量后看到相关的修改了。

  3. 是否发现有的设置后设置并没有及时生效???
    你猜的对,这样就可以生效了:
    法一:你需要考虑重启或者注销后重新登录了(请思考:哪个需要重启,哪个需要重新登录?等我后续闲了再给你答案。)
    法二:使用source命令。在命令行输入:

source [file name]  

注:
1、[file name]为你修改的文件名字的路径,绝对路径和相关路径都可以。
2、以上方法只需要一种即可,但要根据个人需要选择适用的方法。
3、使用export命令设置的环境变量是临时性质且局部的,因此只需要关闭这个Terminal就好了。

是不是没有你想象的那么难???

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容