编写配置文件
#全局配置文件 --全局生效(所有用户都能识别)
/etc/profile
/etc/bashrc --这两个文件都是功能相近,但是bashrc优先于profile
一、/etc/profile
首先进入编辑该文件
vim /etc/profile
你将会看到乱七八糟的命令,不用害怕,直接输入G(注意一定是大写G,可以直接跳转至最后一行),输入o(开启新的一行并进入编辑模式),然后我们就可以开始愉快的编辑了
举个例子:我现在要把/tmp文件夹添加进PATH变量中
export PATH="$PATH:/tmp" --要加export的原因是这样才能保证添加进环境变量
再举个例子:我们每次看自己的网络配置都要输一长串命令,比如cat /etc/sysconfig/network-scripts/ifcfg-eth0,这样很麻烦我们就可以继续上面的操作,再另起一行输入
alias ifeth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' --给这一串命令取一个别名ifeth0,你也可以取其他的
编辑完后,正常的用ESC和:wq!保存退出
最后重新加载profile文件
source /etc/profile 或者 . /etc/profile 这里的.后面有个空格!
加载完成后输入
echo $PATH
会发现后面添加了:tmp
你还可以输入刚刚设置的别名(ifeth0),就能直接读取网络配置文件啦
问题:
我们可能会有疑惑,为什么不直接在命令行中写,PATH="啥啥啥"或者alias 啥啥啥='啥啥啥',那是因为,只要主机断开连接后,这些设置都不会保存,只有保存在profile文件中的设置才可以延续到之后的所有使用。
#局部配置文件
~/.bash_profile --这两个文件功能相近,但是.bash_profile优先于.bashrc
~/.bashrc
如果说我们只想要指定某些用户使用这些永久生效的别名和环境变量而不是全部用户,就得在该用户的.bash_profile文件下进行添加,操作和上面完全一致,操作完成后,这些配置只能供当前用户使用。
注一:如何看当前用户是谁呢?
比如说我的
[root@MingJiang ~]#
符号 | 含义 |
root | 当前登录的用户(就是这个啦) |
@ | 分隔符号 |
MingJiang | 当前计算机主机名(可用命令hostname查看) |
~ | 当前用户的家目录 |
# | # 是系统管理员用户的提示符,非系统管理员用户提示符为 $ |
注二:如果局部配置文件和全局配置文件都定义了同一个变量,局部变量的优先级更高
知识扩展:
1.什么是系统变量和环境变量配置?
在Linux系统中,将命令信息整合在一个文件中,就可以称为脚本文件--自动化操作
系统变量概念说明:
普通变量:系统中满足特定调用需求的配置信息,并且可能随时会发生调整变化的参数。
环境变量:系统中默认已经存在,可以进行修改调整,会对系统功能有一定影响的变量。
环境变量 vs 普通变量特点:
· 变量信息在系统中默认已经存在
· 变量信息名称设置为大写字母
· 变量功能配置对系统中全部用户生效
· 变量的设置会对系统功能有一定影响
Linux系统执行命令原理
1. 会先加载环境变量,获取目录信息
2. 在指定目录下检索执行命令文件
3. 检查是否存在别名信息
4.运行命令二进制文件,实现功能操作