.bashrc 文件是用户登录时执行的脚本文件。该文件本身包含终端会话的一系列配置。这包括设置或启用:着色、完成、外壳历史记录、命令别名等。
它是一个隐藏的file和简单的ls command不会显示该文件。
要查看隐藏文件,可以运行以下命令:
1$ ls -a
(https://Jouraldev.nyc3.digitaloceans.com/2020/06/ls-a-Command.png)
您可以在第一列中看到**.bashrc** 命令。可以更改** .bashrc** 的内容以定义函数、命令别名和定制bash。
.bashrc 文件有很多注释,便于理解。
要查看bashrc文件,请执行以下操作:
1$ cat .bashrc
下面提供了一些编辑.bashrc的示例。
在bashrc中定义函数
Bashrc可用于定义减少重复工作的函数。这些函数可以是基本命令的集合。这些函数甚至可以使用来自终端的参数。
让我们定义一个以更具描述性的方式告知日期的函数。
首先,您需要在编辑模式下输入.bashrc文件。
1$ vi .bashrc
这就是航站楼的样子。要开始编辑,请按键盘上的任意字母。在文件末尾添加以下代码:
1today()
2{
3 echo This is a `date +"%A %d in %B of %Y (%r)"` return
4}
按下Ess键。然后,要保存并退出vi,请按冒号(:),后跟‘wq’并按Enter。
更改即被保存。要反映bash中的更改,请退出并重新启动终端。
或使用以下命令:
1$ source .bashrc
要运行今天刚刚创建的函数,请执行以下操作:
1$ today
让我们创建另一个函数。这将结合创建目录,然后将该目录输入到单个命令中的过程。
在bashrc文件中添加:
1mkcd ()
2{
3 mkdir -p -- "$1" && cd -P -- "$1"
4}
这组合了两个单独的命令:
- mkdir:创建目录
- cd:用于更改当前目录
$1表示随函数调用一起传递的第一个参数。
要使用此函数,请执行以下操作:
1$ mkcd directory_name
此命令将传递‘DIRECTORY_NAME’作为参数。
我们的函数将首先使用mkdir创建名为‘DIRECTORY_NAME’的目录,然后cd进入‘DIRECTORY_NAME’。
在.bashrc中定义别名
别名是同一命令的不同名称。可以将它们视为更长表单命令的快捷方式。.bashrc文件已经具有一组预定义的别名。
[别名1 1](https://Jouraldev.nyc3.digitaloceanspaces.com/2020/06/aliases es-1-1.png)
作为用户,如果有您经常使用的别名,那么您可以将其保存在.bashrc文件中,而不是在每次打开终端时定义它。
例如,我们可以用下面的代码行来替换walami命令。
1alias wmi='whoami'
不要忘记保存编辑,然后运行:
1$ source .bashrc
现在,我可以使用WMI命令,终端将以walami的身份运行它。
通常,可以通过添加以下语句来定义别名:
1alias aliasname='commands'
这里值得一提的是,‘aliasname’、‘=’和‘Commands’之间不应该有空格。
别名还可用于存储指向目录的长路径。
自定义终端
使用bashrc文件定制终端的方法有很多种。
要更改提示符处显示的文本,请在文件末尾添加以下行:
1PS1="JournalDev> "
保存编辑并运行:
1$ source .bashrc
使用源命令刷新bashrc文件后,您的bash提示符将更改,如下图所示。
您还可以更改按下向上箭头时显示的命令历史记录的限制。为此,请更改bashrc文件中的 HISTSIZE 和** HISTFILESIZE** 变量。
- HISTSIZE bash运行时内存中存储的命令个数。
- HISTFILESIZE 是光盘上存储的命令数。
结束语
对bashrc文件所做的更改如下所示:
冗余的命令序列可以放在函数下的bashrc中。这将节省大量的时间和精力。在编辑bashrc文件时,用户应该小心,并始终在进行任何更改之前进行备份。