How to Fix Low Disk Space Issues on Ubuntu Linux
Linux users frequently encounter the terminal as one of the core working environments.
The program that interprets and executes the commands entered in the terminal is called a shell.
Among the many types of shells available, bash (Bourne Again Shell) is the most widely used.
Bash goes beyond simply executing commands; it provides a powerful interface that allows users to efficiently control the system and automate repetitive tasks.
A shell is a program that acts as an intermediary between the user and the operating system kernel.
It interprets user commands, passes them to the kernel, and then displays the results back to the user.
A simplified structure of a Linux system looks like this:
Hardware
Kernel
Shell
User
In this structure, the shell is the primary interface through which users interact with the operating system.
Even in graphical desktop environments, many core operations are ultimately handled through a shell.
Bash is an extended version of the original Bourne Shell (sh).
Its name stands for “Bourne Again Shell”, indicating that it builds upon the original Bourne Shell while adding many modern features.
Bash has become the de facto standard shell for several reasons:
It is the default shell on most Linux distributions
It provides powerful scripting capabilities
It supports command history and tab completion
It offers strong compatibility and stability
Distributions such as Ubuntu, Debian, and Raspberry Pi OS use bash as the default login shell.
Bash performs several important functions beyond simply running commands.
Bash reads and interprets commands entered by the user.
ls
pwd
date
These commands are processed by bash, sent to the kernel, and their results are displayed in the terminal.
![]() |
| pwd command |
![]() |
| date command |
Bash provides an environment for running external programs.
Most Linux commands are executable files, and bash is responsible for locating and running them.
With bash scripts, users can automate repetitive tasks such as system maintenance, backups, and log processing.
A common point of confusion for beginners is the difference between the terminal and bash.
Terminal: A program or window that handles input and output
Bash: The shell program running inside the terminal
In simple terms, the terminal is the container, and bash is the engine inside it.
When a command is entered, bash follows these steps:
The user enters a command
Bash parses and interprets the command
It determines whether the command is built-in or external
It searches for the executable using the PATH environment variable
The program is executed
The result is displayed
This entire process happens almost instantly and transparently to the user.
Bash commands are generally divided into two categories.
These are commands built directly into bash.
Examples:
cd
echo
exit
history
They are executed internally without calling an external file.
![]() |
| history command |
These commands exist as executable files on the system.
Examples:
ls
cp
mv
cat
They are typically located in directories such as /bin or /usr/bin, and bash searches for them when executing commands.
![]() |
| ls command |
Bash uses environment variables to control system behavior and user environments.
Common environment variables include:
PATH – Directories searched for executable files
HOME – User’s home directory
USER – Current user name
SHELL – Current shell program
Environment variables remain active during a bash session and play a key role in system configuration.
![]() |
| /etc/profile |
When you open a terminal, you typically see a prompt like this:
user@hostname:~$
This prompt contains useful information:
User name
System (host) name
Current directory
Privilege indicator
The $ symbol indicates a regular user, while # indicates administrator (root) privileges.
Bash allows commands to be saved in a file and executed as a script.
Bash scripts have the following characteristics:
Plain text files
Commands executed sequentially
Support for conditionals and loops
Useful for automation
Because of this functionality, bash can be used not only as a shell but also as a lightweight scripting language.
Understanding bash provides several advantages:
Improved understanding of Linux system structure
Better system and server management skills
Ability to automate repetitive tasks
Greater adaptability to development and operations environments
For users working with Linux, Ubuntu, or Raspberry Pi systems, bash is a foundational skill rather than an optional one.
Bash is the core shell of the Linux environment and helps users understand how the operating system works.
At first, it may seem like a simple command-line tool, but as you learn its structure and concepts, you begin to see how deeply it is connected to system behavior.
By understanding the basic concepts of bash, topics such as file management, permission settings, server administration, and automation become much easier to grasp.