Linux /etc/profile 详解

news2024/9/23 9:31:23

概述

        Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量用户在自己的主目录下(如 ~/.bash_profile~/.bash_login~/.profile 等)覆盖或添加个性化的设置。

        /etc/profile 是 Linux 系统中的一个重要配置文件,它主要用于设置系统级的环境变量和启动程序。该文件在用户登录时会被自动执行,无论用户是通过图形界面还是命令行界面登录。/etc/profile 文件为所有用户提供了系统范围内的环境设置也就是说,在这里修改的内容是对所有用户起作用的用户也可以在自己的主目录下(如 ~/.bash_profile~/.bash_login~/.profile 等)覆盖或添加个性化的设置。

主要内容和作用

1)设置环境变量:
        /etc/profile 可以用来设置一些全局的环境变量,比如 PATHLD_LIBRARY_PATH 等,这些变量会影响系统查找可执行文件、库文件等的路径。

2)运行脚本和程序:
        可以在 /etc/profile 中调用其他脚本或程序,这些脚本或程序可以在用户登录时自动执行,比如更新系统信息、启动某些服务等。

3)别名设置:
        可以定义一些全局的 shell 别名,使得用户在使用 shell 时可以更方便地执行某些命令。

4)条件判断:
        通过条件判断(如使用 if 语句),可以根据不同的条件执行不同的命令或设置不同的环境变量。

5)调用其他配置文件:
        /etc/profile 通常会调用 /etc/profile.d/ 目录下的所有脚本,以及用户个人的 ~/.bash_profile~/.bash_login 或 ~/.profile 文件(具体取决于 shell 类型和用户的登录方式)。

注意事项

1)修改 /etc/profile 文件需要管理员权限。

2)修改后,为了使更改生效,需要重新登录或执行 source /etc/profile 命令。

3)考虑到不同用户可能有不同的需求,一些个性化的设置应该放在用户自己的配置文件中,而不是 /etc/profile

4)在 /etc/profile 中设置的环境变量和别名对通过 SSH 登录的用户也有效,但如果是通过图形界面登录,则可能还受到桌面环境启动脚本的影响。

PATH介绍

        PATH 是一个环境变量,它包含了一系列由冒号(:分隔的目录路径。当用户在命令行中输入一个命令时,系统会按照 PATH 环境变量中定义的目录顺序,在这些目录中查找相应的可执行文件。如果找到了相应的可执行文件,则执行该命令;如果没有找到,系统通常会返回一个错误消息,提示命令未找到。

        在 /etc/profile 文件中设置 PATH 环境变量时,通常使用 export 命令来定义或修改它。这里有几个关键点需要注意:

1)追加到现有PATH:为了避免覆盖掉系统或其他应用程序已经设置的 PATH,通常会将新的目录路径追加到现有的 PATH 后面。这可以通过在 PATH 变量后添加新路径,并用冒号分隔来实现。

# 将 /usr/local/git-2.45.2/bin 添加到现有的 PATH 后面。
export PATH=$PATH:/usr/local/git-2.45.2/bin

2)修改或重置PATH:虽然不推荐这样做,但有时可能需要完全修改或重置 PATH 环境变量。这可以通过直接为 PATH 赋一个新值来实现,但这样做会覆盖掉所有现有的路径设置,因此需要谨慎操作。 

# 将 PATH 设置为仅包含 /new/path 和 /another/path
export PATH=/new/path:/another/path

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1921262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python如何查看类的函数

Python非常方便,它不需要用户查询文档,只需掌握如下两个帮助函数,即可查看Python中的所有函数(方法)以及它们的用法和功能: dir():列出指定类或模块包含的全部内容(包括函数、方法、…

浅谈串口UART通信原理

文章目录 引言并行和串行波特率UART帧格式 引言 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种用于串行通信的硬件设备。它允许两个设备之间进行异步数据传输。是一种通用的串行、异步通信总线。该总线有两条数据…

SpringBoot整合XXL_JOB示例

XXL-JOB 是一个分布式任务调度平台,主要用于管理和执行定时任务。它适用于各种场景,例如定时任务、批处理任务、分布式任务等。XXL-JOB 提供了丰富的功能,使得任务调度变得简单、高效和可靠。以下是 XXL-JOB 的一些主要功能和特点&#xff1a…

Centos系统内磁盘分区

Centos系统内磁盘分区 建议如果有重要数据提前做好备份 以根目录扩容50G为例: 1、卸载/home目录 umount /home 2、删除逻辑卷 y确认即可 lvremove /dev/mapper/centos-home 3、df -h查询一下,/home目录已经不见了 4、向根目录分区追加50G容量 lv…

数据销毁境外间谍情报机关逼迫、威胁贷款学生为其窃取我国家秘密

近年来,随着国际形势的复杂多变,境外间谍情报机关的活动也日益猖獗。他们利用各种手段,包括通过校园贷逼迫、威胁贷款学生为其窃取我国国家秘密,这种行为不仅危害了国家安全,也严重损害了社会的公平正义。那么&#xf…

微信小程序毕业设计-汽车维修项目管理系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

(一)高并发压力测试调优篇——MYSQL数据库的调优

前言 在实际项目开发中,很多业务场景下都需要考虑接口的性能要求,追求高并发、高吞吐量。那么对于此类问题如何入手呢?关注作者,不迷路。本节内容主要介绍在数据库db方面的优化,以mysql数据库为例。 关于db的优化&am…

python库(11):Box库简化字典和对象之间的转换

1Box库简介 Box是一个Python库,它提供了一种将数据封装在字典和列表中的方式,同时提供了一些额外的功能,比如数据验证、默认值设置等。这使得Box库非常适合用于配置管理、数据传输对象(DTO)的创建,以及任何…

PDF 中图表的解析探究

PDF 中图表的解析探究 0. 引言1. 开源方案探究 0. 引言 一直以来,对文档中的图片和表格处理都非常有挑战性。这篇文章记录一下最近工作上在这块的探究。图表分为图片和表格,这篇文章主要记录了对表格的探究。还有,我个人主要做日本项目&…

[C++]——同步异步日志系统(4)

同步异步日志系统 一、日志等级模块设计二、日志消息类设计 一、日志等级模块设计 定义出日志系统所包含的所有日志等级分别为:(7个等级) UNKNOW0,未知等级的日志DRBUG ,调试等级的日志INFO ,提示等级的日…

前端调试技巧(npm Link,vscode调试,浏览器调试等)

Npm Link 功能: 在本地开发npm模块的时候,我们可以使用npm link命令,将npm 模块链接到对应的运行项目中去,方便地对模块进行调试和测试 断点调试 vscode调试 Debug Vue2 Project 目标:在VSCode中调试项目代码…

docker拉取镜像-配置阿里云镜像加速

1、配置阿里云镜像&#xff08;用于拉取镜像加速&#xff09; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo syst…

论文阅读【时间序列】TimeMixer (ICLR2024)

【时间序列】TimeMixer (ICLR2024) 原文链接&#xff1a;TIMEMIXER: DECOMPOSABLE MULTISCALE MIXING FOR TIME SERIES FORECASTING 代码仓库&#xff1a;https://github.com/kwuking/TimeMixer 符号定义 符号含义P用于预测的历史序列长度&#xff08;seq_len&#xff09;F预测…

debian 12 Install

debian 前言 Debian是一个基于Linux内核的自由和开放源代码操作系统&#xff0c;由全球志愿者组成的Debian项目维护和开发。该项目始于1993年&#xff0c;由Ian Murdock发起&#xff0c;旨在创建一个完整的、基于Linux的自由软件操作系统。 debian download debian 百度网盘…

LangChain之工具Tools(下)

LangChain之工具Tools SQLDatabase工具准备数据初始化数据库光标查询​字符串查询带参数查询​使用SQLAlchemy查询​使用自然语言查询数据库 使用其他工具Tavily Search工具Dall-E图像生成工具ArXiv工具 SQLDatabase工具 在 LangChain 中,SQLDatabase工具可以用来与SQL数据库进…

和Bug较劲的第n天:[Error: Unable to open snapshot file: No such file or directory]

问题描述 最近做了一个小demo&#xff0c;基于parcel的&#xff0c;在迁移仓库的时候发生了一个报错 [Error: Unable to open snapshot file: No such file or directory] 原因分析&#xff1a; 在迁移仓库的时候&#xff0c;我将项目放入了一个以中文命名的文件夹里&#xf…

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)

#在生产环境中部署Elasticsearch&#xff1a;最佳实践和故障排除技巧——安装篇&#xff08;一&#xff09; 前言 关键字&#xff1a; 机器学习 人工智能 AI chatGPT 学习 实现 使用 搭建 深度 python 事件 远程 docker mysql安全 技术 部署 技术 自动化 代码 文章目录 - -…

【斯坦福因果推断课程全集】2_无混淆和倾向分1

目录 Beyond a single randomized controlled trial Aggregating difference-in-means estimators Continuous X and the propensity score 随机试验的一个最简单的扩展是无约束下的干预效果估计。从定性上讲&#xff0c;当我们想估计一种并非随机的治疗效果&#xff0c;但一…

python-小理与他的画(赛氪OJ)

[题目描述] 小理是个画家&#xff0c;他希望有一天他的画能让心仪的她看到。 只是后来她有了他&#xff0c;他却只有他的画&#xff0c;他望着他的画&#xff0c;默默的发呆。 可惜做题的你&#xff0c;画不出他画的她&#xff0c;所以&#xff0c;我们只好画点简单的画&#x…

MFC扩展库BCGControlBar Pro v35.0 - 可视化管理主题等全新升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.0已全新发布了&#xff0c;这个版本改进类Visual Studio 2022的视觉主题、增强对多个…