.bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。
补充:
在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件
.bash_history 记录之前输入的命令
.bash_logout 当你退出时执行的命令
.bash_profile 当你登入shell时执行
.bashrc 当你登入shell时执行
.bash_profile和.bashrc的区别?
除了可以修改用户目录下的.bashrc文件外,还可以修改如“/etc/profile”文件、“/etc/bashrc”文件及目录“/etc /profile.d”下的文件。但是修改/etc路径下的配置文件将会应用到整个系统,属于系统级的配置,而修改用户目录下的.bashrc则只是限制在用户应用上,属于用户级设置。两者在应用范围上有所区别,建议如需修改的话,修改用户目录下的.bashrc,即无需root权限,也不会影响其他用户。
alias ll = "ls -lha"
PATH="$PATH:$HOME/.local/bin:$HOME"
export PATH
PS1=”[\u: \w]$”
可以用任何终端文本编辑器打开.bashrc。以vim为例:
vim ~/.bashrc
打开.bashrc后,可以在利用利用命名函数alias定制需要的指令,如
#用 ll 代替 ls -lha 这个命令,在此bash下输入命令 ll 等
#同于输入 ls -lha 命令
alias ll = "ls -lha"
除了缩短命名,也可以用bash函数组合多个命令到一个操作,这些命令大多遵循以下语法。
语法一:
function function_name {
command1
<^>command2</^>
}
语法二:
function_name () {
command_1
command_2
}
语法三
function_name () { command1; command2; }
下面的命令组合了mkdir和cd命令,输入md folder_name不仅可以在你的工作目录创建一个名为"folder_name"的目录且进入其中,代码如下:
md () {
mkdir -p $1
cd $1
}
也可写成:
md () { mkdir -p $1; cd $1; }
每次export路径太麻烦,把路径加入到.bashrc是一个一劳永逸的方法,常见的设置语法如下:
#软件名-版本号
#语法一
PATH=$PATH:路径
export PATH
#语法二
export PATH=$PATH:路径
上述语法可以理解为,在原来PATH的后面继续添加了新的路径,在运行特定指令时,系统会逐个位置去寻找文件。 $PATH 表示原先设定的路径,不能遗漏。
不同于DOS/Windows,Unix类系统的环境变量的路径用冒号:分割,而不是分号;。为避免环境变量过多产生混乱,建议所有语句都添加在文件结尾,并添加注释。
所有环境变量名都是大写,Linux区分大小写
注意:对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:
source ~/.bashrc
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的aarch32-rockchip-linux-toolchain-rk3308编译工具链软连接在“/opt/aarch32-rockchip-linux-toolchain-rk3308/build_tools/bin”目录下,build_tools就是我的编译工具,则可以通过如下两种方式来设置环境变量:
1、修改profile文件:
#vi /etc/profile
export PATH="$PATH:/opt/aarch32-rockchip-linux-toolchain-rk3308/build_tools/bin"
2 、修改.bashrc文件:
# vi /root/.bashrc
export PATH="$PATH:/opt/aarch32-rockchip-linux-toolchain-rk3308/build_tools/bin"
如果用户删除了.bashrc,可以从如下路径拷贝一份原始的.bashrc文件到用户home目录下
cp /etc/skel/.bashrc ~/
zshell的介绍文章:Ubuntu安装zsh
如果安装了zshell,则开启终端是启动.zshrc文件,此时需要将修改内容写在该文件下
参考博文: