Help Docs Server Administration Linux Server Administration Getting Started with Linux Bash

Getting Started with Linux Bash

Bash is a command-line interpreter for Linux. Use it to interact with your system via text commands. Learn the basics here!

What is Bash?

Bash is the command-line interpreter that is commonly used on Linux operating systems. It allows you to interact with the operating system by typing commands. This article will introduce you to the basics of Bash, including the prompt, special characters, redirection, command forms, and some example commands.

Bash, which stands for Bourne Again SHell, is a powerful tool that allows you to control your Linux system through text-based commands. It’s more than just a way to run programs; it’s a scripting language that enables you to automate tasks and manage your server efficiently.

Understanding the Bash Prompt

When you open a terminal in Linux, you’ll typically see a prompt. This prompt indicates that Bash is ready to accept your commands. A common format for the prompt looks something like this:

username@hostname:current_directory$ 

Let’s break down each part:

  • username : This is your current username on the system.
  • @ : This symbol separates the username from the hostname.
  • hostname : This is the name of your computer or server.
  • : : This colon separates the hostname from the current directory.
  • current_directory : This shows the directory you are currently working in. ~ usually represents your home directory.
  • $ : This symbol indicates that you are logged in as a regular user. If you were logged in as the root user, you would typically see a # instead.

Special Characters in Bash

Bash uses several special characters that have specific meanings. Here are a few common ones:

example:
$grep example file*.txt
  • * : The asterisk is a wildcard that matches any sequence of characters (or no characters). For example, ls *.txt would list all files ending with .txt.
  • ? : The question mark is a wildcard that matches any single character. For example, ls file?.txt would match file1.txt, filea.txt, etc.
  • [] : Square brackets define a character set. For example, ls file[1-3].txt would match file1.txt, file2.txt, and file3.txt.
  • | : The pipe symbol sends the output of one command to the input of another. For example, ls -l | grep ".txt" lists all files in detail and then filters the output to show only lines containing “.txt”.
  • > : The greater-than symbol redirects the output of a command to a file, overwriting the file if it exists. For example, ls > files.txt saves the list of files to files.txt.
  • >> : The double greater-than symbol also redirects output to a file, but it appends the output to the end of the file instead of overwriting it.

Redirection

Redirection allows you to control where the input and output of a command go. Here are the common forms of redirection:

command > file
  • < file : Redirects the input of a command to come from file.
  • > file : Redirects the standard output of a command to file, overwriting it.
  • >> file : Redirects the standard output of a command to file, appending to it.
  • 2> file : Redirects the standard error of a command to file, overwriting it.
  • 2>> file : Redirects the standard error of a command to file, appending to it.
  • &> file : Redirects both the standard output and standard error of a command to file, overwriting it.

Command Structure

Most Bash commands follow a basic structure:

command [options] [arguments]

Where:

  • command : The name of the program you want to run (e.g., ls, cd, mkdir).
  • [options] : Flags that modify the behavior of the command (usually start with a hyphen, e.g., -l, -a). Options are often optional.
  • [arguments] : The targets of the command (e.g., filenames, directory names). Arguments are sometimes required.

Example Commands

Here are a few basic example commands to get you started:

  • ls : Lists the files and directories in the current directory.
  • ls -l : Lists the files and directories in a long format, providing more details.
  • cd directory_name : Changes the current directory to directory_name.
  • cd .. : Moves up one directory level.
  • pwd : Prints the current working directory.
  • mkdir new_directory : Creates a new directory named new_directory.
  • rm filename : Deletes the file named filename (use with caution!).
  • cat filename : Displays the contents of the file named filename.
  • vim filename : Open the file for editing using the vim editor.

This is just the beginning of what you can do with Bash. As you continue to explore, you’ll discover its power and flexibility in managing your Linux environment.

Was this article helpful?