Category

Programming Tutorials and Coding Guides

Explore programming tutorials with practical examples across multiple languages, scripting, and development concepts for beginners and advanced users.

Welcome to the Programming tutorials section, where you will learn coding concepts with real-world examples across multiple languages and platforms.

This category includes beginner to advanced guides covering scripting, automation, and application development in Java, JavaScript, Python, Go, TypeScript, and related stacks.

Whether you are learning programming for system administration or building applications, browse the articles below for practical examples and language-specific references.

Programming plays a crucial role in modern infrastructure and DevOps workflows. You can also explore DevOps and Linux to see how code integrates with system-level operations.

956 articles

Programming category illustration with code editor, automation, and debugging graphics
programming

Shell script parallel execution: Bash background jobs and exit status

Shell script parallel execution in Bash: background jobs, wait, and per-PID exit codes. Bash parallelize for loop, parallel shell patterns, and how to run a script on Linux before scaling out.

Deepak Prasad4 min read
programming

JavaScript Exponentiation: ** Operator vs Math.pow (BigInt, precedence, edge cases)

Exponentiation in JavaScript with the ** power operator and Math.pow: numbers, BigInt, right-associativity, unary minus precedence, NaN ** 0, **= compound assignment, and when to prefer Math.pow on older engines. Each …

Olorunfemi Akinlua5 min read
programming

Golang Zap logger: Logger vs SugaredLogger, levels, and request IDs

Zap logger and zap logging with go.uber.org/zap, zap sugaredlogger and sugaredlogger vs Logger, golang zap and zap golang structured fields, zap request id with With or Infow, golang zap logger setup, levels, and …

Antony Shikubu3 min read
programming

Linux login history: view SSH logins, auth logs, and check attempts

Linux login history: view and check login history, login logs, and Linux SSH login history via last, wtmp, auth.log or /var/log/secure, and journalctl. Optional script to summarize successful and failed SSH attempts.

Deepak Prasad6 min read
programming

Grep word after match; awk print after match (Linux)

Grep word after match, grep everything after match, grep characters after match, grep next line after match, and awk print after match on Linux (GNU grep -P with \K, -A, match/substr). Brief patterns for the word before …

Deepak Prasad4 min read
programming

Bash measure time of command and script (execution time, elapsed time)

Bash: measure time of a command, script execution time, and elapsed time (wall clock vs CPU). Use the time builtin, TIMEFORMAT, SECONDS, or EPOCHREALTIME; print duration on exit with trap.

Deepak Prasad3 min read
programming

Bash get script name, path, and directory (get script dir reliably)

Bash get script name, get current script name, get script path, and get script directory (script dir). Use $0, basename, BASH_SOURCE[0], dirname, cd+pwd, and readlink -f on Linux; handle sourced scripts safely.

Deepak Prasad4 min read
programming

Linux: find duplicate files by hash, list them, and remove duplicates safely

Use find with sha256sum (or md5sum) to list identical files on Linux, group by hash, then delete duplicate copies interactively or after a dry-run—plus how “duplicate by name” differs from same content.

Deepak Prasad4 min read
programming

What `echo` does in Linux, what `echo -n` is, and `echo` vs newlines (`\n`)

What echo does on Linux, the echo -n flag (no trailing newline), why echo n is not echo -n, how echo -e handles backslash escapes like \n, and when to use printf instead.

Omer Cakmak3 min read
programming

Bash remove from array: one element, first item, duplicates, and subtract another array

Bash patterns to remove an element from an array, drop the first item, dedupe (bash array remove duplicates), and subtract all values of one array from another using loops or an associative map.

Deepak Prasad4 min read
programming

Bulk create Linux users from a file (`useradd`, passwords, Ubuntu onboarding)

Onboarding-style Bash: read usernames from a file, create multiple Linux users with useradd, optional custom shell and home under /home, per-user passwords with chpasswd, force change on first login, and test with su or …

Deepak Prasad4 min read
programming

Bash progress bar: text bar, script implementation, `pv`, and `dialog`

Build a bash progress bar and bash loading bar in the terminal with carriage return redraws, reusable functions, multi-step jobs, plus pv for pipe byte counts and dialog for a gauge widget.

Deepak Prasad4 min read
programming

Bash counter: loop counters, increment patterns, and script counters (`for`, `while`)

Bash counter patterns: C-style for loop counter, bash while loop counter, increment with (( )) and let, bash for count over a list, and a small script counter over files—plus links to deeper increment and loop guides.

Omer Cakmak3 min read
programming

Bash / Linux: count string or word occurrences in a file (`grep`, `wc`, `awk`)

Count how many times a word or substring appears in a file, count lines and words with wc, whole-word matches with grep -E, and build a frequency table with awk or sort/uniq.

Deepak Prasad5 min read
programming

Linux: top memory and CPU consuming processes (ps, sar, scripts, metrics file)

Find top CPU and memory consuming processes on Linux with ps, top, sar, and pidstat; sample output after controlled stress; Bash scripts that append metrics to a file and ideas for email alerts.

Deepak Prasad5 min read
programming

Bash: check if a string contains text, digits, or a prefix (`[[ ]]`, globs, regex)

Bash patterns to see if a string contains a substring or character, if it is only digits, if it starts with a prefix, and how [[ =~ ]] and globs differ— with quoting, empty-string gotchas, and a short locale note.

Deepak Prasad4 min read
programming

Bash / Linux: check if a process or script is already running (PID, pidof, flock)

Linux and Bash ways to check if a process is running, if a PID still exists, and how to stop a second copy of the same shell script—using kill -0, pidof, pgrep, and flock with sane lock files and cleanup.

Deepak Prasad4 min read
programming

Bash while loop: syntax, `while true`, `read`, `break`, and “do while” in Bash

Bash while loops: `while`/`do`/`done`, any command as the condition, `while true` with `break` and `continue`, `while read` over files, do-while style with `while true`, nested loops, and `break` vs `exit`.

Deepak Prasad6 min read
programming

Bash script arguments and parameters: `$1`, `$#`, `shift`, and parsing flags

Bash script arguments and bash script parameters with $0–$9, $#, "$@", shift, and a while/case example; missing-flag values, $# checks, and links to getopts and forwarding all args.

Deepak Prasad4 min read
programming

Bash check if file exists: [[ -f ]], test, symlinks, and Linux examples

Bash check if file exists with [[ -f ]], test -e, and [ ]; bash if file exists patterns with if/else; symlinks and broken links; check if file exists on Linux with find and stat; quoting, exit codes, and pitfalls.

Deepak Prasad8 min read
programming

Bash trap Ctrl+C (SIGINT): catch, ignore, and cleanup with `trap`

Bash trap Ctrl+C (SIGINT): linux ctrl c signal basics, trap INT and trap ctrl-c patterns, ignore with trap empty string, EXIT cleanup, quoting pitfalls, and subshell vs child-process behavior.

Omer Cakmak4 min read
programming

Bashrc vs bash_profile: login vs non-login shells, .profile, and /etc/skel

Bashrc vs bash_profile and profile vs bashrc: when Bash reads ~/.bashrc, ~/.bash_profile, and ~/.profile on login and new terminals, Debian vs Red Hat patterns, and what /etc/skel ships for new users.

Deepak Prasad5 min read
programming

Bash until vs while loop: exit codes, same counter, and when to pick each

Bash until vs while using exit status: bash until loop runs while a command fails, while loop bash runs while it succeeds. Examples for counters, wait until ready, and while read line-by-line.

Deepak Prasad4 min read
programming

Bash script multiple arguments: all args, functions, another script, and `typeset -f` over SSH

Bash multiple arguments with positional parameters, bash pass all arguments via "$@", bash pass multiple arguments to a function, forwarding to another script, and bash pass function over SSH with typeset -f or declare …

Deepak Prasad4 min read
programming

Bash increment variable: add 1, counters, loops, and `(( ))` vs `$(( ))`

Bash increment variable and bash add 1 to variable with $(( )), ((++)), bash increment variable in loop (for/while), bash increment counter patterns, let, and post vs pre-increment pitfalls.

Deepak Prasad4 min read
programming

Bash if else and elif: if then else, conditions, and `[[` vs `[`

Bash if else and bash if then else with elif chains, if else in bash shell scripts, combining conditions, nested if, exit-status semantics, and [[ ]] vs [ ] with links to string and number comparisons.

Deepak Prasad4 min read
programming

Bash getopts: optstring, OPTIND, leading colon, and getopt vs getopts

Bash getopts tutorial: optstring, OPTARG, OPTIND, opterr, bash getopts leading colon behavior for missing option arguments vs invalid options, bash getopts example scripts, shift after parsing, and getopt bash vs getopts …

Deepak Prasad8 min read
programming

Bash function: define, call, arguments, `local`, and `return`

Bash define function with name() or function keyword, bash function example calls, bash script function arguments ($1, $@), local vs global variables, return exit codes, and capturing output.

Deepak Prasad4 min read
programming

Bash for loop: list form, C-style `(( ))`, arrays, break, and continue

Bash for loop and for loop in bash: iterate words, arrays with "${a[@]}", C-style for ((i=0;i

Deepak Prasad5 min read
programming

Bash concatenate strings: join, append (`+=`), separators, and newlines

Bash concatenate strings and bash string concat with ${a}${b}, bash append to string using +=, join strings with separators, brace pitfalls (${var}_), loops, newlines, and printf-based joining.

Deepak Prasad3 min read