The Next Chapter in Our Story has Started — Stay with Us!

Read More!
Close Button

What is Linux bashrc and How to Use It? [Full Guide]

what is linux bashrc


8 mins Read

what is linux bashrc

Get your SSD VPS

Starting from $7.95/month.

Check it Out

Are you a user of Linux and want to work with Linux bashrc and its command-line? bashrc is one of the hidden files in the home directory of the Linux operating system but how about bash_profile? Do you know what is the differences between Linux bashrc and bash_profile? By default, Linux hides the sensitive files. One of them is bashrc, which is located in the home directory of the Linux operating system.

As you probably know, bashrc is a low-risk and straightforward solution in comparison to other terminal customization tricks (if you face a problem, delete bashrc and start it again). In this article, we will explain the introduction of bash in Linux. We will also tell you what .bashrc files are and how to use them. Nevertheless, before anything, let us start explaining with some basic definitions.

What is A Shell?

what is a shell

A shell is a term used for interacting user interface with OS. A shell is a command interpreter (in some systems) that accepts the user’s commands and runs them to execute operations. In fact, a Linux/Unix shell is an environment for running scripts, commands, or programs. There are two major kinds of shells:

  • C Shell – if you are using this type of shell, the % character is the default prompt.
  • Bourne Shell – the main prompt for this kind of shell is $ character.

In this article, we will use Bourne Shell.  This kind of shell has the following subcategories:

  • Bourne Shell (sh)
  • Bourne Again Shell (bash)
  • Korn Shell (KSH)
  • POSIX Shell (sh)

Since Bourne Shell was the first shell that appeared to UNIX, it was referred to as the shell. As was mentioned, bash is the most common type of shell for Linux and is suitable for writing scripts on different versions of Linux.

Linux Hosting Simplified Linux Hosting Simplified

Want a better way to host your websites and web apps? Developing something new? Simply don’t like Windows? That’s why we have Linux VPS.

Get your Linux VPS

What is Bashrc File and How to Use It?

.bashrc File will execute when a user opens a new shell in an interactive mode. In fact, the .bashrc File is a shell script to initialize a shell session. You can put all commands in this file (those commands you can type in the command prompt). Every time you need to initiate the .bashrc File from the beginning, you can start it by pressing Ctrl+Alt+T; or do it by opening a new terminal tab.

At each launch, Bash runs the contents of the .bashrc file to load your preferences. You can find this shell script in the home directory of users. The main function of this file is loading the terminal preferences and environmental variables and saving them. Therefore, the first step of the bashrc command using (Ctrl+Alt+T) is opening a new terminal window and the result of that is returning the following files:

  1. /etc/skel/.bashrc When new users create in the system, /etc/skel/.bashrc is the default bashrc file for each user.
  2. /home/Ali/.bashrc When a user named Ali opens the shell, this file is in use.
  3. /root/.bashrc Whenever the root opens the shell, the root file (/root/.bashrc) will utilize.

Where Is Bashrc File in Linux?

As we mentioned, the location of bashrc is in your home directory. When a bash shell or a bash script is initiated, it will read and execute. In fact, reading the bashrc file will take place in one of the following sample situations:

  • When you log in,
  • When you run certain commands (bash scripts),
  • When copying error files or output,
  • When you run compute jobs,
  • At the end of a job.

Also Read: How to install Linux bash on Windows 10?

What Can You Do With Linux Bashrc?

Providing a space for setting up the variables, aliases, functions, and define other settings is the main purpose of a bashrc Files. Moreover, it has very noticeable advantages that you can utilize to make your terminal experience more user-friendly and efficient. We will explore some of them here.

Bash Prompts

A customizable bash prompt reads a configuration file to determine its behavior. It makes your work on the terminal more efficient and productive. Bash prompt allows you to personalize your terminal. It also lets you show prompts when you run a command. For example, you can perform the following tasks:

1. Change the Color on bash Command

If you wish to change the color of your shell prompt, type the following export command:

$ export
PS1=’’\e[0;31m[m[\[email protected]\h \W]$
\e[m “

This will set a red color for your prompt (0;31 is the code of red).

2. Multiline Prompt

multiple prompts

You know, bash does not support multiline comments. However, sometimes you need to continue your commands without having to finish them. In this situation, you have to use an open quote (‘or “), backslash (\), or pipe symbol ( | ) at the end of each line to continue your commands and stop them from executing.

A multi-line prompt will contain user and host, date/time, active terminal, full path, space usage, and even file count. In multiline prompts, you will get a secondary prompt from PS2 that is set to >, by default.

3. Display Directory Information

display directory information

If you intend to display the user/host, a number of tasks, and date on the top line, this prompt will work. In addition, it will present the number of files in the current directory and their disk usage. Its code will be something like this:

PS1="n[e[30;1m][16]l[17]([e[34;1m][email protected][e[30;1m])
([[e[32;1m]w[e[30;1m])-9[e[32;1m[$(/bin/ls -1 |
/usr/bin/wc -l | /bin/sed 's: ::g') files, $(/bin/ls -lah |
/bin/grep -m 1 total | /bin/sed 's/total //')b[e[30;1m])--> [e[0m]"

4. High-Performance Simple Prompt

simple prompt
If you want something that packs lots of information without slowing down your computer, you can use this prompt.


PS1="[d | T -> w ...$?]n#"

5. The Rob Prompt

the rob prompts


Although rob code is small and simple, it allows the features that appear in considerable examples and more complex manner 


PS1="[33[0;33m][!] if [[ $? = "0" ]]; then echo
"\[\033[32m\]"; else echo "\[\033[31m\]"; fi'[u.h: '
if [[ 'pwed|wc -c|tr -d " "' > 18 ]]; then echo "\W"; else echo
"\w"; fi']$[33[0m] "; echo -ne "33]0;'hostname -s':'pwed'07"

Note: to make use of any of these prompts, you can copy & paste the “PS1=” line directly into your terminal. If you wish to make permanent changes, paste the line to the end of your ~/.bashrc file.

Creating Aliases

Creating aliases for your most-used commands will save you some time. Aliases are like custom shortcuts used to represent a command (or set of commands) executed with or without custom options. For example, the command “ls”. This command is a worthwhile command that can display the contents of your directory. You know, knowing the hidden contents of the Directory or having information about the Directory will be more profitable. Therefore, we use an alias here.

Linux Hosting Simplified Linux Hosting Simplified

Want a better way to host your websites and web apps? Developing something new? Simply don’t like Windows? That’s why we have Linux VPS.

Get your Linux VPS

One of the most frequently used aliases is ll which will be set to run “ls –lha” or something similar. That will display the most details about files, revealing hidden files, and show file sizes in units that are readable to us. You can also utilize this command for creating shorter versions of codes or forcing a code to always run with your favored flags, or even guard against common typos. You can also circumvent annoying or easy-to-forget syntax with your preferred shorthand. A list of defined aliases on your profile will display by simply executing the alias command:


The output of this command will display the default aliases defined for your user in Ubuntu 18.04 as shown in the following picture:

creatin alias in ubuntu


As you can see, $ ll Is equivalent to running $ ls –alF. You can also create your temporary aliases. To do so, Type the alias word. Then, use the name you wish to use for executing a command that is followed by the = sign and quote the command you want to alias. The syntax is something like this:

alias shortName="your custom command here"

For example:

alias wr="cd /var/www/html"

You can then use this shortcut to go to the webroot directory. However, it has one problem. This is only available for your current terminal session, and if you open a new terminal session, the Alias will no longer be available. So, if you wish to save your Aliases, you require a permanent Alias.

Linux Hosting Simplified Linux Hosting Simplified

Want a better way to host your websites and web apps? Developing something new? Simply don’t like Windows? That’s why we have Linux VPS.

Get your Linux VPS

How to Open Bashrc and Save a File?

The syntax you should use is practically the same as creating a temporary alias, except this time, you also have to save it in a file. So:

Step 1: Open a .bashrc file in a sample bash like the following:

vim ~/.bashrc

Step 2: Find a place in the file where you intend to keep the Aliases. For instance, you may want to add them at the end of the file.

Step 3: Save the file. This file will automatically load in your next session.

Note: the unalias command will use for removing an alias.

unalias alias_name
unalias -a [remove all alias]

How to Edit .bashrc files?

You may want to add your own commands in any terminal text editor. To do so, you can edit bashrc. We will use a nano editor in the following examples.

Step 1: To edit bashrc through nano, type the following command in Terminal:

nano ~/.bashrc

Note: If it is the first time you are editing your .bashrc file, you might find that it is empty. That is not a problem. If not so, you can feel free to put your additions on any line.

Bring in your mind that next time you launch the terminal, any changes you make to .bashrc will apply. If you want to make use of them immediately, run the command below:

source ~/.bashrc

Step 2: Wherever you wish, you can add to your .bashrc file. Nevertheless, it is better to use a command (proceeded by #) for organizing your code.

Note: Bring in your mind that edits in .bashrc have to follow bash’s scripting format. If you do not know how to script with bash command, then, use online resources for that.

How to Reload bashrc File?

If you intend to reload the bashrc file without opening a new file, run the following command:

~/ .bashrc

As you know, the dot operator will execute this command from the file in the current environment. You can also use the source command as shown below:

Source ~/ .bashrc

What is bash_profile?

Every time you create a new bash session, a file for the bash profile will create. This is a file named .bash_profile in the home directory of your computer that bash runs. To create your bash file, run the following command:

sub1 ~/ .bash_profile

The tilde (~) is equivalent to /User/Rich and tells bash to start traversing the file system from the home directory. It means, you can write the previous command in the following format:

Sub1 /Users/Rich/.bash_profile

But utilizing the (~) is a shortcut that is useable for every user to understand.

Where is bash_profile?

You may ask where the bash_profile path is. bash_profile is a hidden file located in the home folder, and you have to make it visible. If ~/ .bash_profile does not exist, ~/ .profile is located instead.

Bashrc vs. bash_profile

.bashrc is only sourced in interactive mode when bash does not act as a login shell. On the contrary, .bash_profile is only sourced as a non-interactive shell with the – login option, or when bash started as an interactive login shell. It means, it is suitable for commands that should run once while bashrc is great for commands that you should run in every new shell starting.

Linux Hosting Simplified Linux Hosting Simplified

Want a better way to host your websites and web apps? Developing something new? Simply don’t like Windows? That’s why we have Linux VPS.

Get your Linux VPS


We tried to give you a full hand in using Linux Bashrc. Of course, there is more to know about this topic but with our quick and easy-to-use article, you should be able to do all the basic things we have mentioned. If you have any further questions that we did not cover, leave us a comment and we try to write back as soon as possible!

A Web designer, with Experience in digital marketing , Totally fueled by passion to understand and learn different aspects of digital marketing.


25 thoughts on “What is Linux bashrc and How to Use It? [Full Guide]”

  1. I have started to like linux bash but since I am a windows user is there a way for me to use it? I don’t know any software that would act like Linux Bashrc or anything else?

    1. You can use Bash on Windows with a Windows subsystem that Ubuntu Linux runs it. That subsystem is not a virtual machine or an application like Cygwin. It’s a comprehensive Linux system inside your Windows 10 machine. Basically, it lets you run the same Bash shell that you find on Linux.
      Thank you so much for taking your time to read our blog 🌻

  2. I think everyone who is using Linux OS should know about Linux bashrc and how to use it. It is really powerfull and usefull

  3. I had read your article about 3 months ago and it was lacking something like .bash_profile. And now that I randomly checked this article I see that you have implemented that topic into the article. Thanks for the great work

  4. Linux Bashrc is one of the most interesting parts of linux. Anyone who is not using Linux and its great features, it is their loss

  5. Without a shell, one can hardly use the functions of the kernel installed on their system. Bash Shell configuration files (such as .bashrc and .bash_profile) allow us to customize the Shell experience as needed

    1. Thank you so much for taking your precious time to read our blog 🌻
      Bash_profile is read and executed when Bash is invoked as an interactive login shell, while bashrc is executed for an interactive non-login shell. Bash_profile runs commands that must run only once, such as customizing the $PATH environment variable.

  6. The whole thing about a .bashrc file is to create an area wherever you have created variables, functions and aliases, outline your prompt and define different settings that you simply wish to use when you open a brand new terminal window. It works by being run each time you open up a new terminal, window or pane.

  7. Great article. You literally covered everything about Linux that I was looking for on the Internet

    1. When you login (type username and password) via console, either sitting at the machine, or remotely via ssh: .bash_profile is executed to piece your shell before the initial command prompt.

      But, if you’ve already logged into your machine and open a replacement terminal window (xterm) then .bashrc is executed before the window command prompt. .bashrc is additionally run once you begin a new bash instance by writing /bin/bash during a terminal.

      On OS X, Terminal by default runs a login shell each time, so this is often a bit completely different to most alternative systems, however you can piece that within the preferences.

  8. I know this web page gives quality depending articles or reviews and
    extra stuff, therefore Do ou know How to stop a running Bash script or command?

    1. To exit from bash type exit and press ENTER . If your shell prompt is > you’ll have typewritten ‘ or ” , to specify a string, as a part of a shell command however haven’t typed another ‘ or ” to shut the string. To interrupt the present command press CTRL-C .

    1. Thanks for a great question. No, the bashrc file (.bsharc) is in the same location in all distros. So, if you’re wondering about Linux .bashrc_where is bashrc file Linux, you can just read the guide and you’ll have your answer.

  9. AttilaTheHungry

    Hey guys. I have seen two questions around the web and I want to know if they are different: “what is bashrc file in Linux” and “what is .bashrc file in Linux”?

    1. Hi there. Actually, they’re the same question. Sometimes, the bsharc file is written as .bashrc so that’s why sometimes you see “what is bsharc” and sometimes “what is .bsharc” in forums.

    1. There are some similarities, of course, since both Linux and FreeBSD are Unix-like operating systems, but they are also very different.

Leave a Reply

Your email address will not be published. Required fields are marked *

Latest Posts