Bash
Bash scripting, shell fundamentals, automation patterns, and common pitfalls.
history Command in Linux: View and Manage Bash History
Use the history command in Linux to view, search, and clean up Bash command history. Covers expansions, HISTSIZE, HISTIGNORE, and security tips.

Bash until Loop
Repeat commands until a condition becomes true with the Bash until loop. Includes syntax, practical examples, and comparisons with the while loop.

How to Check if a File or Directory Exists in Bash
This guide explains how to check if a file or directory exists in Bash using test and if statements, with clear examples for common file checks.

cd Command in Linux: Change Directories
Change directories in Linux with cd, covering absolute and relative paths, home and parent shortcuts, symbolic links, CDPATH, and common errors.

Bash Positional Arguments: How to Use $1, $2, $@, and shift
Learn how Bash positional arguments work, including $0, $1, $#, "$@", "$*", shift, default values, and function arguments in scripts.

How to Parse Command-Line Options in Bash with getopts
Parse short options in Bash scripts with getopts: option strings, OPTARG and OPTIND, silent error handling, long-option workarounds, and complete script examples.

export Command in Linux: Set Bash Environment Variables
Use export to turn Bash shell variables into environment variables that child processes inherit, list exported variables, and make them permanent across sessions.

What Is stdin, stdout, and stderr in Linux
stdin, stdout, and stderr are Linux's three standard streams. See how file descriptors 0, 1, and 2 connect commands to terminals, files, and pipes.

How to Set Environment Variables in Linux
Set, list, and make environment variables permanent in Linux. Covers shell vs environment variables, export, printenv, and persistent config in ~/.bashrc and /etc/profile.

How to Read a File Line By Line in Bash
Read a file line by line in Bash using a while loop and the read command. This guide covers IFS splitting, mapfile arrays, command output, and common pitfalls.

Bash Parameter Expansion: Defaults, Substrings, and Replacement
Bash parameter expansion handles default values, substrings, string length, pattern trimming, search and replace, and case conversion, all inside the shell.

How to Concatenate Strings in Bash
Concatenate strings in Bash by placing variables side by side, appending with the += operator, or formatting with printf -v. Includes examples for variables, literals, and command output.

Bash if...else Statement
A complete guide to Bash if, if...else, and if...elif...else statements with practical examples, test operators, and one-line syntax.

Bash case Statement: Match Patterns in Shell Scripts
The Bash case statement matches a value against a list of patterns and runs the corresponding block. This guide explains argument parsing, syntax, glob patterns, multiple matches, and fall-through behavior.

Linux Wildcards and Globbing Explained
How shell wildcards and globbing work in Linux: the *, ?, and [...] patterns, brace expansion, why globbing is not regex, and how to control it with quoting.

Bash Comparison Operators
Bash comparison operators compare numbers and strings with [ ], [[ ]], and (( )), including equal, not equal, greater-than, and pattern checks.

How to Check if a Command Exists in Bash
Check whether a command exists in Bash with command -v, capture its path, validate several dependencies, and compare type, hash, and which.

Bash Exit Command and Exit Codes
The Bash exit command terminates a shell or script and returns an exit code. This guide covers exit status, the $? variable, exit code conventions, set -e, and practical script examples.

Bash Subshells: Isolate Variables and Directory Changes
Bash subshells run commands in an isolated shell environment. This guide explains parentheses, variable scope, directory changes, command substitution, pipelines, and exit codes.

Linux Pipes Explained: How to Use the | Operator
Linux pipes connect command output to another command's input. Learn the | operator, pipefail, stderr piping, xargs, named pipes, and process substitution.
