.bashrc
是 Bash shell 的运行时配置文件,位于用户主目录下(~/.bashrc
)。每次启动新的交互式 Bash shell 时,系统都会自动执行这个文件中的命令。
~/.bashrc
(每个用户有自己的配置文件)/etc/bash.bashrc
(影响所有用户的全局配置)alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias update='sudo apt update && sudo apt upgrade'
PS1='\[\e[1;32m\]\u@\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ '
export PATH=$PATH:$HOME/bin
export EDITOR=vim
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
# 忽略重复命令和空格开头的命令
HISTCONTROL=ignoreboth
# 增加历史记录大小
HISTSIZE=5000
HISTFILESIZE=10000
编辑文件:
nano ~/.bashrc
# 或
vim ~/.bashrc
使更改生效:
bash
source ~/.bashrc
或简写为:
bash
. ~/.bashrc
调试:
bash -x ~/.bashrc
备份原始文件:
cp ~/.bashrc ~/.bashrc.bak
模块化管理:
.bashrc
中引用:
bash
# 加载别名
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
条件判断:
# 只在交互式shell中加载
case $- in
*i*) ;;
*) return;;
esac
添加注释:为每个自定义部分添加说明
配置不生效:
启动速度慢:
.bashrc
中执行耗时操作.bash_profile
或.profile
与.bash_profile
的区别:
.bash_profile
在登录时执行一次.bashrc
在每次打开新终端时执行条件执行命令:
# 只在特定主机上执行
if [[ "$HOSTNAME" == "myserver" ]]; then
alias deploy='~/scripts/deploy.sh'
fi
函数定义:
# 创建一个简单的git提交函数
function gacp() {
git add .
git commit -m "$1"
git push
}
颜色支持检测:
# 只在支持颜色的终端中设置颜色
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
通过合理配置.bashrc
文件,可以显著提高在Linux命令行环境下的工作效率和使用体验。