Linux配置文件bashrc
本文详细介绍了Linux系统中配置文件bashrc的作用、使用方法和配置技巧。bashrc文件是bash shell在用户登录时自动执行的脚本,用于定义用户的环境变量和别名等个性化设置。文章首先解释了bashrc文件的重要性,并介绍了如何编辑和修改该文件。接着,通过实例展示了如何在bashrc中设置环境变量、自定义命令别名、设置命令行提示符等常见操作。此外,文章还分享了一些高级配置技巧,如使用条件
本文详细介绍了Linux系统中配置文件bashrc的作用、使用方法和配置技巧。bashrc文件是bash shell在用户登录时自动执行的脚本,用于定义用户的环境变量和别名等个性化设置。文章首先解释了bashrc文件的重要性,并介绍了如何编辑和修改该文件。接着,通过实例展示了如何在bashrc中设置环境变量、自定义命令别名、设置命令行提示符等常见操作。此外,文章还分享了一些高级配置技巧,如使用条件语句实现不同环境下的不同配置,以及通过函数实现复杂命令的封装和复用。最后,总结了bashrc文件配置的关键点,并强调了合理配置bashrc对于提升Linux使用体验的重要性。
1. 内容模式
PS1变量主要由下表的转义字符组成
\d | 代表日期,格式为weekday month date,例如:“Mon Aug 1” |
\H | 完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux |
\h | 仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 |
\t | 显示时间为24小时格式,如:HH:MM:SS |
\T | 显示时间为12小时格式 |
\A | 显示时间为24小时格式:HH:MM |
\u | 当前用户的账号名称 |
\v | BASH的版本信息 |
\l | 显示登陆的终端号 |
\w | 完整的工作目录名称。家目录会以 ~代替 |
\W | 利用basename取得工作目录名称,所以只会列出最后一个目录 |
/! | 命令行动态统计历史命令次数 |
\# | 下达的第几个命令 |
\$ | 提示字符,如果是root时,提示符为:# ,普通用户则为:$ |
例如
CentOS 中默认
PS1="[\u@\h \W]\\$ "
Ubuntu 中默认
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
等效于
PS1='\u@\h:\w\$ '
2. 格式与颜色
PS1 控制格式与颜色的方法与《控制 Bash 输出的格式与颜色》中类似,但是需要用 \[
和\]
将 \033[控制字符m......\033[0m
包裹起来,避免出现格式混乱
”\[\033[控制字符m......\033[0m\]“
将下面代码用;
连接排列放在上面控制字符
的部分. 不区分先后,可多种效果叠加
- 格式代码:
F
,F
∈{1,2,3,4,5,7,8} - 前景 8/16 色彩代码:
FgC16
,FgC16
∈{30,…,37,39,90,…,97} - 背景 8/16 色彩代码:
BgC16
,BgC16
∈{40,…,47,49,100,…,107} - 前景 88/256 色彩代码:
38;5;C256
,C256
∈{0,1,…,255} - 背景 88/256 色彩代码:
48;5;C256
,C256
∈{0,1,…,255
例如:
Ubuntu16.04 中彩色提示符设置如下
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
3. 配置文件设置
3.1. 控制台显示设置
在 ~/.bashrc
文件是修改
不显示host和username,显示工作目标全路径,显示git的分支名
如果想只显示工作目录文件夹名,则将w改为W
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;34m\033[01;34m\]\w\[\033[01;32m\033[01;32m\]$(git_branch)\[\033[00m\033[00m\$\] '
注意还需要添加
function git_branch {
branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
if [ "${branch}" != "" ];then
if [ "${branch}" = "(no branch)" ];then
branch="(`git rev-parse --short HEAD`...)"
fi
echo " ($branch)"
fi
}
用于返回git分支名
3.2. 使用Meld作为Git代码合并工具
在~/.bashrc中加入下面几行
# ------------------ M E R G E -------------------------
[merge]
tool = meld
[mergetool "meld"]
cmd = meld --auto-merge \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\" --label \"MERGE (REMOTE BASE MY)\"
trustExitCode = false
[mergetool]
# don't ask if we want to skip merge
prompt = false
# don't create backup *.orig files
keepBackup = false
# ------------------ D I F F -------------------------
[diff]
guitool = meld
[difftool "meld"]
cmd = meld \"$LOCAL\" \"$REMOTE\" --label \"DIFF (ORIGINAL MY)\"
参考文献
更多推荐
所有评论(0)