搜索
首页系统教程LINUXLinux中环境变量的使用方法相同的生存周期来划分

序言:

1.环境变量是操作系统环境设置的变量,适用于整个系统的用户进程;

2.环境变量可以在命令中设置,并且用户注销的时侯将会遗失这种设置值;

3.若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方式相同,

4.并且在使用之前,必须用export命令导入。

一、环境变量文件介绍

Linux中环境变量包括系统级和用户级,系统级的环境变量是每位登陆到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量,所以管理环境变量的文件也分为系统级和用户级的。

二、Linux的变量种类

按变量的生存周期来界定,Linux变量可分为两类:

1.永久的:须要更改配置文件,变量永久生效

2.临时的:使用export命令申明即可,变量在关掉shell时失效

三、Linux环境变量文件

linux变量文件有/etc/environment或/etc/profile或~/.profile或/etc/bash.bashrc或~/.bashrc,以及~/.bash_profile(通常是用户在自己目录下新建的),~/.bash_logout.

系统级:

1./etc/environment:是系统在登陆时读取的第一个文件,该文件设置的是整个系统的环境,只要启动系统才会读取该文件redhat linux下载,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令,而是按照而是按照KEY=VALUE模式的代码,对KEY形参以VALUE,因而文件中假如要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码即可

2./etc/profile:此文件是系统登陆时执行的第二个文件。为系统的每位用户设置环境信息,当用户第一次登陆时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。(/etc/profile可以用于设定针对全系统所有用户的环境变量,环境变量周期是永久性)

3./etc/bashrc:是针对所有用户的bash初始化文件,在此中设定的环境变量将应用于所有用户的shell中,此文件会在用户每次打开shell时执行一次。(即每次新开一个终端,就会执行/etc/bashrc)。

用户级(这种文件处于家目录下):

1.~/.profile:对应当前登入用户的profile文件,用于订制当前用户的个人工作环境(变量是永久性),每位用户都可使用该文件输入专用于自己使用的shell信息,当用户登入时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这儿是推荐放置个人设置的地方

2.~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取。(~/.bashrc只针对当前用户,变量的生命周期是永久的)

不推荐放在这里,由于每开一个shell,这个文件会读取一次在linux系统,默认的shell是什么,效率肯定有影响。

3.~/.bash_profileor~./bash_login:~/.bash_profile是交互式login形式步入bash运行的,~/.bashrc是交互式non-login形式步入bash运行的一般两者设置大致相同,所以一般后者会调用前者。每位用户都可使用该文件输入专用于自己使用的shell信息,当用户登入时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(假如~/目录下没有.bash_profile则新构建一个)这儿是推荐放置个人设置的地方

当一个shell关掉时,在bash_profile中定义的系统变量则会失效。为此,每打开一个新的shell时都要运行一次sourcebash_profile.并且针对当前用户。

4.~/.pam_environment:用户级的环境变量设置文件,没有做测试,不晓得管不管用。

5.~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件。另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能承继/etc/profile中的变量,她们是"母子"关系。

四、Linux环境变量文件执行次序

1.在登陆Linux时要执行文件的过程如下:

在刚登陆Linux时在linux系统,默认的shell是什么

首先启动/etc/profile文件,

之后再启动用户目录下的~/.bash_profile、~/.bash_login或~/.profile文件中的其中一个,用房主目录下文件的执行的次序为:

~/.bash_profile->~/.bash_login->~/.profile。

假如~/.bash_profile文件存在的话,通常都会执行~/.bashrc文件。

由于在~/.bash_profile文件中通常会有下边的代码:

if [ -f ~/.bashrc ] ; then
 . ./bashrc
fi

~/.bashrc中,通常都会有以下代码:

if [ -f /etc/bashrc ] ; then
 . /etc/bashrc
fi

所以,~/.bashrc会调用/etc/bashrc文件。最后,在退出shell时,就会执行~/.bash_logout文件。

执行次序为:/etc/profile->(~/.bash_profile|~/.bash_login|~/.profile)->~/.bashrc->/etc/bashrc->~/.bash_logout

/etc/profile和/etc/environment等各类环境变量设置文件的好处

1)先将exportLANG=zh_CN加入/etc/profile,退出系统重新登陆,登陆提示显示中文。

2)先将/etc/profile中的exportLANG=zh_CN删掉,将LNAG=zh_CN加入/etc/environment,退出系统重新登陆,登陆提示显示英文。

用户环境完善的过程中总是先执行/etc/profile,之后再读取/etc/environment。

为何会有如上所叙的不同呢?而不是先执行/etc/environment,后执行/etc/profile呢?

这是由于:/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,后者与登入用户无关,前者与登入用户有关。

系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登入时,你看见的提示信息,如日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,假若系统环境LANG=zh_CN,则提示信息是英文的,否则是英语的。

对于用户的shell初始化而言是先执行/etc/profile中标麒麟linux,再读取文件/etc/environment;对整个系统而言是先执行/etc/environment。这样理解正确吗?

登录系统时的次序应当是:

/etc/enviroment-->/etc/profile-->HOME/.profile−−>HOME/.env(假如存在)

/etc/profile是所有用户的环境变量

/etc/enviroment是系统的环境变量

登录系统时shell读取的次序应当是:

/etc/profile->/etc/enviroment-->HOME/.profile−−>HOME/.env

缘由应当是用户环境和系统环境的区别了,若果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值,那应当是以用户环境为准了。

五、Linux中常见的环境变量及其作用

Linux中常见的环境变量有:

1.PATH:指定命令的搜索路径

2.HOME:指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)

3.HISTSIZE:指保存历史命令记录的条数。

4.LOGNAME:指当前用户的登陆名。

5.HOSTNAME:指主机的名称,许多应用程序假如要用到主机名的话,一般是从这个环境变量中来取得的。

6.SHELL:指当前用户用的是哪种Shell。

7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以更改此环境变量。

在linux系统,默认的shell是什么_在linux系统,默认的shell是什么_在linux系统,默认的shell是什么

8.MAIL:指当前用户的电邮储存目录。

9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。

10.PS2:附属提示符,默认是“>”。

备注:可以通过更改此环境变量来更改当前的命令符,例如下述命令会将提示符更改成字符串“Hello,MyNewPrompt”。

#PS1="Hello,MyNewPrompt"

注意:上述变量的名子并不固定,如HOSTNAME在个别Linux系统中可能设置成HOST

其实,我所列出的上述环境变量并非用尽列举!

Linux也提供了更改和查看环境变量的命令!下边通过几个实例来说明:

1.echo显示某个环境变量值echo$PATH

2.export设置一个新的环境变量exportHELLO="hello"(可以无顿号),在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关掉了,变量也就失效了,再打开新shell时就没有这个变量,须要使用的话还须要重新定义。

3.env显示所有环境变量

4.set显示本地定义(系统中早已存在)的shell变量以及设置shell变量的新变量值,倘若未指定值,则该变量值将被设为NULL。

5.unset清理环境变量unsetHELLO

6.readonly设置只读环境变量readonlyHELLO,假如使用了readonly命令的话,变量就不可以被更改或清不仅

以上是Linux中环境变量的使用方法相同的生存周期来划分的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:ITcool。如有侵权,请联系admin@php.cn删除
Linux管理员的薪水是多少?Linux管理员的薪水是多少?Apr 17, 2025 am 12:24 AM

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要目的是什么?Linux的主要目的是什么?Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网在Linux上运行吗?互联网在Linux上运行吗?Apr 14, 2025 am 12:03 AM

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作是什么?Linux操作是什么?Apr 13, 2025 am 12:20 AM

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

使用Linux别名提高自定义命令快捷方式的生产率使用Linux别名提高自定义命令快捷方式的生产率Apr 12, 2025 am 11:43 AM

介绍 Linux是一个强大的操作系统,由于其灵活性和效率,开发人员,系统管理员和电源用户都喜欢。但是,经常使用长而复杂的命令可能是乏味的

Linux实际上有什么好处?Linux实际上有什么好处?Apr 12, 2025 am 12:20 AM

Linux适用于服务器、开发环境和嵌入式系统。1.作为服务器操作系统,Linux稳定高效,常用于部署高并发应用。2.作为开发环境,Linux提供高效的命令行工具和包管理系统,提升开发效率。3.在嵌入式系统中,Linux轻量且可定制,适合资源有限的环境。

在Linux上掌握道德黑客的基本工具和框架在Linux上掌握道德黑客的基本工具和框架Apr 11, 2025 am 09:11 AM

简介:通过基于Linux的道德黑客攻击数字边界 在我们越来越相互联系的世界中,网络安全至关重要。 道德黑客入侵和渗透测试对于主动识别和减轻脆弱性至关重要

如何学习Linux基础知识?如何学习Linux基础知识?Apr 10, 2025 am 09:32 AM

Linux基础学习从零开始的方法包括:1.了解文件系统和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.学习文件操作,如创建和编辑文件,4.探索高级用法如管道和grep命令,5.掌握调试技巧和性能优化,6.通过实践和探索不断提升技能。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),