自学内容网 自学内容网

[241004] Linux 系统中配置文件的区别 | VirtualBox 7.1.2 发布,修复多项问题并提升性能

Linux 系统中 /etc/profile, ~/.bash_profile, ~/.profile, ~/.bashrc 等配置文件的区别

在 Linux 系统中,bash 或其他 shell 使用多个配置文件来配置用户的交互式登录或非登录 shell 环境。这些配置文件包括 /etc/profile~/.bash_profile~/.profile~/.bash_login~/.bashrc~/.bash_history~/.bash_logout

一、配置文件类型

这些配置文件主要分为两大类:

  1. 系统配置文件: /etc/profile
  2. 用户配置文件: ~/.bash_profile, ~/.profile, ~/.bash_login, ~/.bashrc, ~/.bash_history, ~/.bash_logout

二、配置文件作用

在理解配置文件之前,需要先了解交互式登录 shell 和非登录 shell 的区别。

  • 交互式 shell: 与用户的终端交互,可以读取和写入用户的终端。
  • 非交互式 shell: 不与终端关联,通常用于执行 shell 脚本。

交互式 shell 又可以分为:

  • 交互式登录 shell: 系统启动后第一次启动的 shell,或者使用 --login 参数启动的 shell,以及通过 SSH 远程登录的 shell 都属于登录 shell。
  • 交互式非登录 shell: 在已有的 shell 中打开新的子 shell,或者打开新的终端标签页,都属于非登录 shell。

三、交互式登录 Shell 和非登录 Shell

交互式登录 shell

当启动交互式登录 shell 时,Bash 会按照以下顺序读取配置文件:

  1. /etc/profile:系统配置文件,对所有用户生效。
  2. ~/.bash_profile~/.profile~/.bash_login:用户配置文件,只对当前用户生效。如果 ~/.bash_profile 存在,则不会读取 ~/.profile~/.bash_login
  3. ~/.bashrc_history:保存用户在终端输入的命令历史记录。
  4. ~/.bashrc_logout:当登录 shell 退出时执行的清理文件。
交互式非登录 shell

当启动交互式非登录 shell 时,Bash 只会读取以下配置文件:

  1. ~/.bashrc:用户配置文件,只对当前用户生效。
  2. ~/.bash_history:保存用户在终端输入的命令历史记录。
  3. ~/.bash_logout:当登录 shell 退出时执行的清理文件。

四、配置文件加载顺序

以下代码演示了在 bash 中加载配置文件的顺序:

# 编辑配置文件,在文件末尾添加 echo 命令输出文件名
echo 'echo "~/.bash_profile"' >> ~/.bash_profile
echo 'echo "~/.bashrc"' >> ~/.bashrc
echo 'echo "/etc/profile"' >> /etc/profile

# 打开一个新的子 shell,观察输出结果
bash --login

相关文件名类别及其描述:

文件名描述
/etc/profile存储系统级别的环境变量、别名、函数等,对所有用户生效。
~/.bash_profile存储用户级别的环境变量、别名、函数等,只对当前用户生效,在登录 shell 启动时加载。
~/.profile如果 ~/.bash_profile 不存在,则会读取该文件。
~/.bash_login如果 ~/.profile 也不存在,则会读取该文件。
~/.bashrc存储用户级别的环境变量、别名、函数等,只对当前用户生效,在非登录 shell 启动时加载。
~/.bash_history存储用户在终端输入的命令历史记录。
~/.bash_logout当登录 shell 退出时执行的清理文件。

五、~/.bash_profile~/.bashrc 的区别

  • ~/.bash_profile 通常用于设置只在登录时需要执行一次的命令,例如:
    • 设置文本编辑器
    • 设置终端布局
    • 定义环境变量
  • ~/.bashrc 通常用于设置每次打开新的终端都需要执行的命令,例如:
    • 定义别名
    • 定义函数
    • 设置 PS1 变量

了解 Linux 系统中不同配置文件的作用和加载顺序,可以帮助我们更好地配置 shell 环境,提高工作效率。

来源:

https://linuxtldr.com/difference-between-bash-profiles/

VirtualBox 7.1.2 发布,修复多项问题并提升性能

VirtualBox 7.1.2 已于 2024 年 9 月 26 日发布,这是一个维护版本,主要修复了以下问题并进行了一些改进:

界面改进:

  • 增加了多窗口布局,并修复了与翻译相关的问题。
  • 修复了使用无人值守安装创建的虚拟机无法彻底删除的问题。
  • 增加了更改远程显示安全方法的选项。
  • 移除了 macOS/Arm 用户界面上的“测试版”标签。

网络增强:

  • 修复了 Windows 主机上 NAT 网络性能缓慢的问题(错误 #22164 和 #22180)。
  • 修复了在域为空时某些客户机出现的 DHCP 问题。

3D 图形优化:

  • 修复了在虚拟机设置中启用 3D 加速的问题。
  • 修复了 Windows 虚拟机黑屏的问题。
  • 修复了由于视图处理不正确导致的渲染问题。
  • 增加了为 Arm 平台虚拟机启用 3D 加速功能的可能性。

其他改进:

  • 修复了加载由 7.0.x 创建的保存状态时出现的问题。
  • 修复了使用旧版 BIOS 处理 NVRAM 状态不正确以及在删除虚拟机时删除 NVRAM 的问题。
  • 修复了在虚拟机从未启动时查询 UEFI 安全启动状态的问题。
  • 修复了客户机添加程序自动升级时的错误消息。
  • 修复了使用 XPCOM 绑定构建代码的问题(错误 #22174)。

总的来说,VirtualBox 7.1.2 提升了稳定性、性能和用户体验,建议所有用户升级到此版本。

来源:

https://www.virtualbox.org/wiki/Changelog-7.1#v02

更多内容请查阅 : blog-241004


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法


原文地址:https://blog.csdn.net/edwinjhlee/article/details/142699965

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!