I feel stupid asking, but I can't seem to find the answer to this anywhere. I'm trying to follow these instructions to edit my bash prompt, but there is no .bashrc in either my user directory (~/.bashrc), or in my home directory, or in the main file system directory.

There is no .bashrc in /etc/ (there is a bash.bashrc, however).

Do I create a .bashrc file in my user or home directory? Is there a better, more recent set of instructions for modifying the bash prompt?

  • 1
    You do not need to find/edit .bashrc in /etc/. There should be a .bashrc file in your home directory. Try to open/edit ~/.bashrc. But before that I should also ask if you are new to Linux. If you are new to Linux, then I can post detailed instructions here. – Ankit Apr 28 '12 at 15:44
  • 2
    All of the above answers recommend putting your aliases in .bashrc, but you should put them in .bash_profile Edit To clarify, don't create a .bashrc if it's just for this, create or modify ~/.bash_profile – Louis Maddox Jul 9 '14 at 13:33
  • 2
    @Louis Defining aliases in .bash_profile is wrong. In Ubuntu .profile (which runs for login shells) sources .bashrc when it's an interactive bash shell. So putting aliases in .bashrc (or .bash_aliases, sourced in .bashrc) defines them in all interactive bash shells. Aliases in .bash_profile yields this problem, and others. See this, that, this post, and the default ~/.bashrc's comments recommending putting aliases there or in .bash_aliases. – Eliah Kagan Apr 8 '15 at 18:50
  • 2
    Oh wow, I'm very sorry if I've misled anyone. I wrote that comment just a few months into using Linux. Peculiarly I do now have them in .bashrc and sourced my .bashrc in .bash_profile with code copied from this SuperUser answer ("Get the aliases and functions"). Thanks for correcting these commonly viewed questions Eliah, really nice answer here! – Louis Maddox Apr 8 '15 at 18:56
  • Answer for similar question for Windows is here Git for Windows: .bashrc or equivalent config files for Git Bash shell – Michael Freidgeim Feb 16 '16 at 23:45

Don't forget it is a hidden file inside your home directory (you would not be the first to do a ls -l and thinking it is not there).

Do a:

ls -la ~/ | more

There should be a .bashrc on the first page. If not just create it with:

vi ~/.bashrc

and add in the lines you need to add into it.

Permissions of my .bashrc are:

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

(chmod 644 .bashrc to make it rw r r).

  • 3
    That was exactly it -- hidden file, and I didn't think to look beyond the obvious. Thanks -- maybe this will help other shmucks like me as well. :) – JeanSibelius Apr 28 '12 at 15:21
  • 1
    I don't seem to get the sudo... line, isn't this touch ~/.bashrc? – lgarzo Apr 28 '12 at 15:22
  • @Rinzwind I think that line still has an extra dot in the filename. – lgarzo Apr 28 '12 at 15:27
  • No, there was no extra dot! I deny there to have been 2 errors in that command! :=D – Rinzwind Apr 28 '12 at 15:29
  • Sorry, my bad! :P – lgarzo Apr 28 '12 at 15:31

User specific, hidden by default.


If not there simply create one.

System wide:


There is a .bashrc in every user's home folder (99.99% of the time) as well as one system-wide (which I don't know the location of in Ubuntu).

The quickest way to access it is nano ~/.bashrc from a terminal (replace nano with whatever you like to use).

If this is not present in a user's home folder the system-wide .bashrc is used as a fallback as it is loaded before the user's file. You could simply copy and paste it (with root permissions of course), but a .bashrc is not entirely essential (it may be required to make things work. I haven't found out) at a user level as it mostly overrides the system-wide one with user-specific tweaks. You could write your own though.

The main components for that users may tweak are PS1 (the Bash prompt defaults to display user@localhost:pwd $) and aliases as well as setting a color prompt and maybe PS2 (busy state message).


It is hidden because of the . the filename starts with. List it with

ls -al

or enable "Show hidden files" under the view menu in nautilus (Ctrl-H will also do the trick).

You can edit it with your favorite text editor from your home directory e.g. cd to go to your home directory then:

emacs .bashrc

Use gedit ~/.bashrc, it will allow you to modify ~/.bashrc using gedit.


If .bashrc is not in your home folder, even after you list the hidden files, you can copy it from:


if not in home directory, you can just copy from /etc/bash.bashrc, and make it source for your terminal, by typing in your terminal source .bashrc from your home directory after copying.


Use nano ~/.bashrc to open and edit the .bashrc file. (This will create the file if it does not yet exist)

  • 3
    You don't need sudo to edit your own ~/.bashrc – muru Mar 13 '17 at 11:57

If you use encryption and work from the command line you might not see it as one need to mount the real home-dir first (in contrast to in the graphical UI where this is done automaticallu) by the command:


(I had the same question and stumbled upon this question; but found my answer in the readme instead)

protected by Community Dec 16 '17 at 15:58

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.