.bashrc在哪里?

我觉得很蠢问这个问题,但是我似乎找不到答案。我正在尝试按照这些说明来编辑我的bash提示符,但是在我的用户目录(~/.bashrc),或者在我的主目录,或者在主文件系统目录中都找不到.bashrc文件。
/etc/中也没有.bashrc(不过有一个bash.bashrc)。
我应该在我的用户目录还是主目录中创建一个.bashrc文件?是否有更好、更近期的修改bash提示符的说明?

3你不需要在/etc/中找到/编辑.bashrc文件。你的家目录中应该有一个*.bashrc*文件。尝试打开/编辑~/.bashrc。但在此之前,我还要问一下你是否是Linux新手。如果你是Linux新手,那么我可以在这里发布详细的说明。 - Ankit
2以上所有的答案都建议将您的别名放在.bashrc中,但是您应该将它们放在.bash_profile 编辑 为了澄清,如果只是为了这个目的,请不要创建一个.bashrc,而是创建或修改~/.bash_profile - Louis Maddox
3.bash_profile中定义别名是错误的。在Ubuntu中,当它是一个交互式bash shell时,.profile(用于登录shell)会引用.bashrc。因此,在.bashrc(或.bash_aliases,在.bashrc中引用)中放置别名会在所有交互式bash shell中定义它们。在.bash_profile中的别名会导致这个问题,以及其他问题。请参考这个链接那个链接这篇文章和默认的~/.bashrc中的注释,建议将别名放在那里或者.bash_aliases文件中。 - Eliah Kagan
2哇,如果我误导了任何人,我非常抱歉。我在使用Linux的前几个月写下了那个评论。奇怪的是,现在我确实在.bashrc中有它们,并且在.bash_profile中引用了我的.bashrc,代码是从这个SuperUser答案中复制的(“获取别名和函数”)。谢谢你纠正了这些常见的问题,Eliah,在这里真的很好的回答 - Louis Maddox
类似的Windows问题的答案在这里Git for Windows: .bashrc或等效的配置文件用于Git Bash shell - Michael Freidgeim
这里有一个非常相关的话题:~/.bashrc文件是在什么时候创建的? - pa4080
11个回答

别忘了它是你家目录中的一个隐藏文件(你不会是第一个执行ls -l命令后以为它不存在的人)。

执行以下操作:

ls -la ~/ | more

第一页应该有一个.bashrc文件。 如果没有,只需创建它:
vi ~/.bashrc

并添加您需要添加的行。

我的.bashrc文件的权限为:

-rw-r--r--  1 discworld discworld  3330 Mar 10 16:03 .bashrc

使用命令 chmod 644 .bashrc 将其权限设置为 rw r r

3那就是它了——隐藏文件,我没有想到要超越显而易见的地方去寻找。谢谢,也许这会帮助其他像我一样的笨蛋。 :) - JeanSibelius
1我好像弄不懂sudo...这一行,难道不是应该是touch ~/.bashrc吗? - lgarzo
@Rinzwind 我觉得文件名还多了一个点。 - lgarzo
不,没有多余的点!我否认那个命令中有两个错误!:=D - Rinzwind
对不起,我的错!:P - lgarzo
哈哈,@igarzo :D :D - Rinzwind
绝对没有sudo,只需用vi ~/.bashrc进行编辑即可。 - houbysoft
对我来说,仍然没有.bashrc文件,即使是隐藏的。不过,在/etc/skel/目录下有一个模板;输入cp /etc/skel/.bashrc ~/.bashrc来使用它。 - Nearoo
您可以使用以下命令查看所有文件(包括隐藏文件):ll - Agent 0
可以放在~/.config/bash/bashrc里吗? - Vitaly Zdanevich

用户特定,默认情况下隐藏。

~/.bashrc

如果不存在,就创建一个。
系统范围内:
/etc/bash.bashrc

每个用户的主文件夹中都有一个 .bashrc 文件(99.99% 的情况下),还有一个系统级别的文件(我不知道在 Ubuntu 中的位置)。
从终端访问它的最快方式是使用命令 nano ~/.bashrc(将 nano 替换为您喜欢使用的编辑器)。
如果用户的主文件夹中没有此文件,系统级别的 .bashrc 将作为备用文件使用,因为它会在用户文件之前加载。您可以简单地复制粘贴它(当然需要使用 root 权限),但是 .bashrc 并非完全必需(可能需要它来使某些功能正常工作,我还没有弄清楚),因为它主要是用于覆盖系统级别的文件并进行用户特定的调整。您也可以编写自己的文件。
用户可能调整的主要组件包括 PS1(Bash 提示默认显示为 user@localhost:pwd $)、别名以及设置彩色提示和可能的 PS2(繁忙状态消息)。

使用gedit ~/.bashrc命令,它将允许你使用gedit编辑器修改~/.bashrc文件。

这样简单多了,谢谢! - Agent 0

它被隐藏是因为以'.'开头。

使用以下命令列出:

ls -al

或在Nautilus的视图菜单下启用“显示隐藏文件”(Ctrl-H也可以)。

您可以使用您喜欢的文本编辑器从您的主目录进行编辑,例如:

cd

进入您的主目录,然后:

emacs .bashrc


1你甚至可以只使用 ls -a - Paul Jones

如果在你的主文件夹中找不到.bashrc,即使你列出了隐藏文件,你可以从以下位置复制它:
/etc/skel/.bashrc

使用nano ~/.bashrc打开并编辑.bashrc文件。(如果该文件尚不存在,则会创建该文件)

3你不需要使用 sudo 命令来编辑自己的 ~/.bashrc 文件。 - muru

如果不在主目录中,你可以直接从/etc/bash.bashrc复制,并将其作为终端的源文件,在复制后,在你的主目录中输入source .bashrc来使其生效。

如果您使用加密并从命令行工作,您可能不会将其视为一个需求,因为首先需要挂载真实的主目录(与图形界面中自动完成的操作相反),可以通过以下命令完成:
ecryptfs-mount-private

(我有同样的问题,偶然间看到了这个问题;但是在自述文件中找到了我的答案)

Bashrc文件是位于主目录中的隐藏文件。它实际上提供了路径指引。
如果想要编辑.bashrc文件,可以尝试使用命令gedit ~/.bashrc,而不是使用~/.bashrc。
这个命令gedit ~/.bashrc会直接带你进入文本编辑器,方便你进行编辑,你知道的。