持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
Hi~,我是一碗周,如果写的文章有幸可以得到你的青睐,万分有幸~
🍐 写在前面
先来介绍一下新开的这个专栏:《前端&运维那点事儿》将会从前端的角度,依次学习Linux→Nginx→Docker→持续集成→k8s,从而打造一个属于站在前端角度的运维专栏。
这篇文章我们来介绍一下Linux中的环境变量以及和环境变量相关的配置文件
🍇 环境变量
环境变量可以理解为Linux中的全局变量,这是因为环境变量可以在当前Shell中及其子Shell中都可以访问,环境变量主要保存的是和当前操作系统环境相关的数据,这些变量能够保障Linux系统能够正常运行并且为用户提供服务。
🍈 export命令
export
命令的功能是用于将变量提升成环境变量,也可以将Shell中的函数输出为环境变量。
该命令有常用的参数有3个,如下:
-f
:指定函数名称-n
:删除指定的变量-p
:列除所有环境变量
示例代码如下:
[root@ywanzhou ~]$ export MY_NAME=一碗周 # 定义环境变量
[root@ywanzhou ~]$ export -p | grep 'MY_NAME' # 查看环境变量
declare -x MY_NAME="一碗周"
[root@ywanzhou ~]$ export -n MY_NAME # 删除环境变量
[root@ywanzhou ~]$ export -p | grep 'MY_NAME'
实际上Linux中的环境变量都是使用export
命令定义的,这些环境变量在进入系统就可以直接访问的原因是因为Linux中有很多环境变量的配置文件,在进入系统时会根据固定的顺序去执行一些配置文件,而那些环境变量就是这些配置文件中生成的。
🍇 env命令
除export
命令外,我们也可以使用env
命令来查看系统中的环境变量。例子如下:
[root@ywanzhou ~]# env | grep 'HOST'
HOSTNAME=ywanzhou
PROMPT_COMMAND=history -a; printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
[root@ywanzhou ~]#
🍉 一些常用的环境变量
🍊 PATH
PATH
中存在的时一些路径,这些路径就是我们平常使用的ls
、cp
这些命令的存放位置,如果我们自己编写的命令可以直接执行,而不是使用绝对路径的方式,可以直接将这个命令放到PATH
中的任意目录,或者修改PATH
,将命令的目录添加到PATH
中。
示例如下:
[root@ywanzhou ~]$ cd ~ # 回家
[root@ywanzhou ~]$ mkdir shell # 创建一个存放shell的目录
[root@ywanzhou ~]$ vim shell/hello.sh # 创建一个hello.sh并写入下面这段内容
[root@ywanzhou ~]$ chmod 755 shell/hello.sh # 给该shell可执行权限
[root@ywanzhou ~]$ ./shell/hello.sh # 通过路径的方式执行该脚本
hello
[root@ywanzhou ~]$ export PATH="$PATH":/root/shell # 添加目录,该方式临时生效
[root@ywanzhou ~]$ hello.sh # 执行可以执行
hello
hello.sh
的内容如下:
#!/bin/bash
echo hello
如果想要永久生效需要修改配置文件。
🍋PS1
PS1
存储的是命令行提示符前面的那段信息,如下所示:
[root@ywanzhou ~]$ echo $PS1
[\u@\h \W]$
可以替换的内容如下所示:
变量 | 提示符 |
---|---|
\d | 显示日期,格式为"星期 月 日" |
\H | 完整的主机名 |
\t | 24小时制时间,格式为 "HH:MM:SS" |
\A | 24小时制时间,格式为 "HH:MM" |
\u | 显示当前用户名 |
\w | 显示所在目录完整名称 |
\W | 显示所在目录的最后一个目录 |
$ | 提示符,root为#,普通用户为$ |
🍌 语系环境变量
首先我们先了解一下locale
命令,该命令可以查看当前系统的使用的语言,还可以查看系统内支持的所有语言,示例如下:
[root@ywanzhou ~]$ locale -a
# ...
zh_CN.utf8
#...
[root@ywanzhou ~]$ locale
LANG=zh_CN.utf8
#...
locale
的命名规则为<语言>_<地区>.<字符集编码>
,如zh_CN.utf8
,zh
代表中文,CN
代表大陆地区,utf8
表示字符集。
可以通过LANG=
的方式修改当前语言,不过这也是临时生效,如果想要永久生效需要修改环境变量配置文件。
🍍 环境变量配置文件
Linux中的环境变量配置文件的执行顺序如下图所示:
使用su命令切换用户配置文件执行顺序如下:
除了上图中的常用的配置文件之外,还有如下文件比较常用:
~/.bash_logout
:注销时生效的环境变量配置文件~/.bash_history
:当正确退出计算机的时候会历史记录会写入文件
根据配置文件的执行顺序,可以选择文件去写入或者更新我们的环境变量,
注意:修改完配置文件后,必须注销重新登录才能生效,使用source
命令可以不用重新登录,使修改后的配置立即生效,例如:
source ~/.bashrc
# 或者
. ~/.bashrc
🥭 写在最后
本篇文章到这就结束了,这篇文章中介绍了Linux中的环境变量,以及和环境变量有关的配置文件。
如果对本篇文章对你有所帮助,可以点赞收藏评论支持一下我;如果有所疑问,欢迎私信~