Linux bashrc和profile的用途和区别

使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理。

Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell。

bashrc和profile都是Shell的启动设置文件(其实这两个文件也是Shell脚本),可以为当前的Shell初始化环境变量等,它们类似Microsoft DOS/Windows下的autoexec.bat文件。

下面详细介绍bashrc和profile的用途和区别:

针对个别用户


  1. .bashrc  
  2. # ~/.bashrc: executed by bash(1) for non-login shells.  
  3. .profile  
  4. # ~/.profile: executed by Bourne-compatible login shells. 

针对全体用户


  1. /etc/bash.bashrc  
  2. # System-wide .bashrc file for interactive bash(1) shells.  
  3. /etc/profile  
  4. # /etc/profile: system-wide .profile file for the Bourne shell (sh(1) 

bashrc和profile的差异

从上面的英文描述可以知道,bashrc和profile的差异在于:

1. bashrc是在系统启动后就会自动运行。

2. profile是在用户登录后才会运行。

3. 进行设置后,可运用source bashrc命令更新bashrc,也可运用source profile命令更新profile。

PS:通常我们修改bashrc,有些linux的发行版本不一定有profile这个文件

4. /etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系。

补充介绍

另外,需要补充说明介绍bashrc相关的几个文件:

~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件。

~/.bash_profile 是交互式、login方式进入bash运行的,~/.bashrc是交互式non-login方式进入bash运行的,通常二者设置大致相同,所以通常前者会调用后者。

本文作者:佚名

来源:51CTO

时间: 2024-09-20 19:41:13

Linux bashrc和profile的用途和区别的相关文章

解析Linux系统中bashrc和profile文件的作用区别

使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理. Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell. bashrc和profile都是Shell的启动设置文件(其实这两个文件也是Shell脚本),可以为当前的Shell初始化环境变量等,它们类似Microsoft DOS/Windows下的autoexec.bat文件

linux gtk函数 GtkLayout GtkFixed有什么区别呢?

问题描述 linux gtk函数 GtkLayout GtkFixed有什么区别呢? linux gtk函数 GtkLayout GtkFixed有什么区别呢?

服务器-Linux ~/.bashrc 文件问题

问题描述 Linux ~/.bashrc 文件问题 vim ~/.bashrc 修改环境变量后可能出了错 后来什么命令都打不了了 求救助 Command 'ls' is available in '/bin/ls' The command could not be located because '/bin' is not included in the PATH environment variable. ls: command not found 我这个是远程服务器只能命令行 但是可以上传下

Linux中yum和apt-get用法及区别

Linux中yum和apt-get用法及区别 一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包格式 rpm包,安装rpm包的命令是"rpm -参数" 2 包管理工具 yum 3 支持tar包 Debian系列 1 常见的安装包格式 deb包,安装deb包的命令是"dpkg -参数" 2 包管理工具 apt-get 3

docker和传统Linux下多用户多任务,有什么区别?

问题描述 A:docker和传统Linux下多用户多任务,有什么区别?该问题来自CSDNDocker技术交流群(303806405),由版主xinshubiao整理.更多0 解决方案 解决方案二:B:docker,取虚拟化所长,去虚拟化所短.C:主要是在互相隔离的情况下尽最大可能地节省系统资源吧(或者说共享公共资源).A:多用户多任务不是也好像是尽可能节省系统资源吗?C:可迁移性A:就这点区别么?该解答来自CSDNDocker技术交流群(303806405),由版主xinshubiao整理,由于

Linux C中库函数与系统调用的区别详细解析_unix linux

从程序完成的功能来看,函数库提供的函数通常是不需要操作系统的服务,函数是在用户空间内执行的,除非函数涉及到I/O操作等,一般是不会切到核心态的.系统调用是要求操作系统为用户提供进程,提供某种服务,通常是涉及系统的硬件资源和一些敏感的软件资源等. 函数库的函数,尤其与输入输出相关的函数,大多必须通过Linux的系统调用来完成.因此我们可以将函数库的函数当成应用程序设计人员与系统调用程序之间的一个中间层,通过这个中间层,我们可以用一致的接口来安全的调用系统调用.这样程序员可以只要写一次代码就能够在不

linux中chmod与chown命令用法区别

一,chown与chmod命令的用法  指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file- 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者.群组.其他.利用 chmod 可以藉 以控制档案如何被他人所存取. mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]-][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一

Linux中select poll和epoll的区别

select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024.当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小.这个时候就可以标识32*max值范围的fd. 对于单进程多线程,每个线程处理多个fd的情况,select是不适合的. 1.所有的线程均是从1-32*max进行扫描,每个线程处理的均是一段fd值,这样做有点浪费 2.1024上限问题,一个处理多个用户的进程,fd值远远大于1024 所以这个时候应该采用poll, poll传递的是数组头

linux下.a/.so/.la目标库区别

在linux平台上编译时,常会遇到目标库的疑问,有静态库也有动态库,单个理解都不太难,但是对复杂的工程而言,一旦混合到一起去,对整个工程的理解和调用,将会造成很大困扰,本文就汇总这几种常见编译结果文件的区别. 一.格式说明 linux下编译,常会遇到后缀为:.o .so .a .la .ko等格式文件,尽管linux并不以扩展名作为识别文件格式的唯一依据,但规范约定还是有的,如下: .o 是目标对象文件,相当于windows中的.obj文件 .a 为静态库,可以是一个或多个.o合在一起,用于静态