[241004] Linux 系统中配置文件的区别 | VirtualBox 7.1.2 发布,修复多项问题并提升性能
目录
- Linux 系统中 /etc/profile, ~/.bash_profile, ~/.profile, ~/.bashrc 等配置文件的区别
- 一、配置文件类型
- 二、配置文件作用
- 三、交互式登录 Shell 和非登录 Shell
- 交互式登录 shell
- 交互式非登录 shell
- 四、配置文件加载顺序
- 五、`~/.bash_profile` 和 `~/.bashrc` 的区别
- 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。
一、配置文件类型
这些配置文件主要分为两大类:
- 系统配置文件:
/etc/profile - 用户配置文件:
~/.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 会按照以下顺序读取配置文件:
/etc/profile:系统配置文件,对所有用户生效。~/.bash_profile、~/.profile、~/.bash_login:用户配置文件,只对当前用户生效。如果~/.bash_profile存在,则不会读取~/.profile和~/.bash_login。~/.bashrc_history:保存用户在终端输入的命令历史记录。~/.bashrc_logout:当登录 shell 退出时执行的清理文件。
交互式非登录 shell
当启动交互式非登录 shell 时,Bash 只会读取以下配置文件:
~/.bashrc:用户配置文件,只对当前用户生效。~/.bash_history:保存用户在终端输入的命令历史记录。~/.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 最新用法
相关文章:
[241004] Linux 系统中配置文件的区别 | VirtualBox 7.1.2 发布,修复多项问题并提升性能
目录 Linux 系统中 /etc/profile, ~/.bash_profile, ~/.profile, ~/.bashrc 等配置文件的区别一、配置文件类型二、配置文件作用三、交互式登录 Shell 和非登录 Shell交互式登录 shell交互式非登录 shell 四、配置文件加载顺序五、~/.bash_profile 和 ~/.bashrc 的区别 Virtual…...
hbuilderx+uniapp+Android宠物用品商城领养服务系统的设计与实现 微信小程序沙箱支付
目录 项目介绍支持以下技术栈:具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是:数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 顾客 领养…...
SVN 迁移到 GIT,并保留提交记录
1)svn账号与git账号映射 创建 user.txt ,格式如下,user.txt 放置在git base here 所选目录下即可 schacon Scott Chacon <schacongeemail.com> selse Someo Nelse <selsegeemail.com> 为了获得 SVN 使用的作者名字列表…...
【数据结构与算法】LeetCode:堆和快排
文章目录 LeetCode:堆和快排排序数组数组中的第K个最大元素 (Hot 100)前 K 个高频元素(Hot 100)数据流的中位数(Hot 100) LeetCode:堆和快排 排序数组 排序数组 双向切分实现快排…...
文档大师:打造一站式 Word 报告解决方案
前言 在政府、医院、银行、财务以及销售等领域,常常需要创建各种报告文件来展开工作汇报,譬如季度销售报告、年度总结报告、体检报告和保险合同等。在没有报表工具支持之前,这类报告主要通过 Word 制作,费时费力且难以维护&#…...
Python 数字专题:全方位解析整数
目录 1. 引言 2. 整数的基本概念 2.1 定义 2.2 整数的表示 2.3 创建整数 3. 整数的基本操作 3.1 算术运算 3.2 比较运算 3.3 位运算 4. 内置函数与方法 4.1 int() 函数 4.2 abs() 函数 4.3 pow() 函数 5. 整数的性能优化 5.1 大整数的处理 5.2 使用 numpy 6. 应…...
IP协议报文
一.IP协议报头结构 二.IP协议报头拆解 1.4位版本 实际上只有两个取值,分别是4和6,4代表的是IPv4,6代表的是IPv6。 2.4位首部长度 IP协议报头的长度也是边长的,单位是*4,这里表示的大小为0~15,当数值为1…...
【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南
掌握分布式缓存:Redis与Memcached的深入解析与实战指南 摘要: 本文深入探讨了分布式缓存在现代分布式系统中的重要性,详细分析了Redis和Memcached两种主流的分布式缓存解决方案的原理和使用场景。文章不仅提供了核心技术的深入解析ÿ…...
计算机毕业设计 基于Python的智能文献管理系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
如何查看NVIDIA Container Toolkit是否配置成功
要确认 NVIDIA Container Toolkit 是否已成功配置,可以按照以下步骤进行检查: 1.检查 NVIDIA 驱动程序 首先,确保你的系统已经正确安装了 NVIDIA 驱动程序,并且可以识别你的 GPU。你可以使用 nvidia-smi 命令来进行检查…...
python全栈学习记录(二十一)类的继承、派生、组合
类的继承、派生、组合 文章目录 类的继承、派生、组合一、类的继承二、派生三、组合 一、类的继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类。 继承的特性是:子类会遗传父类的属性(继承是类与类之间的关系&a…...
Go语言实现长连接并发框架 - 任务执行流
文章目录 前言接口结构体接口实现项目地址最后 前言 你好,我是醉墨居士,上篇博客中我们实现了客户端的请求的实现,接下来我们要去实现对请求任务的处理,我们需要定义任务执行的流程 接口 trait/task.go type TaskFunc interfa…...
Flutter与原生代码通信
文章目录 1. 知识回顾2. 示例代码3. 经验总结我们在上一章回中介绍了通道相关的内容,本章回中将介绍其中的一种通道:MethodChannnel.闲话休提,让我们一起Talk Flutter吧。 1. 知识回顾 我们在上一章回中介绍了通道的概念和作用,并且提到了通道有不同的类型,本章回将其中一…...
每日读则推(三)
n.(事件的)发生地点,(活动的)场所 n.雄性大园丁鸟 n.多细枝的,苗条的 v.放大,扩大(声音);增强,加强 Male great bowerbirds build twiggy concert venues that amplify their raucous songs and n.园丁鸟 …...
Android Studio | 无法识别Icons.Default.Spa中的Spa
编写底部导航栏,涉及到Spa部分出现报红: 解决办法:在build.gradle.kts中引入图标依赖 dependencies {implementation "androidx.compose.material:material-icons-extended:<version>" }...
SKD4(note上)
微软提供了图形的界面API,叫GDI 如果你想画某个窗口,你必须拿到此窗口的HDC #include <windows.h> #include<tchar.h> #include <stdio.h> #include <strsafe.h> #include <string>/*鼠标消息 * 键盘消息 * Onkeydown * …...
rabbitmq----数据管理模块
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 交换机数据管理管理的字段持久化管理类内存管理类申明交换机删除交换机获取指定交换机 队列数据管理管理的字段持久化管理类内存管理类申明/删除/获取指定队列获取所…...
【人工智能深度学习应用】妙笔API最佳实践
AI妙笔是一款以文本创作为主、多模态为辅的生成式创作大模型产品,专门为传媒、政务等特定的行业和组织提供行业化的内容创作辅助。它具备深度的行业知识,能够生成高质量的专业内容,能覆盖各行业常见的文体类型,写作文体丰富多样&a…...
SOMEIP_ETS_150: SD_Send_triggerEventUINT8Multicast_Eventgroup_6
测试目的: 验证DUT在Tester订阅事件组后,能够响应Tester触发的triggerEventUINT8Multicast方法,并将TestEventUINT8Multicast事件发送到订阅请求中端点选项指定的IP地址和端口。 描述 本测试用例旨在确保DUT能够正确处理事件组的订阅请求&…...
【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和常规型数字格式的区别
前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
高保真组件库:开关
一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...
基于 HTTP 的单向流式通信协议SSE详解
SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...
Centos 7 服务器部署多网站
一、准备工作 安装 Apache bash sudo yum install httpd -y sudo systemctl start httpd sudo systemctl enable httpd创建网站目录 假设部署 2 个网站,目录结构如下: bash sudo mkdir -p /var/www/site1/html sudo mkdir -p /var/www/site2/html添加测试…...
如何使用CodeRider插件在IDEA中生成代码
一、环境搭建与插件安装 1.1 环境准备 名称要求说明操作系统Windows 11JetBrains IDEIntelliJ IDEA 2025.1.1.1 (Community Edition)硬件配置推荐16GB内存50GB磁盘空间 1.2 插件安装流程 步骤1:市场安装 打开IDEA,进入File → Settings → Plugins搜…...
