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

13 Comments

Reading Time: 8 minutes

what is linux bashrc
you are a user of Linux and want to work with Linux bashrc and its command-line? but do you know what is that? bashrc is one of the hidden files in the home directory of the Linux operating system but how about bash_profile? are you familiar with it? do you know what is the differences between Linux bashrc and bash_profile? In this article, we will speak about that.

 

Introduction to Basic Definitions of Linux bashrc by Routerhosting

By default, Linux hides very sensitive files. One of them is bashrc located in the home directory of the Linux operating system. In this article, we will speak about that.

You are a Linux user and working on a command line? You surely know bash in Linux. Bash is an acronym for Bourne Again Shell. This is one of the most popular Linux shells located in the home directory of Linux. By typing any entry in the terminal program, bashrc helps you to run commands.

linux bashrc

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:

Linux VPS Hosting

Get yourself an economy or premium Linux VPS for hosting your website or remote desktop, at the cheapest price out there. VPS Running on Linux KVM for increased efficiency and working on powerful hardware with NVMe SSD storage for increased speed.

Check Out Linux VPS Plans
Linux VPS Hosting

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 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 referred to as the shell. As was mentioned, bash is the most common type of shell for Linux and suitable for writing scripts on different versions of Linux.

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 launching, 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.

What Can You Do With .bashrc Files?

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

bashprompts-informant

 

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

bashprompts-7

 

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[34;1m]j[e[30;1m])-([e[34;1m]@
d[e[30;1m])->[e[30;1m]n[16]m[17]-
([[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

morebashprompts-minimal

 

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

Code:

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

5. The Rob Prompt

morebashprompts-robs

 

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

Code:

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. One of the most frequently used aliases is ll which will 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:

 

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 VPS Hosting

Get yourself an economy or premium Linux VPS for hosting your website or remote desktop, at the cheapest price out there. VPS Running on Linux KVM for increased efficiency and working on powerful hardware with NVMe SSD storage for increased speed.

Check Out Linux VPS Plans
Linux VPS Hosting

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.

Linux VPS Hosting

Get yourself an economy or premium Linux VPS for hosting your website or remote desktop, at the cheapest price out there. VPS Running on Linux KVM for increased efficiency and working on powerful hardware with NVMe SSD storage for increased speed.

Check Out Linux VPS Plans
Linux VPS Hosting

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.

14
4

Comments

Leave A Comment

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

  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

  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

Leave a Reply

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