目录

.bash_history

.bash_logout

.bash_profile

.bashrc


每个用户的根目录下都有四个这样的 bash文件,他们是隐藏文件,需要使用-a参数才会显示出来

.bash_history

该文件保存了当前用户输入过的历史命令

history命令:读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由 /etc/profile 中的 HISTSIZE 变量进行控制的默认是不显示命令的执行时间,命令的执行时间history 已经记录,只是没有显示。

如想查询某个用户在系统上执行了什么命令,可以使用 root 用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history文件,该文件记录了用户所使用的命令和历史信息。

history命令显示的是 /~/.bash_history文件中的命令和当前shell下输入的缓存中的命令。

也就是说,/~/.bash_history文件记录的命令是上一次登录及其之前的命令。我们这次登录执行的命令并不会立即写入/~/.bash_history文件中,而是存在缓存中。只有我们注销后,该缓存中的命令才会写入 /~/.bash_history 文件中。

  • history 10 。显现最近10条命令
  • history -a:将当前终端缓存中的命令写入 /~/.bash_history 中(追加)
  • history -w:将当前终端缓存中的命令写入 /~/.bash_history 中(覆盖)
  • history -c:清除当前终端缓存中的所有命令
  • history -r : 将/~/.bash_history 文件中的命令读入到缓存中

当在终端执行以下命令时,该终端就不会记录历史命令

export HISTFILE=/dev/null export HISTSIZE=0

.bash_logout

该文件的用途是用户注销时执行的命令,默认是没有内容的

如果我们往该文件中写入 history -c ,则在每次注销时,会清除缓存中的命令。

.bash_profile

此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从 /etc/profile.d 目录的配置文件中搜集shell的设置。

我们也可以往该文件中增加新内容,环境变量啥的

.bashrc

此文件为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。我们也可以往该文件中增加新内容,可以定义别名和函数

每次修改 .bashrc 后,使用 source  ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。

一般会在 .bash_profile 文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。

关于环境变量的读取顺序:

用户登录 ->> 加载~/.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效

参考文章:Linux| 用户目录下三个bash文件的作用(.bash_history,.bash_logout,.bash_profile,.bashrc)

/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc ~/.bash_logout 说明及区别

Linux中的.bash_ 文件详解的更多相关文章

  1. (转)linux 中特殊符号用法详解

    linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/b ...

  2. Linux中mpstat命令参数详解

    Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...

  3. C#中web.config文件详解

    C#中web.config文件详解 一.认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NE ...

  4. linux 查找目录或文件详解

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print 如果需要更进一步的了解,可以参看Linux的命令 ...

  5. linux中pipe和dup2详解

    1.什么是管道 管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道: 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程): 单独构成一种独立的文件系统:管道对于管道两端的进 ...

  6. linux中mv命令使用详解

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  7. 每天一个linux命令: /etc/group文件详解

    Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件.linux /etc/group文件是有关于系统管理员对用户 ...

  8. ectouch第十讲 之ecshop中 dwt, lbi 文件详解

    原文:http://www.yunmoban.cn/article-241.html Ecshop包括的文件夹有admin.api.cert.data.images.includes.js. lang ...

  9. Linux中fuser命令用法详解

    描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...

随机推荐

  1. flex布局个人总结

    <html> <div class="box1"> <span>1</span> <span>2</span> ...

  2. C# 应用 - 多线程 7) 处理同步数据之 Synchronized code regions (同步代码区域): Monitor 和 lock

    目录: System.Threading.Monitor:提供同步访问对象的机制; lock 是语法糖,是对 Monitor Enter 和 Exit 方法的一个封装 lock 案例 1. Monit ...

  3. POJ_2752 Seek the Name, Seek the Fame 【KMP】

    一.题目 POJ2752 二.分析 比较明显的KMP运用. 但是这题不是只找一个,仔细看题后可以发现相当于是在找到最大的满足条件的后缀后,再在这个后缀里面找满足条件的后缀. 可以不断的运用KMP得出答 ...

  4. 学习jQuery(1)

    学习jQuery 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法 jQuery 语法是为 HTML ...

  5. @PostConstruct 使用记录

    @PostConstruct 从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct.这 ...

  6. 2021软工-调研作业-Notion

    2021软工-调研作业-Notion 项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 学习软件开发的工业化 ...

  7. kali 2019-4中文乱码解决方法

    1.更换阿里源 编辑源,apt-get update && apt-get upgrade && apt-get clean ,更新好源和更新软件 #阿里云deb ht ...

  8. SpringBoot项目打包部署

    部署方式 SpringBoot项目可以通过jar包或者war包部署在服务器上,因为jar包更适合前后端分离的项目,所以这里我们使用jar包的方式. 添加maven支持 <!-- 这个插件,可以将 ...

  9. Spring(五)Spring与Web环境集成

    MVC 是 Model.View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责. 模型:用于存储数据以及处理用户请求的业务逻辑. 视图:向控制器提交数据,显示模型中的数 ...

  10. dubbo的spi思想是什么?

    spi,简单来说,就是service provider interface,说白了是什么意思呢,比如你有个接口,现在这个接口有3个实现类,那么在系统运行的时候对这个接口到底选择哪个实现类呢?这就需要s ...