Understanding the .bashrc File in Linux: A Comprehensive Guide


Ask Linux power users, and you’ll find they prefer working in a shell rather than a GUI.

Command line shells are fast; users can perform all operations by entering relevant commands. Technically, shells are powerful tools that can be used to automate tasks, manage files, and control the operating system.

This blog aims to provide a comprehensive guide to understanding the .bashrc file, its purpose, and how you can use it to personalize your Linux shell environment.

Let’s start with a short overview of the .bashrc file and then see how you can access and modify it to streamline your experience.

Table of content

  1. Introducing .bashrc File
  2. Prerequisites
  3. Access the .bashrc File
  4. View the Contents of the .bashrc File
  5. Editing the .bashrc File
  6. Conclusion
  7. FAQs

Introducing .bashrc File

In the Linux operating system, the .bashrc file holds special significance.

It plays a crucial role in customizing and enhancing the behavior of the Bash shell, the default command-line interpreter for most Linux distributions.

It is a text file executed every time a Bash shell is started. You can use the .bashrc file to set environment variables, define aliases, and source other shell scripts. It is a great way to customize your Bash shell and make it work how you want it to.

Here are some of the things that you can do in the .bashrc file:

  • Set environment variables, such as the path to your home directory or your favorite editor.
  • Define aliases, which are shortcuts for commands.
  • Source other shell scripts, which can be used to load additional functionality into your Bash shell.

Let’s now move toward the practical side of things and see how we can access and modify the content of this file.

Prerequisites for Modifying .bashrc File

Before you start working with the .bashrc file, you need the following:

  • Working knowledge of Linux and shell scripting.
  • Familiarity with a text editor (We’ll use Vim for demonstration, but you can use your preferred text editor).
  • Proper user privileges (Ideally, a non-root account with sudo access).

Access the .bashrc File

The first thing you need to do is access the file. The .bashrc file is hidden, so it won’t be visible when you use the simple “ls” command to list the files.

To view hidden files, you can use the -a option with the ls command:

# ls -a

Access the .bashrc File

You can find the .bashrc file listed in the first column.

View the Contents of the .bashrc File

Now that you know how to get the file, the next step is to view the contents of the .bashrc file. For this, use the cat command:

# cat .bashrc

View the Contents of the .bashrc File

Editing the .bashrc File

Now we come to the exciting part – modifying the contents of the .bashrc file to achieve the desired output. Here’re a few examples of how you can edit the .bashrc file:

Define Functions in .bashrc File

You can define functions in the .bashrc file that can handle repetitive tasks. These functions can be as basic as a set of fundamental commands or advanced enough to get and pass arguments from the command line.

To illustrate, let’s create a function that provides a more descriptive representation of the current date.

To begin, access the .bashrc file for editing purposes.

You have the option to use either the vi or nano text editor for editing files. If you don’t have the Vim editor installed, you can install it by running the command. 

# apt install vim

Once the installation finishes, open the file in Vim using the following command. 

# vim .bashrc

Editing the .bashrc File

Press “i” or Insert on the keyboard to initiate the editing process. 

Add the following code to the end of the file.



    echo This is a `date +"%A %d in %B of %Y (%r)"` return


Press Esc + colon (:) + wq to save and exit VIM. Press Enter to finalize and save the changes. 

To apply the changes to the bash shell, you can either relaunch the terminal or use the following command:

# source .bashrc

To run the function, simply call it from the command line: 

# today

bashrc # today

Defining Aliases in .bashrc File

Aliases are alternative names for a command. They are typically used as shortcuts to more extended commands. The .bashrc file already includes a predefined set of aliases.

Defining Aliases in .bashrc File

So, if you frequently use a particular alias, you can save it in the .bashrc file instead of defining it every time you open the terminal.

For example, you can replace the “whoami” command with the following line of code.

alias wmi='whoami'

Don’t forget to save the edit and reload the terminal settings with the source command.

Now you can enter wmi at the command line, and the terminal will run it as a whoami.

alias wmi='whoami'


As you learned, the .bashrc file in Linux is a hidden configuration file that allows users to customize their shell environment. Users can enhance productivity and personalize their command-line experience by defining functions and aliases. Editing the .bashrc file is a way to optimize workflow and create a more efficient Linux environment.

At RedSwitches, our support engineers help customers manage their Linux-based servers. Our support is available round-the-clock and proactively resolves your issues on priority. 

Contact us now to learn more. 


Q-1) What is the purpose of the .bashrc file in Linux?

  The .bashrc file is used to customize the shell environment in Linux. It allows users to define functions and         aliases and customize their command-line experience.

Q-2) Where is the .bashrc file located?

The .bashrc file is located in the user’s home directory. It is a hidden file, so you may need to enable the display of hidden files to see it.

Q-3) How can I edit the .bashrc file?

You can edit the .bashrc file using a text editor of your choice, such as Nano or Vi. Open the file in the editor, make the desired changes, and save the file.

Q-4) Do I need to restart the terminal after editing the .bashrc file?

To reflect the changes made in the .bashrc file, you can restart the terminal or use the “source” command to reload the file without closing the terminal session.

Q-5) Can I define my functions and aliases in the .bashrc file?

Yes, you can define your functions and aliases in the .bashrc file. This allows you to create shortcuts for frequently used commands or customize your shell environment according to your preferences.