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

linux bashrc guide
By

25 Comments

10 mins Read

linux bashrc guide
Get your Linux VPS

Get your Linux VPS

Starting from $4.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.

Bashrc is a low-risk and straightforward solution compared to other terminal customization tricks, as you can delete and start it again when facing issues. This article will describe the introduction of bash in Linux. We will also discuss what .bashrc files are and how to use them. Before going any further, we should talk about some basic definitions to give you a solid knowledge of bashrc.

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)

Bourne Shell was the first shell that appeared to UNIX, which is why it is referred to as the shell. As mentioned earlier, bash is the most common shell type for Linux and is suitable for writing scripts on different Linux versions. Knowing what shell is, let’s talk about the bashrc File and how you can use it.

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 other words, the .bashrc File is a shell script to initialize a shell session. Using the .bachrc File allows you to put all commands you type in it. So, every time you need to initiate the .bashrc File from the beginning, you can do so by pressing Ctrl+Alt+T or opening a new terminal tab, making it all more accessible.

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. Execute the bashrc file is going to be one of the following samples:

  • 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?

With this brief introduction of shell and bashrc file, you may now ask yourself, what can I do with Linux bashrc?

What Can You Do With Linux Bashrc?

The central facility that bashrc Linux provides is a proper space for setting up the variables, aliases, and functions and defining other settings. In addition to this primary purpose of a bashrc Files, it has multiple noticeable advantages that you can utilize to make your terminal experience more user-friendly and efficient. We will explore some of them here. You can also learn more about the use cases and variations of the Bash if Statement in our other article!

Usecase: Bash Prompts

A customizable bash prompt reads a configuration file to determine its behavior, making 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. Here we list some tasks you can perform as examples for you:

  1. Linux Bashrc: Change the Color on bash Command

If you wish to change the color of your shell prompt, ensure you have backed up your current .bashrc file. We copy .bashrc file into temp using the below command:

cp ~/.bashrc /tmp

Then you should open your .bashrc file and add an entry for new colors:

nano ~/.bashrc
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS

In this command, “di” means that we’re changing directory color, and “0;35” it’s purple color. We gather a nice table for color and change other kinds of files for you:

  • Blue = 34
  • Green = 32
  • Light Green = 1;32
  • Cyan = 36
  • Red = 31
  • Purple = 35
  • Brown = 33
  • Yellow = 1;33
  • White = 1;37
  • Light Grey = 0;37
  • Black = 30
  • Dark Grey= 1;30
  • di = directory
  • fi = file
  • ln = symbolic link
  • pi = fifo file
  • so = socket file
  • bd = block (buffered) special file
  • cd = character (unbuffered) special file
  • or = symbolic link pointing to a non-existent file (orphan)
  • mi = non-existent file pointed to by a symbolic link (visible when you type ls -l)
  1. Linux Bashrc: Multiline Prompt

multiple prompts

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

  1. Linux Bashrc: Display data on top of the terminal

display directory information

If you want to display the user/host, several tasks, and the date on the top line, this .bashrc 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:

export PS1="\u@\h [\$(pwd):$(ls -F |grep -v / | wc -l)]> "

To permanently add this, you can open the .bashrc file  and add the flowing line:

nano ~/.bashrc
PS1="\u@\h [\$(pwd):$(ls -F |grep -v / | wc -l)]> "
  1. Linux Bashrc: High-Performance Simple Prompt

High-Performance Simple Prompt
If you want something that packs lots of information without slowing down your computer, you can use this prompt.

Code:

PS1='[$(date +"%a %b %d | %T")] -> \w$'
  1. Linux Bashrc: The Rob Prompt

the rob prompts

 

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

Code:

PS1='[$(wc -l < .bash_history)][\u: \w]$'

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.

Usecase: 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.

Also Read: Best Linux Server Monitor Tools & Softwares

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:

alias

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.

So far, we have discussed multiple ways you can benefit from using the .bashrc file in Linux. Now we can get familiar with the steps you need to take for opening bashrc and saving a file, guiding you to use the most out of Linux bashrc.

Also Read : What is Netcat Listener and how to use it?

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 for Aliases file

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.

After that, 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]

In addition to using bashrc for various prompts, you may need to know how to modify the .bashrc files, which we will explain in the following.

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.

Remember that any changes you make to .bashrc will apply next time you launch the terminal. 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 mind that edits in .bashrc must follow bash’s scripting format. If you do not know how to script with bash command, then use online resources.

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.

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

Final thoughts: Linux bashrc               

This article gave you a brief description of Linux bashrc and how you can utilize it. Of course, there is more to know about this topic, the limitation of .bashrc is your imagination or coding skills, but with our quick and easy-to-use guidelines, you should be able to do all the basic things we have mentioned about .bashrc. Additionally, you can use our Linux VPS solutions to help you get the best experience in using Linux. Our KVM-powered Linux VPS plans are designed to give you multiple benefits, including significant bandwidth, guaranteed uptime (99.95%), ultrafast SSD storage, reliable connection, and 24/7 technical support, among other advantages. So do not delay this further and get a cheap Linux VPS at $7.95. If you have any further questions we did not cover, leave us a comment, and we will try to write back as soon as possible!

FAQ

What is .bashrc file?

A bashrc file is a shell script that Bash executes whenever it is initiated. The bashrc helps specify how your command-line interface (CLI) or Terminal app looks and acts, Along with setting in the OS.

What is a bash_profile in Linux?

bash_profile is used to customize the user configuration settings and is a file, mostly hidden, located in the home directory. Additionally, bash_profile files are configuration scripts that include variable specifications, export variables, and login commands like mail or news search.

Why is it called bashrc?

In bashrc, the term rc stands for the phrase “run commands”.

Where is bash_profile in Linux?

bash_profile is located under every user home directory in which every user may have different bash configurations.

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

Comments

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

  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 Comment

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


Latest Posts