Linux 中 .bash_history、.bash_logout 等用户配置文件

news/2024/10/27 13:32:22/

image-20241022143859028


目录


前言

在 Linux 中我们经常会看见用户家目录下存在 .bash_history、.bash_logout、.bash_profile、.bashrc、.cshrc、.tcshrc、.viminfo 这写文件,那它们区别是什么呢?又有什么作用呢? 实际上,这些文件是 Linux 系统中的用户配置文件,负责存储用户的历史记录、shell 环境和行为定制等设置,不同的文件有不同的作用和用法。

bash_history_13">.bash_history

  • 作用:存储用户在 Bash shell 中输入的历史命令。

  • 位置:位于用户的主目录(~/.bash_history)。

  • 用法:当你在 Bash 中输入命令后,系统会将其记录到 .bash_history 文件中。下次打开 shell 时,可以通过上下箭头或 history 命令查看命令历史。

  • 案例:

    # 限制历史记录条数
    export HISTSIZE=1000      # 内存中保留的条数
    export HISTFILESIZE=2000  # 文件中保存的条数
    

bash_logout_29">.bash_logout

  • 作用:在用户退出登录 shell 时执行,用于执行一些清理操作。

  • 位置:位于用户的主目录(~/.bash_logout)。

  • 用法:当用户退出 Bash 登录 shell 时(例如在远程登录后输入 exit),.bash_logout 文件中的命令将被执行。可以在此处放置一些清理操作,如删除临时文件或清空缓存。

  • 案例:

    # 清空屏幕
    clear
    

bash_profile_44">.bash_profile

  • 作用:用于配置用户的登录 shell 环境。当用户通过登录终端启动一个新的 shell 时(登录 shell),.bash_profile 会被加载。

  • 位置:位于用户的主目录(~/.bash_profile)。

  • 用法:通常用于设置环境变量、启动其他配置文件(如 .bashrc),或自定义 shell 的行为。

  • 案例:

    bash"># 设置环境变量
    export PATH=$PATH:/usr/local/bin# 调用 .bashrc
    if [ -f ~/.bashrc ]; thensource ~/.bashrc
    fi
    

bashrc_64">.bashrc

  • 作用:定义交互式 shell(非登录 shell)的配置,用于设置别名、函数、提示符等。

  • 位置:位于用户的主目录(~/.bashrc)。

  • 用法:每当你打开一个新的终端窗口时,.bashrc 会被加载。通常用来配置与 shell 交互相关的内容。

  • 案例:

    bash"># 别名定义
    alias ll='ls -l'# 自定义提示符
    export PS1='\u@\h:\w\$ '
    

注意:这里要明确两个概念,登录 shell非登录shell

  • 登录 shell:指用户通过登录终端(如 xshell 工具)启动一个新的 shell,系统会执行 .bash_profile。登录 shell 是指用户需要输入用户名和密码的情况,例如通过 SSH 登录或在控制台登录;
  • 非登录 shell:指用户打开一个非登录终端,比如在已经登录的系统中,通过终端程序(如 GNOME Terminal)打开一个新的 shell 窗口时,.bashrc 会被加载。

.cshrc

  • 作用:用于 C Shell(csh)的初始化配置。每次用户启动 csh 时,.cshrc 文件会被执行。

  • 位置:位于用户的主目录(~/.cshrc)。

  • 用法:设置 csh 环境中的别名、路径、环境变量等。它类似于 Bash 中的 .bashrc,但用于 csh shell。

  • 案例:

    # 设置路径
    set path = (/usr/local/bin $path)# 设置别名
    alias ll 'ls -l'
    

.tcshrc

  • 作用:用于 tcsh(改进版 C Shell)的初始化配置。和 .cshrc 类似,它在用户启动 tcsh 时执行。

  • 位置:位于用户的主目录(~/.tcshrc)。

  • 用法:配置 tcsh shell 的环境变量、别名和其他行为设置。

  • 案例:

    # 设置路径
    set path = (/usr/local/bin $path)# 设置别名
    alias ll 'ls -l'
    

.viminfo

  • 作用:存储 Vim 编辑器的历史信息,包括光标位置、最近编辑过的文件、搜索记录等。

  • 位置:位于用户的主目录(~/.viminfo)。

  • 用法:Vim 会自动读取并写入 .viminfo 文件,保存用户的编辑历史,使得下次使用 Vim 时可以恢复上一会话的部分状态(如最近编辑过的文件)。

  • 案例:

    # vimrc 文件中可以设置 .viminfo 的行为
    set viminfo='20,\"100    # 保存最近 100 条命令
    

总结

  • .bash_history:Bash 命令的历史记录。
  • .bash_logout:用户退出 Bash 登录 shell 时执行的脚本。
  • .bash_profile:登录 shell 的配置文件,通常用于设置环境变量。
  • .bashrc:非登录 shell 的配置文件,通常用于设置别名、提示符等交互行为。
  • .cshrc:C shell 的配置文件。
  • .tcshrc:tcsh shell 的配置文件。
  • .viminfo:Vim 编辑器的历史记录,保存编辑器的状态。

这些文件共同帮助用户定制和管理 Linux 系统中 shell 和编辑器的行为。

—END


http://www.ppmy.cn/news/1542352.html

相关文章

【数据结构】贪心算法:决策的艺术

贪心算法(Greedy Algorithm)是一类在每一步选择中都采取局部最优解的方法,希望最终能够达到全局最优解。通俗地说,贪心算法的思想就是“每一步都尽量做出最好的选择”,以期望整个过程的最终结果也达到最优状态。贪心算…

出处不详 凸多边形最优三角剖分

目录 出处不详 凸多边形最优三角剖分题目描述背景输入输出数据范围 题解 出处不详 凸多边形最优三角剖分 题目描述 背景 给定 n n n边凸多边形,要求确定该凸多边形的三角剖分(将多边形分割成 n − 2 n - 2 n−2个三角形),使得该…

C++ | Leetcode C++题解之第503题下一个更大元素II

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> nextGreaterElements(vector<int>& nums) {int n nums.size();vector<int> ret(n, -1);stack<int> stk;for (int i 0; i < n * 2 - 1; i) {while (!stk.empty() &am…

秋叶启动器下,如何升级ComfyUI的pytorch版本到2.5

最近测试mochi在comfyui里的表现效果&#xff0c;发现这个相关的节点总是装不上。后来到节点官方看了下作者说明&#xff0c;要求torch版本至少2.5以上。 而comfyui最近官方刚更新了torch的支持版本。如下&#xff1a; 如果是自己手工部署过的&#xff0c;那就正常部署和升级t…

GaussDB逻辑解码技术原理

1.前言 随着国内各大行业数字化改造步伐的加快&#xff0c;异构数据库数据同步的需求场景越来越多。 异构数据库同步&#xff0c;就是将不同类型、不同结构的数据库之间的数据进行同步处理&#xff0c;以确保数据在不同数据库之间的一致性。比如&#xff0c;将当前数据库的数…

PMP--必刷题–解题–111-120

文章目录 9.资源管理--3.获取资源--首选分析111、 [单选] 一位项目经理管理着一个矩阵组织中的多个信息技术(IT)项目。该项目经理安排了一次会议&#xff0c;与其中一个职能经理协调两个软件开发项目的测试支持。不幸的是&#xff0c;职能经理无法参加会议&#xff0c;并告知项…

前端处理返回的number类型超出16位的问题 ,在axios中统一处理

前端处理返回的number类型超出16位的问题 &#xff0c;在axios中统一处理 造成原因&#xff1a;js的number类型有个最大安全值&#xff0c;即2的53次方&#xff08;9007199254740992&#xff09;&#xff0c;超过这个值就会出现精度丢失的问题。 后端处理&#xff1a;将数字类…

第10讲:函数递归

目录 **1. 递归是什么&#xff1f;**2. 递归举例3. 递归与迭代 1. 什么是递归 2. 递归的限制条件 3. 递归的举例 4. 递归与迭代 正文开始 1. 递归是什么&#xff1f; 递归是学习C语言函数绕不开的⼀个话题&#xff0c;那什么是递归呢&#xff1f; 递归其实是⼀种解决问题的方…