什么是 Linux 中的 .bashrc 文件?

.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

Cat Bashrc

下面提供了一些编辑.bashrc的示例。

在bashrc中定义函数

Bashrc可用于定义减少重复工作的函数。这些函数可以是基本命令的集合。这些函数甚至可以使用来自终端的参数。

让我们定义一个以更具描述性的方式告知日期的函数。

首先,您需要在编辑模式下输入.bashrc文件。

1$ vi .bashrc

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

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的身份运行它。

Whoami 2

通常,可以通过添加以下语句来定义别名:

1alias aliasname='commands'

这里值得一提的是,‘aliasname’、‘=’和‘Commands’之间不应该有空格。

别名还可用于存储指向目录的长路径。

自定义终端

使用bashrc文件定制终端的方法有很多种。

要更改提示符处显示的文本,请在文件末尾添加以下行:

1PS1="JournalDev> "

保存编辑并运行:

1$ source .bashrc

使用源命令刷新bashrc文件后,您的bash提示符将更改,如下图所示。

更改Prompt

您还可以更改按下向上箭头时显示的命令历史记录的限制。为此,请更改bashrc文件中的 HISTSIZE 和** HISTFILESIZE** 变量。

命令历史

  • HISTSIZE bash运行时内存中存储的命令个数。
  • HISTFILESIZE 是光盘上存储的命令数。

结束语

对bashrc文件所做的更改如下所示:

Bashrc Changes

冗余的命令序列可以放在函数下的bashrc中。这将节省大量的时间和精力。在编辑bashrc文件时,用户应该小心,并始终在进行任何更改之前进行备份。

Published At
Categories with 技术
Tagged with
comments powered by Disqus