What is bashrc in Linux

What is bashrc in Linux?

The hidden .bashrc configuration file in Linux is your personal shell concierge.

It runs commands when you open a terminal, letting you be creative and set aliases for shortcuts, define functions to automate tasks and customize your prompt for a more efficient and personalized command line experience.

This Bash shell initializes an interactive shell session and acts as a personal assistant for your command line.

The .bashrc lets you personalize your Bash shell experience and become a more efficient command line pro.

Understanding .bashrc in Linux

The bashrc stands for “Bourne Again SHell RC”, referencing the Bash shell’s origins and configuration file.

This hidden file (indicated by the leading dot) acts like a startup script for your terminal.

It runs invisibly behind the scenes whenever you launch a new interactive shell session.

You can’t directly execute the .bashrc file, but the magic happens automatically when you open a new terminal window or tab.

However, you can edit the file’s contents to add your customizations.

This lets you create aliases for frequently used commands (saving you precious keystrokes!), define functions to automate repetitive tasks, and even change how your terminal prompt looks.

What is .bashrc file used for?

The .bashrc file is a configuration file specifically for the Bash shell in Linux.

It is like a secret recipe for your Bash shell, the program that interprets your commands and runs whenever you open a new interactive terminal session.

Inside this file, you can define customizations like:

Aliases (Shortcuts for Commands)

In .bashrc, you can define shortcuts for those cumbersome commands, turning them into snappy one-word wonders.

Think of all those commands you use repeatedly. Maybe you like to see hidden files too, so you often use ls -la.

You can create an alias like la='ls -la‘ for a one-stop shop to view all files.

Functions (Reusable sets of Commands)

The .bashrc lets you create functions, like mini-programs within your terminal.

Bundle those commands together and give them a catchy name, then call upon them with a single word whenever you need that task done.

Prompt settings (How your terminal prompt looks)

The .bashrc can spruce your default terminal up.

You can define how your prompt looks, adding things like the current directory, username, or even fancy colors to personalize your workspace.

In this way, you can have a prompt that reflects your style.

Where Is Bashrc File Located in Linux?

The .bashrc file resides in a familiar location on your Linux system:  your home directory.

This makes sense since the customizations within .bashrc are specific to your user account and preferences.

While the exact file path might appear cryptic (it starts with a dot, which can hide files in Linux), remember it’s just a standard location for most distributions.

Linux’s hidden .bashrc file personalizes your Bash shell experience.

It runs on new terminal launches, letting you define shortcuts and automate tasks for a more efficient workflow.

Since .bashrc is a hidden file, it is not shown by the ls command in Linux.

You can use the command below to show the hidden file:

$ ls -a

How does the .bashrc file Work in Linux?

The.bashrc file lets you add different features, shortcuts, and aesthetic adjustments to the shell environment.

Understanding the contents and purpose of the.bashrc file enhances the ability to use the command line and understand the Bash shell.

Every time you open a new terminal window, .bashrc gets read, quietly setting up your environment just how you like it.

It is your personalized cheat sheet, aliases for frequently used commands, fancy colored prompts, or even custom functions to automate repetitive tasks.

Editing .bashrc requires a sprinkle of caution, as typos can lead to unexpected behavior in your terminal.

How to edit and use .bashrc in Linux? [Practical Examples]

When a user launches a new interactive shell, the .bashrc file will run.

The .bashrc file lets you customize how your terminal looks and feels, making it an even more powerful tool.

Using the .bashrc file enables Linux users to configure the terminal and add new functionalities.

To edit the .bashrc file and customize it, follow the below steps:

  • Open your terminal and use your preferred editor to run the following command:
nano ~/.bashrc

Alternatively, you can use your file manager to find the hidden .bashrc file in your home directory (usually denoted by “~”).

  • Since the .bashrc file might have some pre-written stuff, you can add aliases (Speedy Shortcuts):

For example, to make “ls -l” shorter, you can write:

alias ll="ls -l"

To see a detailed listing of files, just type “ll

Also, you can craft an alias to open your favorite directory with a single keystroke:

alias projects="cd ~/Development/Projects"
  • To automate repetitive tasks, build mini-programs called functions:

For example, to greet you by name:

greet() {
  echo "Hello, Opera!"

Every time you type “greet” and hit Enter, a customized greeting will appear.

It is now time to save your customizations after you have added them. Use Ctrl+O to save and Ctrl+X to leave nano.

Since the changes won’t show up right away (but are permanent), run the command below to activate them:

source ~/.bashrc
  • To show the current directory, username, or even the time, you can use a Prompt with personality and get rid of the default terminal prompt:
PS1="\h:\w\$ "  # Hostname, current directory, and $ for commands
  • Navigate directories like a pro. Use colored Prompt and Autocompletion:

To do this, enable colored prompts to visually distinguish between file types and directories.

For example, to change the color of your shell prompt:

Make sure you have a backup of your current .bashrc file before attempting.

Run the following command to copy the .bashrc file into temp:

cp ~/.bashrc /tmp

To add an entry for your new considered colors, open your .bashrc file:

nano ~/.bashrc
LS_COLORS=$LS_COLORS:'di=1;33:' ; export LS_COLORS

In this command, “di” indicates that the directory color is being changed, while “1;33” indicates that the color is yellow.

You can also configure autocompletion to suggest file and directory names as you type, making your exploration a breeze!

A well-configured bashrc can significantly boost your terminal workflow.

For those working with intricate aliases or running resource-intensive functions, a powerful Linux VPS can provide the processing muscle to handle everything smoothly.

Additional Notes:

  • You can set your prompt to display specific items, such as your login and current directory.
  • It can be helpful to add folders to your PATH, but proceed with caution, as this changes the location of the programs your terminal searches for.
  • Consider that typos can cause weird things to happen in your terminal.
  • For any reason, if you need to restore the backup, type the cp ~/.bashrc.bak ~/.bashrc command to return the original .bashrc file.

Are there any risks involved in editing .bashrc?

Yes, there is a slight risk. Typos or errors in the .bashrc file can lead to unexpected behavior in your terminal.

Make sure you understand what you’re modifying before saving your changes.

Why .bashrc Not Working?

If the .bashrc customizations aren’t taking effect, it might not be working anymore.

This could be due to errors in the syntax, permission issues with the file, or conflicts with other shell configurations.

Try resetting .bashrc to troubleshoot it.

Linux .bashrc vs .profile

The .bashrc and .profile are both work behind the scenes to comfy and efficient the terminal experience comfortable and personalize your experience, but in slightly different ways.

Whenever you open a new terminal window, .bashrc springs into action. It sets up any custom shortcuts (aliases) you’ve defined, like turning “ls -l”.

It can also remember little mini-programs (functions) you’ve created, so you don’t have to type them out every time.

The .profile takes care of things you need every time you log in to your Linux environment, not just when you open a new terminal window.

This could include setting environment variables (like your preferred text editor) or running specific startup scripts to get things up and running smoothly.

Key Differences between .bash and .profile

Timing: .bashrc activates for each new terminal window, while .profile runs only once upon login.

Content: .bashrc focuses on customizations for your interactive shell session (like aliases and functions) .profile deals with more general login configurations.

Analogy in Action: As a web developer, you might create an alias in your .bashrc to quickly run a local web server.

In your .profile, you could set up an environment variable to specify the path to your favorite code editor.

When to use .bashrc instead of .profile?

Both .bashrc and .profile are powerful tools for personalizing your Linux experience. So, you can use .bashrc for quick, session-specific tweaks.

For general login configurations that apply every time you log in, use .profile.

How to execute bashrc file?

There are two main ways to execute the .bashrc file. Both methods require you to edit and save the .bashrc file beforehand.

Refresh Now: Use the source ~/.bashrc command in your terminal.

This tells your current session to re-read the .bashrc file, applying your customizations right away.

New Terminal Window: Simply close your current terminal window and open a new one.

This new session automatically reads the .bashrc file during startup, incorporating your tweaks.


The command centers of Linux are called shells, and they put a ton of power at your fingers.

The .bash_profile and .bashrc hidden files function as your custom tweak kits for the Bash shell.

With the help of these configuration files, you can customize your shell to become a workspace that is ideal for your productivity.

Leave a Reply

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