当前位置:首页 > 技术文章 > 正文内容

Linux 中的 "/etc/profile.d" 目录有什么作用 ?

douba31个月前 (07-24)技术文章8

什么是 /etc/profile.d/ 目录 ?

/etc/profile.d/ 目录是 Linux 系统不可或缺的一部分保留配置脚本。它与 /etc/profile 文件相关联,这是一个启动脚本,该脚本在新的 shell 会话开始时初始化环境,为用户设置环境变量。

/etc/profile.d/ 如何工作 ?

在启动期间,/etc/profile 脚本是用于登录 shell 的(那些需要身份验证的会话,例如终端登录,SSH 登录),/etc/profile.d 目录中的脚本也会执行,它允许运行目录中的脚本,而无需修改 /etc/profile 文件,从而促进了更加模块化和可管理的方法。

/etc/profile.d/ 实际用途

以下是 /etc/profile.d/ 目录的一些实际用途:

(1) Environment Variables

/etc/profile.d/ 最常见用途是设置环境变量。这些可能是 PATH 变量,用于在命令搜索中包含其他目录路径或特定于应用程序的变量。例如,对于 Java 应用程序,您可能会设置 JAVA_HOME 指定 Java 安装目录。

vim /etc/profile.d/jdk.sh

添加环境变量,如下所示

export PATH=$PATH:/usr/lib/jvm/java-17-oracle/bin:/usr/lib/jvm/java-17-oracle/db/bin
export JAVA_HOME=/usr/lib/jvm/java-17-oracle

(2) Application Startup

/etc/profile.d/ 目录中的脚本可在 Shell Session 启动期间启动某些应用程序或服务。

(3) System-Wide Aliases and Functions

您还可以在 /etc/profile.d/ 目录中定义系统范围的别名和功能脚本。

Customization and Modularity

/etc/profile.d/ 关键优点之一是,它允许您为新的程序和服务添加脚本,而无需触更改 /etc/profile 文件,提供额外的模块化层。

Key Considerations

虽然 /etc/profile.d/ 目录用起来很香,但是任然需要注意几个地方:

(1) Login Shells

/etc/profile.d/ 目录中的脚本目录通常用于 login shell,它们在 non-login shell 环境时可能不工作。
例如:打开桌面中的新终端窗口会话。

(2) Order of Execution

/etc/profile.d/ 目录中的脚本按字母顺序运行,而不是按照他们添加的顺序运行。

(3) Script Permissions

确保 /etc/profile.d/ 目录中的脚本具有正确的权限,可由所需的用户执行。

我的开源项目

  • course-tencent-cloud(酷瓜云课堂 - gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 - github 仓库)

相关文章

Linux系统如何查看服务的运行状态

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本文主要讲解如何在Linux系统上查看服务的运行状态。Linux系统提供各种系统...

Linux如何查看文件(linux如何查看文件夹创建时间)

Linux如何查看目录下的所有文件?用ls(list)查看当前目录下的所有文件和子目录。Ls查看目录下的文件,怎么区分是目录还是文件呢?第一种方式,我们可以通过颜色来区分目录和文件。默认情况下,目录显...

linux系统日志查看命令(linux系统查看日志的详细信息)

cattail -f日 志 文 件 说 明/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信...

如何查看linux后台运行的进程?如何查看后台运行进程的状态?

linux系统中挂在后台的进程,如何能够被运维人员知道呢?以及挂在后台的进程当前状态是怎样的?是否可以继续执行?如何杀死一个在后台挂起的进程?后台进程可以通过‘&’符号或nohup命令,让程序进入...

Linux 下如何查看进程的资源限制信息?

简介Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 `/proc 文件系统的一部分,该...

如何检查 Linux 系统是 32 位还是 64 位?这9个命令查的又快又准!

在 Linux 系统中,位数(bit)通常指的是 CPU 架构的位宽,即 CPU 一次能够处理的数据量。32 位系统和 64 位系统在内存寻址能力、计算性能和软件支持上存在显著差异:「32 位系统」:...