Linux 环境变量加强

时间:2023-12-16 18:06:02

Linux 环境变量加强

# 前言

今天,主要是之前搭建 GO 环境包的使用发现自己对 Linux 环境变量还不是很熟悉。

遇到环境变量的问题还是会有些懵逼。所以,今天写点Linux 环境变量的文章,之前的Windows相关文章可点我

(GO中使用go env可快速查看相关环境变量;GOPATH别乱设置,应设为项目的目录地址,如:/tmp/goproject/)

讲道理,发现自己挺适合当老师的。一有什么新东西或什么被解决的问题,我都会记录下来。

琢么着,等我 RHCE 工程师证书弄下来了。把博客园所有问题整理一遍,缺啥补啥送给互联网新手学习。

# 正文

又是十一点的文章,简单写

I、用户环境变量

Linux 环境变量加强

图1

env可查询当前环境变量,root 即 root用户环境变量。

图1左为root环境变量(注意使用su -将环境变量切到root,否则为登录的普通用户变量),右为rabbit用户环境变量。

II、Shell 变量

最简单的:test='this is the test'

Linux 环境变量加强

III、Shell 变量转用户环境变量

使用命令:export

Linux 环境变量加强

V、去除变量(shell和用户)

Linux 环境变量加强

VI、系统级环境变量

1.系统级:
(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。

# 常见

PATH 这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rc-update或者emerge) 不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。
ROOTPATH 这个变量的功能和PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。
LDPATH 这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。
MANPATH 这个变量包含了一系列用冒号隔开的目录,命令man会在这些目录里搜索man页面。
INFODIR 这个变量包含了一系列用冒号隔开的目录,命令info将在这些目录里搜索info页面。
PAGER 这个变量包含了浏览文件内容的程序的路径(例如less或者more)。
EDITOR 这个变量包含了修改文件内容的程序(文件编辑器)的路径(比如nano或者vi)。
KDEDIRS 这个变量包含了一系列用冒号隔开的目录,里面放的是KDE相关的资料。
CONFIG_PROTECT 这个变量包含了一系列用空格隔开的目录,它们在更新的时候会被Portage保护起来。
CONFIG_PROTECT_MASK 这个变量包含了一系列用空格隔开的目录,它们在更新的时候不会被Portage保护起来。
PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
MAIL:是指当前用户的邮件存放目录。
SHELL:是指当前用户用的是哪种Shell。
HISTSIZE:是指保存历史命令记录的条数
LOGNAME:是指当前用户的登录名。
HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
PS1:是基本提示符,对于root用户是#,对于普通用户是$。
PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。
PS1=" Hello,My NewPrompt :) "

摘自:http://blog.csdn.net/longxibendi/article/details/6125075