详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
之前安装 Linux的一些软件时,总要修改Linux的配置文件。当时也是一知半解。而且,网上有些安装教程,会说,修改配置文件后要重启Linux。但事实上是不需要重启的。
Linux安装时可能要修改的配置文件:/etc/profile、/etc/bashrc(ubuntu没有这个文件,对应地,其有/etc/bash.bashrc文件。我用的是ubuntu系统,所以下面将一律使用/etc/bash.bashrc来叙述)、~/.bash_profile、~/.bash_login、~/.profile、~/.bashrc。
我的ubuntu系统(版本为10.04)默认情况下,只有/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc这四个文件。其他文件可以创建。
现在来简单说一下这些配置文件。
1.这些文件的作用
这些文件的作用有很多,比如环境变量的设定、定制符合自己风格的shell、还可以设置缩写功能,那个ll命令是 ls –alF命令的缩写。
相信大家最关心这些文件在安装软件时候的作用。为什么要配置这些文件?配置后,要不要重启Linux才能使得生效。
要弄清这些问题。首先要知道打开一个终端或者打开一个新shell时(注意,两者是不同的。比如在终端里输入bash,会进入一个新shell。此时并没有打开新终端),会读取到哪些文件。
2.这些文件的访问顺序
2.1测试
分别在这个四个文件的最后,加入一个新的环境变量TESTBASH。每一个文件都为这个环境变量加入不同的值。如下图所示:
现在打开一个新的终端。输入$export 可以看到其结果和输入$bash命令,再输入$export 一样。只有其中两项。
现在输入$su root 切换到root用户。再输入$export 其结果是在原来的基础上加上了 /home/luotuo/.bashrc:/etc/bash.bashrc。
输入$exit 退出root。然后再输入$su –l root 切换到root用户,此时输入$export 看到其结果仅仅为 /etc/bash.bashrc:/etc/profile。
(这两种方式是不同的。分别叫做nonlogin shell和login shell。另外,在终端输入bash打开一个新的shell也是non login )
已经有/etc/profile和/etc/bash.bashrc了。
此时,输入$bash 打开一个新的shell 。再输入$export .可以看到:
是在原来的基础上加入了 /etc/bash.bashrc:/home/luotuo/.bashrc
输入$exit 退出这个shell(注意,此时这个终端是没有被关闭了。因为在这个终端打开了两个shell。一个exit只能退出一个).
此时,输入$su root 切换到root用户。然后再输入$export 。可以看到输出为:
现在输入$exit 退出这个root。然后输入$su –l root 切换到root用户。此时再输入$export 其结果为:
两者有不同的路径。后者是转到了root用户的用户目录下,而前者还是在之前所在的目录。
2.2、结论
从测试过程可以看到。打开一个新的shell(包括打开一个新终端和在终端上输入bash),都会重新读取/etc/bash.bashrc 和 ~/.bashrc文件里面的内容。
3.总结
详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途相关推荐
- mysql show profile详解_SQL 性能分析利器 show profile
本文首发个人公众号<andyqian>, 期待你的关注- 前言 在之前的文章中,我们提到过一些慢SQL优化的步骤.其中就包括:使用 explain 关键字来查看执行计划,是否命中索引. 通 ...
- k8s的自定义资源代码生成详解
为什么下这篇文章呢,在代码生成这一块跌了两次跟头,说白了只知道照抄,并不知道里面到底是干什么的,要做到知其然并知其所以然,也是为以后在自动生成代码的时候做一个参考. 生成的项目目录结构如下 . ├── ...
- HAProxy详解(二):HAProxy基础配置与应用实例
一.HAProxy基础配置与应用实例: 1.快速安装HAProxy集群软件: HAProxy的官网: https://www.haproxy.org/#down下载HAProxy的源码包. 安装: [ ...
- ElasticSearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解...
墨墨导读:之前我们分享了ElasticSearch最全详细使用教程:入门.索引管理.映射详解,本文详细介绍ElasticSearch的索引别名.分词器.文档管理.路由.搜索详解. 一.索引别名 1. ...
- uml建模工具 支持php,【UML 建模】在线UML建模工具 ProcessOn 使用详解
总结: -- 推荐理由 : 最近从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款可以在线使用的 UML 工具, 用起来发现 ...
- ubuntu下环境变量详解 bashrc, profile, environment
ubuntu下环境变量详解 bashrc, profile, environment 本博客转载自:http://blog.csdn.net/hipkai/article/details/415486 ...
- 【IoT】Android/TI 蓝牙 profile 详解
1.TI BLE profile详解 BLE 协议栈的 GATT 层是设计用于应用程序在两个连接设备之间的数据通信. 从 GATT 层的角度看,当设备连接后,将充当一下两种角色中的一个: GATT C ...
- @Profile注解详解
@Profile注解详解 @Profile: Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能: 开发环境develop.测试环境test.生产环境master 数据源:(/ ...
- Spring注解——@Profile详解
目录 一.Spring中的Profile 二.为什么要使用Profile 三.配置Profile示例 四.激活Profile的方式 一.Spring中的Profile Spring中的Profile功 ...
最新文章
- 如何理解HTTP协议是无状态的
- RGB图像重建非刚性物体三维形状(CVPR)
- 第一阶段:前端开发_Mysql——多表查询
- #27 回文数字 Palindrome Detector
- 1.深度好文:带缓冲I/O 和不带缓冲I/O的区别与联系
- 高并发来袭,面向Google编程的程序员要小心了!
- %3cphp和%3c php_phpcmsv9后台登录绕过
- Proteus ISIS仿真软件中英文元件名称对照
- Windows 下安装 MySQL 及使用可视化工具执行 SQL 脚本过程记录
- 运行Arcgis和SWAT模型遇到Error Number 91和Error Number -2147467259报错怎么办?
- python图书库存管理系统_基于Odoo的物流库存管理系统的设计(Python)
- 计算机系和清华大学,清华大学交叉信息研究院和计算机系区别
- 斯坦福大学公开课机器学习课程(Andrew Ng)六朴素贝叶斯算法
- 前端面试总结之长沙五
- ERROR: pip‘s dependency resolver does not currently take into account all the packages that are inst
- 如何使用腾讯云轻量服务器以及WooCommerce 应用镜像搭建跨境电商独立站!
- ThreadPoolExecutor(五)——线程池关闭相关操作
- 二维码插件qrcode生成二维码信息
- python实现克莱姆法则
- arcgis api 4.13 —— Layer详细介绍
热门文章
- java包和访问权限_Java包和访问权限—1
- openssl1.1.0 支持php,openssl升级到1.0.21以支持nginx http2 ssl
- Python-OpenCV 处理图像(六):对象识别
- error C2872: “IDocument”: 不明确的符号
- Activiti工作流引擎使用详解(一)
- Vue.js Prop
- Log4j详细介绍(七)----日志格式化器Layout
- isInfoEnabled究竟多有用?
- 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织
- 最大熵模型(Maximum Entropy Model)文献阅读指南