Centos7环境变量设置

article/2025/8/19 6:22:04

Centos7环境变量设置

最近,我从cnaaa.com上购买了云服务器,开通了centos系统。

1、环境变量的含义

程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。

2、环境变量的分类

1)按生效的范围分类

**系统环境变量:**公共的,对全部的用户都生效。

**用户环境变量:**用户私有的、自定义的个性化设置,只对该用户生效。

2)按生存周期分类

**永久环境变量:**在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。

**临时环境变量:**使用时在Shell中临时定义,退出Shell后失效。

3、Linux环境变量

Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。

二、常用的环境变量

1、查看环境变量

1)env命令:查看当前用户全部的环境变量。

在Shell下,用env命令查看当前用户全部的环境变量。

env

图片

上图只截取了部分环境变量,并非全部。

用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。

env|grep 环境变量名

例如查看环境变量名中包含PATH的环境变量。

env|grep PATH

图片

2)echo命令:查看当前用户全部的环境变量,符号$不能缺少。

echo $环境变量名

图片

注意,符号$不能缺少,这是语法规定。

2、常用环境变量

1)PATH

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序,PATH变量的具体用法本文后面的章节中有详细的介绍。

图片

2)LANG

Linux系统的语言、地区、字符集,LANG变量的具体用法本文后面的章节中有详细的介绍。

图片

3)HOSTNAME

服务器的主机名。

4)SHELL

用户当前使用的Shell解析器。

5)HISTSIZE

保存历史命令的数目。

6)USER

当前登录用户的用户名。

7)HOME

当前登录用户的主目录。

8)PWD

当前工作目录。

9)LD_LIBRARY_PATH

C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

10)CLASSPATH

JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

三、设置环境变量

变量名='值'export 变量名或export 变量名='值'

如果环境变量的值没有空格等特殊符号,可以不用单引号包含。

示例:

export ORACLE_HOME=/oracle/homeexport ORACLE_BASE=/oracle/baseexport ORACLE_SID=snorcl11gexport NLS_LANG='Simplified Chinese_China.ZHS16GBK'export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.

采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在登录脚本文件中配置。

1、系统环境变量

系统环境变量对全部的用户生效,设置系统环境变量有三种方法。

1)在/etc/profile文件中设置。

用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。

2)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。

/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的shell脚本即可。

/etc/profile.d目录下有很多脚本文件,例如:

图片

在以上示例中,/etc/profile.d目录中的oracle.sh是Oracle数据库的环境变量配置文件,内容如下:

3)在/etc/bashrc文件中设置环境变量。

该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。

2、用户环境变量

用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。

在用户的主目录,有几个特别的文件,用ls是看不见的,用 ls .bash_* 可以看见。

图片

1).bash_profile(推荐首选)

当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。

2).bashrc

当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。

3).bash_logout

当每次退出系统(退出bash shell)时执行该文件。

4).bash_history

保存了当前用户使用过的历史命令。

3、环境变量脚本文件的执行顺序

环境变量脚本文件的执行顺序如下:

/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc

同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。

还有一个问题需要注意,在/etc/profile中执行了/etc/profile.d的脚本,代码如下:

for i in /etc/profile.d/*.sh ; doif [ -r "$i" ]; thenif [ "${-#*i}" != "$-" ]; then. "$i"else. "$i" >/dev/nullfifidone

所以,/etc/profile.d和/etc/profile的执行顺序还要看代码怎么写。

四、重要环境变量的详解

1、PATH环境变量

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。

1)PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。

export PATH=目录1:目录2:目录3:......目录n:.

2)PATH缺省包含了Linux系统命令所在的目录。

(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,Linux的常用命令也无法执行(要输入绝对路径才能执行)。

示例:

图片

3)在用户的.bash_profile文件中,会对PATH进行扩充。

如下:

export PATH=$PATH:$HOME/bin

4)如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径。

示例:

图片

2、LANG环境变量

LANG环境变量存放的是Linux系统的语言、地区、字符集,它不需要系统管理员手工设置,/etc/profile会调用/etc/profile.d/lang.sh脚本完成对PATH的设置。

CentOS6.x 字符集配置文件在/etc/syscconfig/i18n文件中。

CentOS7.x 字符集配置文件在/etc/locale.conf文件中,内容如下:

图片

3、LD_LIBRARY_PATH环境变量

C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。

LD_LIBRARY_PATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.

4、CLASSPATH

JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要。

CLASSPATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

五、环境变量的生效

1)在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。

2)在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效。

例如:source /etc/profile

六、应用经验

虽然设置环境变量的方法有多种,但是建议系统环境变量建议在/etc/profile.d目录中配置,用户环境变量在用户的.bash_profile中配置,不建议在其它脚本文件中配置环境变,会增加运维的麻烦,容易出错。


http://chatgpt.dhexx.cn/article/US2ro73g.shtml

相关文章

Pycharm的环境变量设置

Pycharm的环境变量设置 最开始是由于在系统终端上安装mujoco_py遇到了需要添加环境变量的问题,在添加完系统环境变量后,在终端可以使用mujoco_py,而在手动打开的Pycharm窗口中却仍需配置环境变量,查阅资料后发现有如下两种方法解…

ug更改java的环境变量_UG中的语言环境变量设置

原标题:UG中的语言环境变量设置 今天与大家分享怎样更改UG中的语言环境变量,语言的更改经常要用,特别是在英语和中文之间切换。 在Windows的操作系统中,UG软件的工作路径是由系统注册表和环境变量来设置的。安装UG后,会…

【环境变量设置】Windows环境变量设置

啊没错是写anaconda的时候顺便着写的2333 以win10系统为例,打开“此电脑”的属性。 在属性中,下拉找到“高级系统设置”。 选择环境变量 找到系统变量中的Path,双击打开即可修改了。

配置 Windows 环境变量的方法

配置 Windows 环境变量的方法 笔者的环境: Windows 10 教育版 配置 Windows 中的环境变量是为了某些命令在 CMD 中可以被识别以及用于多应用之间的交互。 配置 Windows 环境变量的具体操作流程如图(请顺着图片用鼠标点击画红圈部分)&#xf…

设置环境变量的两种方法

文章目录 简要说明win7方法一:添加变量名形式win7方法二:直接添加进path变量形式win10方法一:添加变量名形式win10方法二:直接添加进path变量形式 简要说明 本文章以win7和win10两种系统作为演示,每种系统各演示两种方…

如何设置环境变量?

我在安装很多软件的时候,发现需要添加环境变量。下面来简单介绍一下什么是环境变量? 一、环境变量的定义 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,包含了一个或者多个应用程序所将使用到的信息。 例如在Windows…

推荐系统-知识综述

文章目录 综述腾讯 | 从零开始了解推荐系统全貌阿里 | 新时期的阿里妈妈广告引擎架构 特征工程推荐系统之数据与特征工程数据生成数据预处理:ETL特征工程未来 画像/用户行为飞猪旅行用户理解服务架构 倒排百度广告倒排服务极致优化 粗排阿里粗排技术体系与最新进展分…

论文解读:《BACPI:一个用于复合蛋白相互作用和结合亲和力预测的双向注意神经网络》

期刊名:Bioinformatics 分区:Q1 发表:2022年1月8号 代码数据集:GitHub - CSUBioGroup/BACPI 一、摘要 BACPI,以预测CPI(化合物-蛋白质相互作用)和它们的结合亲和力,识别化合物-蛋…

云效故障定位研究论文被ICSE 2021 SEIP track收录

简介:新成果 近期,由阿里云云效团队联合复旦大学CodeWisdom研究团队、阿里技术风险部安全生产团队,合作完成的论文《MicroHECL: High-Efficient Root Cause Localization in Large-Scale Microservice Systems》被ICSE 2021 SEIP track录用。…

基于Mahout的电影推荐系统(MVC架构)

源代码下载地址:http://download.csdn.net/detail/huhui_bj/5248056 参考资料: http://www.ibm.com/developerworks/cn/java/j-lo-mahout/ http://blog.sina.com.cn/s/blog_541086000100qh2j.html 1 Mahout介绍 Apache Mahout 是 Apache Software Founda…

推荐系统 | 【01】简介

[toc]简介 介绍 简介:推荐系统经过对年的发展,在电商、资讯、音乐等应用中成为了核心组件之一。 背景:信息的过载与用户对于需求不够明确。 概念:用户没有明确的需求且服务于用户的商品信息过载,则系统能过通过算法对…

MADlib——基于SQL的数据挖掘解决方案(2)——MADlib基础

一、MADlib简介 MADlib是Pivotal公司与伯克利大学合作开发的一个开源机器学习库,提供了多种数据转换、数据探索、统计、数据挖掘和机器学习方法,使用它能够简易地对结构化数据进行分析和挖掘。用户可以非常方便地将MADlib加载到数据库中,扩展…

OushuDB入门(八)——AI篇

一、OushuDB AI简介 OushuDB可集成MADlib机器学习库作为其AI组件。现在OushuDB通过MADlib已经支持了大部分机器学习算法,正在研发一个新的组件以支持深度学习。OushuDB对MADlib进行了增强和优化,并在此基础上提出了AI-in-Database的概念。 MADlib…

朴实无华,总结200道往年BAT机器学习面试题

来源:CSDN 刷题,是面试前的必备环节。本文作者总结了往年BAT机器学习面试题,干货满满,值得收藏。 想要入职大厂可谓是千军万马过独木桥。 为了通过层层考验,刷题肯定是必不可少的。本文作者根据网络在线发布的BAT机器学…

2019年国内IT行业就业状况分析,你拖后腿了吗?

点击上方“后端技术精选”,选择“置顶公众号” 技术文章第一时间送达! 作者:刚入道的大学僧 本文系投稿,原文内容点击阅读原文直达 一、分析背景与分析目的 随着科技的迅速发展,计算机的普及及对人类生活的渗透&#x…

Deep Learning Methods for Remote Heart Rate Measurement:A Review and Future Research Agenda

前言 本文为一片远程心率监测综述的总结复述,本文为作者第一篇试写博客,欢迎大家提出宝贵意见。 文章主要内容:1.简述了有关远程心率监测的基础知识与相关概念。2.讨论了基于深度学习的远程心率检测方法的几个最新进展,并根据模型…

论文解读:基于共享混合深度学习架构的DNA形状特征预测转录因子结合位点

Predicting transcription factor binding sites using DNA shape features based on shared hybrid deep learning architecture 数据:https://github.com/wangguoguoa/CRPTS 表S1: Tables S1 表S2:S2 表S3:Table S3 目录 1 文章概述…

一文简单理解“推荐系统”原理及架构

本文主要介绍什么是推荐系统,为什么需要推荐系统,如何实现推荐系统的方案,包括实现推荐系统的一些常见模型,希望给读者提供学习实践参考。 为什么需要推荐系统 对于信息消费者,需要从大量信息中找到自己感兴趣的信息&a…

拉普拉斯, 高斯, 高尔顿, 皮尔逊, 戈塞特, 费歇尔对统计学的发展贡献

由于人类的统计实践是随着计数活动而产生的,因此,统计发展史可以追溯到远古的原始社会,也就是说距今足有五千多年的漫长岁月。但是,能使人类的统计实践 上升到理论上予以概括总结的程度,即开始成为一门系统的学科统计学…

css过渡 取消过渡_如何过渡到微服务架构

css过渡 取消过渡 获取完整的书 微服务和容器 建议零售价$ 39.99 看见 本文摘录自Parminder Singh Kocher撰写的Pearson Addison-Wesley的著作《微服务和容器》。 经皮尔逊(Pearson)许可在此处转载©2018。 有关更多信息,请访问notifyit…