详解bashrc与profile区别

bashrc与profile有什么区别?,要搞清bashrc与profile的区别首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell,下面为大家分享一下bashrc与profile具体区别。

交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

• 对于个别用户的启动配置文件

用户HOME(家)目录/.bashrc

head -1 ~/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.

用户HOME(家)目录/.profile

head -1 ~/.profile
# ~/.profile: executed by Bourne-compatible login shells.

• 对于全部用户的启动配置文件

head -1 /etc/bash.bashrc
# System-wide .bashrc file for interactive bash(1) shells.

head -2 /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

• bashrc和profile的差异

从上面的英文描述可以知道,bashrc和profile的差异在于:
1. bashrc是在系统启动后就会自动运行。
2. profile是在用户登录后才会运行。
3. 进行设置后,可运用source bashrc命令更新bashrc,也可运用source profile命令更新profile。
PS:通常我们修改bashrc,有些linux的发行版本不一定有profile这个文件,本文用的系统是Ubuntu 15.10
4. /etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

• 补充介绍

另外,需要补充说明介绍bashrc相关的几个文件: ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件。 ~/.bash_profile 是交互式、login方式进入bash运行的,~/.bashrc是

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/16898.html

(0)
晴川运维晴川运维
上一篇 2025年10月25日
下一篇 2025年10月25日

相关推荐

  • Python StreamlitUI框架

    Streamlit是第一个专门针对机器学习和数据科学团队的应用开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为它的目标是取代Flask在机器学习项目中的地位,可以帮助机…

    Linux系统 2025年9月19日
  • 通过sestatus命令查看SELinux的当前状态

    sestatus命令用于查看系统上正在运行的SELinux的当前状态。本文讲述sestatus命令输出详细说明,在sestatus中显示所选对象的安全上下文,显示所有的布尔值 1.…

    Linux系统 2025年6月4日
  • 学生党如何保护自己的网络安全

    互联网的兴起给人们的教育带来了巨大的好处。但是,这也使人们成为黑客和敏感信息盗窃的目标,这就是为什么每个学生都必须在某个时候了解在线网络安全的原因。 如今,几乎每个学生都拥有一台智…

    Linux系统 2025年6月25日
  • 快速上手Linux ptrace 的实现

    Ptrace 提供了一种父进程可以控制子进程运行,并可以检查和改变它的核心image。它主要用于实现断点调试。一个被跟踪的进程运行中,直到发生一个信号。则进程被中止,并且通知其父进…

    Linux系统 2025年6月12日
  • APFS为何如此之强

    Apple 文件系统 (APFS) 是 Mac 电脑的默认文件系统格式,具有强加密、空间共享、磁盘快照、快速目录大小统计等特性,以及改进的文件系统基础。虽然 APFS 最适合于新款…

    Linux系统 2025年10月10日
  • 通过mergefs增加虚拟存储

    如果您有多个磁盘或分区要用于一个媒体项目,而又不想丢失任何现有数据,但又想将所有文件都放置或安装在一个驱动器下,该怎么办?这时mergefs可以助您一臂之力!mergefs是一个联…

    Linux系统 2025年6月8日
  • 详解Linux中重定向和管道

    对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制。在shell中,我们通常使用符合‘|’来表示管道,符号‘>’和‘ 重定向 系统设定的…

    Linux系统 2025年7月2日
  • 详解OpenStack 的 metadata

    在云计算中,Metadata 并不是一个陌生的概念。从字面上看,Metadata 是元数据的意思。而在云计算中,Metadata 服务能够向虚机注入一些额外的信息,这样虚机在创建之…

    Linux系统 2025年10月9日
  • Linux下常用的终端应用程序

    许多 Linux 用户认为在终端中工作太复杂、无聊,并试图逃避它。但这里有个改善方法 —— 四款终端下很棒的开源程序。它们既有趣又易于使用,甚至可以在你需要在命令行中工作时照亮你的…

    Linux系统 2025年6月16日
  • 查看MongoDB版本信息具体方法

    本篇文章重点为大家讲解一下查看MongoDB版本信息具体方法,有需要的小伙伴可以参考一下。 1:连接到MongoDB,使用命令查看。 > db.version();…

    Linux系统 2025年10月7日

发表回复

登录后才能评论