Bash Profile 和 Bashrc 的区别
本文解释了 Bash 中 ~./bash_profile
和 ~/.bashrc
文件之间的区别。
什么是 Bash 中的启动文件
启动文件是在 shell 启动后执行的文件。启动文件取决于启动的 shell 类型。shell 可以作为交互式 shell 或非交互式 shell 执行。
交互式 shell 是从终端上的用户输入读取命令并将输出显示到终端的 shell。相反,非交互式 shell 不与终端关联,例如运行脚本。
交互式 shell 可以进一步分为两个。它可以是交互式登录 shell 或交互式非登录 shell。
登录 shell 是使用 /bin/login
通过读取 /etc/passwd
文件成功登录后启动的第一个进程。登录 shell 在你的用户 ID 下执行。当你使用终端登录、切换到另一个用户或使用 SSH 时,会执行登录 shell。
登录 shell 启动一个非登录 shell。它可以是一个以没有登录的进程启动的 shell,也可以是从另一个 shell 启动的 shell。进程使用 shell 可执行文件的名称来启动非登录 shell。
Bash 中 ~/.bash_profile
和 ~/.bashrc
的区别
一旦 shell 作为交互式登录 shell 启动,它会从 ~/.profile
读取命令,但 Bash 会从 ~/.bash_profile
读取命令。Bash 只能读取~/.bash_profile
,如果文件不存在,Bash 会读取~/.profile
。
~/.profile
在 Linux 发行版中比 ~/.bash_profile
更常用,因为它被所有 shell 读取和执行。相反,~/.bash_profile
只能由 Bash 读取和执行。
当 shell 作为交互式非登录 shell 启动时,它会从 ~/.bashrc
文件中读取并执行命令。
~/.bash_profile
和 ~/.bashrc
作为点文件位于用户的主目录中。用户主目录中的文件用于进行仅适用于该特定用户的配置。
这些配置通常会覆盖系统配置。 ~/.bash_profile
包含启动程序配置和用户特定的环境配置,而 ~/.bashrc
文件存储特定用户的函数和别名。
位于 /etc/
目录中的文件用于进行适用于系统上所有用户的系统范围配置。这些文件包括 /etc/profiles
和 /etc/bashrc
。
使用 ls
命令查看 Bash 中的启动文件
要查看 ~/.bash_profile
或 ~/profile
和 ~/.bashrc
,请导航你的主目录并键入命令 ls -al
。
-a
选项通知 ls
命令列出所有文件,包括以点开头的文件。 -l
选项通知 ls
命令使用长列表格式列出文件。
下图显示了 ~/.bashrc
和 ~/.profile
文件。
相关文章
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:108 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Linux 中更新 YUM
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。
在 Linux 中安装 Deb 文件
发布时间:2023/05/04 浏览次数:130 分类:操作系统
-
本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。
Linux 中的 lsof 命令
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。
Linux 解决不能执行二进制文件问题
发布时间:2023/05/04 浏览次数:187 分类:操作系统
-
在本文中,我们将学习如何在 Linux 中执行二进制文件。 如果 Linux 无法执行二进制文件,我们还将学习如何解决错误。
Linux 中错误 Mesg: Ttyname Failed: Inappropriate Ioctl for Device Error
发布时间:2023/05/04 浏览次数:145 分类:操作系统
-
本文介绍如何在 Linux 中解决 mesg: ttyname failed: inappropriate ioctl for device 错误。在 Linux 中,这个错误是由于默认的 vagrant 配置 config.ssh.shell 与 bash -l 交互导致的。
Linux 中的 ps aux 命令
发布时间:2023/05/04 浏览次数:69 分类:操作系统
-
本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。
Linux 中的 NTP
发布时间:2023/05/04 浏览次数:137 分类:操作系统
-
本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。
在 Bash 中创建进度条
发布时间:2023/05/04 浏览次数:164 分类:操作系统
-
这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条