What is Bash and how does it differ from the Linux terminal?
Published on 2026-10-20 by frfrand
Bash explicado desde cero: shell, terminal, comandos, pipes, scripts, variables y errores que conviene evitar en un servidor.

Bash is a shell: a program that interprets commands and allows you to control the operating system by typing commands. Its name comes from Bourne-Again Shell. In Linux it is used both for interactive work and for automating tasks through scripts.
The common confusion is thinking that Bash and the terminal are the same thing. They are not: the terminal is the interface where you type and see results; Bash is one of the programs that can interpret what you type.
The counter example
Imagine a cafeteria. The counter is where you place your order; whoever understands the order and transmits it to the kitchen performs another function. The terminal would be the counter and the shell would be the interpreter that processes your instructions.
This explains why you can change the terminal application without changing Bash, or use another shell like Zsh or Fish in the same terminal.
What can I do with Bash?
From a shell you can navigate folders, examine files, launch programs, combine commands, and define variables.
For example, pwd shows the current directory, ls lists files, and cd changes directory. Commands do not all work the same way: some are internal shell functions and others are external programs that are searched for in the configured paths.
Having a terminal open does not automatically grant administrator permissions. Sensitive operations remain subject to permissions and authentication.
What is a Bash script?
A script is a file that gathers instructions to execute a task. For example, if you need to prepare a folder, check a file, and record a result, you can write the steps and execute them in a repeatable way.
A simple and non-destructive example:
#!/usr/bin/env bash
echo "Preparando informe"
date
pwd
The shebang on the first line helps indicate which interpreter should execute the script in compatible environments. You can also invoke it explicitly with bash archivo.sh.
Automation saves time, but a wrong script can also repeat errors many times. That is why it is advisable to test it with sample data.
What are pipes?
A pipe connects the output of a command with the input of another using the | symbol. For example, you can filter a list of results without saving intermediate files.
It is one of the most powerful ideas in Unix-like systems: small tools can be combined to solve more complex tasks.
But be careful: not all outputs are intended to be read automatically by a program. Some tools offer structured formats that are preferable to use in stable automations.
Why do quotes matter?
Bash expands variables and interprets spaces and special characters. A file name containing spaces can end up split into several arguments if it is not properly quoted.
The difference between "$archivo" and $archivo can be important. You should also avoid building commands from untrusted text without control, especially when using tools like eval.
Do not copy scripts found on the Internet and run them as root without reading them: they can modify permissions, delete information, or install unexpected programs.
Bash vs Python: which one is better?
Bash is often useful for combining system commands, inspecting files, and automating short steps. Python may be more convenient for complex logic, data processing, and large programs.
There is no universal winner. If a Bash script starts to have many conditions and transformations that are difficult to maintain, it may be a sign that another tool is more appropriate.
What about Bash on a server?
On a Linux VPS, it is common to use Bash via SSH to review services, files, and logs. Understanding the differences between terminal, shell, and permissions helps diagnose problems without installing a graphical interface.
At ArduMaker, deployments and VPS terminals can involve system commands. Even if you automate operations from the panel, understanding Bash remains useful to know what is being executed and why.
In summary: Bash interprets commands and also serves as a scripting language. The terminal is the window; the shell is the one that understands your instructions.
Official source: GNU Bash Manual · What is the terminal.
