Debian .bashrc以及.profile的区别 以及修改history记录的历史命令

Debian .bashrc以及.profile的区别 以及修改history记录的历史命令

/etc/profile 系统环境变量 对每个用户都会生效 用户第一次登录时 该文件被执行并且从/etc/profile.d 目录的配置文件中收集shell设置
所以修改了之后需要重启或者执行 source /etc/profile 才会生效
(ps:下面的文章有说一个注意点 在/etc/profile设置系统环境变量 路径末尾不能用/结尾不然导致PATH变量出错)

/etc/bashrc或/etc/bash.bashrc (在我本地是bash.bashrc) 任何用户打开bash shell时执行此文件 所以修改此文件后立刻生效

~/.bash_profile或~/.profile (在我本地是bash.bashrc) 用户登录时该文件仅被执行一次 默认情况下该文件设置一些环境变量 执行用户的 .bashrc 文件 其实和 /etc/profile 差不多 只对该用户生效

~/.bashrc 和/etc/bashrc 差不多 只对该用户生效

~/.bash_logout 明显用户退出时执行 比如可以执行 清除.bash_history记录的历史命令记录或者删除这个文件等等

~/.bash_history 明显记录的是该用户执行的历史命令

可以在 /etc/profile 中设置一些关于history命令的一些参数

export HISTTIMEFORMAT=”xxxxxx” # 记录命令格式这里没怎么研究
export HISTSIZE=20 # history命令记录命令数量
export HISTFILESIZE=10000 # 记录文件的行数
export HISTIGNORE=”ls*:ll” # 忽略的命令
export PROMPT_COMMAND=”history 1 >> /…/history.log” # 明显将history命令结果输出到日志文件中

参考了一些文章
https://www.cnblogs.com/triple-y/p/11107133.html
https://www.cnblogs.com/dylancao/p/10109298.html
https://www.cnblogs.com/dijia478/p/11782974.html
————————————————

Linux 之 .bashrc 文件作用

Linux 系统中很多 shell,包括bash,sh,zsh,dash 和 korn 等,不管哪种 shell 都会有一个 .bashrc 的隐藏文件,它就相当于 shell 的配置文件。

一般会有多个 .bashrc 文件,使用 find 命令可以查看:

$ sudo find / -name .bashrc

/home/hj/.bashrc			# hj  为用户名
/root/.bashrc
/snap/core18/941/etc/skel/.bashrc
/snap/core18/941/root/.bashrc
/snap/core18/970/etc/skel/.bashrc
/snap/core18/970/root/.bashrc
/snap/core/6818/etc/skel/.bashrc
/snap/core/6818/root/.bashrc
/snap/core/6964/etc/skel/.bashrc
/snap/core/6964/root/.bashrc
/snap/core/6673/etc/skel/.bashrc
/snap/core/6673/root/.bashrc
/etc/skel/.bashrc

不同目录下的 .bashrc 文件其作用不尽相同,比如:

  • /etc/skel/.bashrc :文件将复制到系统上创建的任何新用户的主文件夹中
  • /home/hj/.bashrc:是 bash 的配置文件,保存个人的一些个性化设置,如命令别名、路径等

在这里我们主要来探讨下用户主目录下的 .bashrc 文件,即:/home/hj/.bashrc

使用 man bash 命令查看到的联机帮助文件中的相关解释如下:

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。下面是个例子:

.bashrc - The individual per-interactive-shell startup file.

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。下面是个例子:

# User specific aliases and functions

PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
.GBK
export PATH LANG
alias rm='rm -i'
alias ls='/bin/ls -F --color=tty --show-control-chars'
....

利用 .bashrc 进行个性化设置

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

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

利用这一特性,可以实现一些个性化设置,如:Linux 系统开机执行自动某个脚本文件等,这在自动化运维方面有一定的用处。

1、修改 /home/hj/.bashrc 文件:

sudo vim /home/hj/.bashrc

# 在最后添加两句后保存
echo '这句话开机就会启动'			# 打印输出
python3 /home/hj/test.py			# 执行 test.py  这个脚本

2、当 Linux 开机后:

可以看到 Linux 开机后加载了 .bashrc 文件。