当前位置: 首页 > news >正文

bashrc和profile区别

  1. 作用与目的:
    • .bashrc:这个文件主要用于配置和自定义用户的终端环境和行为。每次启动新的终端时,.bashrc文件都会被执行,加载用户设置的环境变量、别名、函数等。这使得用户能够根据自己的喜好和需求来定制终端的行为和外观。
    • profile(通常指的是~/.profile/etc/profile):这个文件主要用于在用户登录时设置环境变量和运行命令。对于/etc/profile,它是为系统的每个用户设置环境信息的,并在用户第一次登录时被执行。而~/.profile则允许用户为每个登录会话定制特定的环境设置。
  2. 执行时机:
    • .bashrc:在用户登录时以及每次打开新的shell时都会被读取和执行。这意味着.bashrc中的设置会影响到用户在当前终端会话中的所有操作。
    • profile:主要在用户登录时执行一次。因此,它通常用于设置一些需要在整个登录会话期间保持不变的环境变量和命令。
  3. 内容与应用范围:
    • .bashrc:通常包含与终端环境和行为相关的设置,如别名、函数、提示符样式、颜色等。这些设置主要影响用户在终端中的交互体验。
    • profile:通常用于设置全局的环境变量和命令,这些变量和命令对于用户的整个登录会话都是可见的。此外,/etc/profile还可能从/etc/profile.d/目录中搜集其他的shell设置。
  4. 使用情境:
    • 如果你希望自定义终端的外观和行为,比如修改提示符样式、添加别名等,你应该在.bashrc中进行配置。
    • 如果你需要设置一些全局的环境变量或命令,这些变量和命令需要在整个登录会话期间都可用,你应该在profile文件中进行配置。

  5.bashrc 使用示例

    • 设置环境变量:
      # 在.bashrc文件的末尾添加以下行,设置PATH环境变量以包含用户本地bin目录  
      export PATH="$PATH:$HOME/.local/bin"
    • 定义别名:

      # 使用alias定义别名,将ll作为ls -lha的简写  
      alias ll='ls -lha'
    • 加载其他脚本:
      # 加载自定义的bash脚本文件  
      if [ -f ~/.bash_custom ]; then  . ~/.bash_custom  
      fi
    • 注意事项:

      • .bashrc文件在用户每次启动新的非登录shell时都会执行。
      • 修改.bashrc后,可以通过执行source ~/.bashrc命令使更改立即生效,或者关闭并重新打开终端。

  6. profile 使用示例

    • 设置全局环境变量:
      # 在/etc/profile文件的末尾添加以下行,设置JAVA_HOME环境变量  
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  
      export PATH="$PATH:$JAVA_HOME/bin"
    • 加载用户级启动脚本:

      # 在~/.profile文件的末尾添加以下行,加载用户自定义的启动脚本  
      if [ -f ~/.profile_custom ]; then  . ~/.profile_custom  
      fi
    • 定义登录时执行的命令:

      # 当用户登录时,显示一条欢迎消息  
      echo "Welcome, $USER. Enjoy your session!"
    • 注意事项:

      • profile文件在用户登录时执行一次,并影响整个登录会话。
      • 修改/etc/profile需要系统管理员权限,而修改~/.profile则只需要用户权限。
      • 修改profile文件后,用户可能需要注销并重新登录才能使更改生效。

相关文章:

bashrc和profile区别

作用与目的: .bashrc:这个文件主要用于配置和自定义用户的终端环境和行为。每次启动新的终端时,.bashrc文件都会被执行,加载用户设置的环境变量、别名、函数等。这使得用户能够根据自己的喜好和需求来定制终端的行为和外观。profi…...

BC153 [NOIP2010]数字统计

数字统计 一.题目描述二.输入描述:三.输出描述:四.数字范围五.题目思路六.代码实现 一.题目描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次…...

浅谈LavelDB

简介 LevelDB 是一个开源的轻量级键值存储库,由 Google 开发,用于提供快速的键值存储和支持读写大量数据。LevelDB 具有高性能、快速的读取和写入速度以及支持原子操作的特点,适合用于需要高效存储和检索键值数据的场景。 LevelDB 主要特点…...

Google Earth Engine(GEE)——NDVI的时间序列分析和在线出图

函数: ui.Chart.array.values(array, axis, xLabels) Generates a Chart from an array. Plots separate series for each 1-D vector along the given axis. - X-axis = Array index along axis, optionally labeled by xLabels. - Y-axis = Value. - Series = Vector, d…...

谈吐的艺术(三)

不是要逼人屈服,而只是想请人遵守规定。 0可能遇到的问题 在快餐店买到的汉堡和薯条都是凉的,跟店员理论的时候对方却说味道没有不对。怎么说才能维护自己的权利呢? 更好的说法:“我想问一下,按照你们的规定,食品退换…...

pop链详细分析、构造(以[NISACTF 2022]babyserialize为例)

目录 [NISACTF 2022]babyserialize (一)理清pop链(链尾 链头),标注步骤 1. 先找eval、flag这些危险函数和关键字样(这是链尾) 2.往eval()上面看 3.往$bb()上面看 4.往strtolower()上面看 …...

使用超声波麦克风阵列预测数控机床刀具磨损

预测性维护是使用传感器数据来推断机器状态,并从这些传感器数据中检测出在故障发生之前存在的缺陷或故障的过程。预测性维护在所有工业领域都是一种日益增长的趋势,包括轴承故障检测、齿轮磨损检测或往复式机器中的活塞磨损等许多其他例子。在预测性维护…...

怎么控制多个存储设备的访问权限?数据安全存储方案来了

数据安全存储是指将数据以安全的方式存储在存储系统中,以确保数据的机密性、完整性和可用性。要控制数据安全存储的权限以保障安全,可以采取以下措施: 访问控制列表(ACLs):使用ACLs来定义对存储数据的访问权…...

麒麟系统mate_indicators进程占用内存资源高

一、问题现象 故障现象:环境出现内存溢出 操作系统:KYlin10-SP2 二、问题定位 发现mate-indicators进程占用内存资源达到节点总内存40%,导致服务出现内存熔断 临时解决 systemctl restart lightdm.service systemctl set-default multi-u…...

Docker高级篇之轻量化可视化工具Portainer

文章目录 1. 简介2. Portainer安装 1. 简介 Portianer是一款轻量级的应用,它提供了图形化界面,用于方便管理Docker环境,包括单机环境和集成环境。 2. Portainer安装 官网:https://www.portainer.io 这里我们使用docker命令安装&…...

Vue32-挂载流程

一、init阶段 生命周期本质是函数。 1-1、beforeCreate函数 注意: 此时vue没有_data,即:data中的数据没有收到。 1-2、create函数 二、生成虚拟DOM阶段 注意: 因为没有template选项,所以,整个div root都…...

算法金 | 一个强大的算法模型:t-SNE !!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于降维和数据可视化的非线性算法。它被广泛应用于…...

用IAST工具强化“越权检测”能力,提升系统安全性

什么是越权漏洞 越权漏洞是一种常见的逻辑安全漏洞。越权漏洞指的是攻击者利用系统中的漏洞,获得超过其正常权限的访问权限,执行未授权操作。 越权漏洞主要分为两种类型:水平越权(横向越权)和垂直越权(纵…...

VirtualStudio配置QT开发环境

环境 VirtualStudio2022Qt5.12.10 安装msvc工具链(这一步不是必须的) 打开virtual studio,打开Virtual Studio Installer界面选择要安装的msvc版本,点击安装 安装VirtualStudio扩展 在线安装 打开virtual Studio,…...

Nature发文介绍使用ChatGPT帮助学术写作的三种方式

文章链接:https://www.nature.com/articles/d41586-024-01042-3 一、介绍 这篇文章是由Dritjon Gruda撰写的,讨论了生成性人工智能(AI)在学术写作、编辑和同行评审中的三种应用方式。Gruda认为,尽管学术界对聊天机器…...

【网络安全的神秘世界】Kali 自带 Burp Suite 使用指南:字体与CA证书设置详解等

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 Kali 自带 Burp Suite 使用指南目录 Burp Suite的打开方式设置Burp Suite软件的字体大小查看Burp Suite 默认代理在火狐浏览器…...

【Go】爬虫数据解密_使用Go语言实现TripleDES加密和解密

是你多么温馨的目光 教我坚毅望着前路 叮嘱我跌倒不应放弃 没法解释怎可报尽亲恩 爱意宽大是无限 请准我说声真的爱你 🎵 Beyond《真的爱你》 引言 Triple Data Encryption Standard (TripleDES 或 3DES) 是一种对称加密算法,它通…...

【HarmonyOS NEXT】鸿蒙 如何在包含web组件的页面 让默认焦点有效

页面包含web组件Button组件等,把页面的默认焦点放到Button组件上,不起效果。 因为web组件默认会在组件加载完成后获取焦点; 可以在web的网页加载完成时onPageEnd回调中,将设置默认获焦的组件通过focusControl.requestFocus方法主…...

mysql常用参数配置详解my.cnf my.ini

1.关注生产中高频常用参数 # 数据库时区 log_timestamps = system # 刷盘策略 0,1,2 innodb_flush_log_at_trx_commit # 定义了 InnoDB 用于写日志数据的缓冲区大小。当事务发生时,日志首先被写入这个缓冲区,然后再被刷新(flush)到磁盘上的重做日志文件(redo log file…...

GlusterFS企业分布式存储

GlusterFS 分布式文件系统代表-nfs常见分布式存储Gluster存储基础梳理GlusterFS 适合大文件还是小文件存储? 应用场景术语Trusted Storage PoolBrickVolumes Glusterfs整体工作流程-数据访问流程GlusterFS客户端访问流程 GlusterFS常用命令部署 GlusterFS 群集准备环…...

JavaSec-RCE

简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性&#xff0c…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...