Author

Deepak Prasad

Deepak Prasad

R&D Engineer

at · 1797 articles published

Founder of GoLinuxCloud with 15+ years of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels across development, DevOps, networking, and security, delivering robust and efficient solutions for diverse projects.

Areas of expertise

Author profile illustration for Deepak Prasad — technical writer at GoLinuxCloud
Founder of GoLinuxCloud with 15+ years of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels across development, DevOps, networking, and security, delivering robust and efficient solutions for diverse projects.

This is page 8 of 60 listing tutorials and guides by Deepak Prasad. GoLinuxCloud publishes 1797 articles from this author on Linux administration, cloud platforms, and DevOps automation.

Articles by Deepak Prasad

security

Penetration Testing Lab Requirements: RAM, Disk, and Server Options

Plan a CompTIA PenTest+ lab as four groups instead of one giant build: start with a local VirtualBox lab, add GOAD-Light for Active Directory lessons, then cloud-native and hosted targets only when those topics appear. …

Deepak Prasad21 min read
security

Pentest Lab Setup: Kali Linux and Metasploitable 2 on VirtualBox

Build a penetration testing lab on VirtualBox: host-only network, Kali Linux attacker VM, and a Metasploitable 2 target, with DVWA running inside Kali for authorized ethical hacking practice.

Deepak Prasad14 min read
programming

Build a Bash CLI with Arguments, Validation, Tests and CI

Build a Bash command-line tool with short and long options, argument validation and predictable exit codes, then test it with Bats and automate checks in CI.

Deepak Prasad16 min read
programming

Create Linux Users from a File with Bash

Build a safe Bash bulk user creation script that reads colon-delimited records, validates usernames shells and groups, skips existing accounts, supports dry-run, and creates locked or one-time-password users without …

Deepak Prasad17 min read
programming

Bash Log Analyzer Script

Build a Bash log analyzer for Nginx Combined Log Format with one gawk pass, top IP and path reports, top user agents, 4xx and 5xx sections, byte totals, CSV export, malformed-line handling, and a sample log you can diff …

Deepak Prasad21 min read
programming

Bash Backup Script with rsync: Incremental Backups, Logging and Cron

Create an automated Bash backup script with rsync incremental snapshots, logging, retention and cron scheduling, then test that your files can be restored.

Deepak Prasad13 min read
programming

Linux System Health Check Script in Bash

Build a Bash system health check script that scores host-level CPU utilization, load averages, available memory, swap, disk space, inodes, and failed systemd units against thresholds, returns a clear exit code, and …

Deepak Prasad23 min read
programming

Bash Disk Usage Alert Script

Build a Bash disk usage alert script with df -P parsing, warning and critical thresholds, logging, state-file deduplication, recovery notifications, email and webhook hooks, synthetic fixture tests, flock overlap …

Deepak Prasad21 min read
programming

Run SSH Commands on Multiple Servers with Bash

Run SSH commands on multiple Linux servers from a Bash hosts-file loop with BatchMode, ConnectTimeout, ssh -n, exit codes, bounded parallelism, and bash -s for local scripts.

Deepak Prasad17 min read
programming

Bash as a Docker Entrypoint: PID 1, Signals and exec

Write a Bash Docker entrypoint with exec form ENTRYPOINT, exec "$@" for PID 1 handoff, test SIGTERM with podman stop, compare shell vs exec form, and know when --init or a minimal wrapper beats a Bash supervisor.

Deepak Prasad11 min read
programming

Call REST APIs from Bash with curl and jq

Call REST APIs from Bash with curl and jq: GET/POST/PUT/PATCH/DELETE, -sS and --fail-with-body, timeouts and retries, Bearer and API-key auth, safe query encoding, jq JSON bodies, pagination, and separating curl …

Deepak Prasad17 min read
programming

Parse JSON in Bash with jq

Parse JSON in Bash with jq: read scalars with -r, walk nested keys, filter arrays with select, pass shell values via --arg, build request bodies with jq -n, loop records with jq -c, and handle missing keys, null, and …

Deepak Prasad13 min read
programming

Linux Text Processing with grep, sed and awk

Learn Linux text processing with grep, sed, and awk on one access log: filter lines, transform text, read fields, then use cut, sort, and uniq as supporting pipeline tools in Bash pipelines.

Deepak Prasad17 min read
programming

Schedule Bash Scripts with Cron and systemd Timers

Schedule Bash scripts with user cron and systemd timers: common crontab schedules, scheduler-ready scripts, PATH and WorkingDirectory, logs, flock overlap locks, and debugging when a script works manually but fails under …

Deepak Prasad15 min read
programming

How to Measure Bash Script Execution Time

Check Bash script execution time with time ./script.sh, SECONDS, EPOCHREALTIME, and date +%s; compare Bash time vs GNU /usr/bin/time; save timing output to a file; briefly cap runtime with timeout.

Deepak Prasad9 min read
programming

Run Multiple Bash Commands in Parallel and Capture Exit Codes

Run multiple Bash commands in parallel with ampersand and wait, capture each exit code, cap concurrency with wait -n and wait -n -p worker pools, and compare xargs -P and GNU Parallel for larger batches.

Deepak Prasad13 min read
programming

Prevent a Bash Script from Running Twice with flock

Prevent a Bash script from running twice with flock: wrapper and in-script file-descriptor locks, -n and -w, conflict exit codes, cron wrappers, NFS caveats, and when PID files still help.

Deepak Prasad14 min read
programming

Run Bash Commands in Background: &, $! and wait

Learn Bash background execution with ampersand, capture child PIDs with dollar-exclamation, wait for one or many children, use wait -n and wait -p for racing tasks, handle stdin and exit codes, and clean up children on …

Deepak Prasad13 min read
programming

How to Test Bash Scripts with Bats (Bash Unit Testing)

Learn how to unit test Bash scripts with Bats: run, exit status, separate stderr, setup and teardown, fixtures, bats-assert, parallel jobs, debugging flags, and CI JUnit reports using one check-config CLI.

Deepak Prasad12 min read
programming

Bash Best Practices for Production Scripts

Production Bash best practices as a decision checklist: when to use Bash, quoting, arrays, strict mode caveats, traps, mktemp, idempotency, secrets, locks, timeouts, ShellCheck, and when to move to another language.

Deepak Prasad15 min read
programming

Lint and Format Bash with ShellCheck and shfmt

Learn how to lint Bash scripts with ShellCheck, format them with shfmt, configure project rules, fix common warnings, and enforce both tools in CI.

Deepak Prasad11 min read
programming

Debug Bash Scripts with bash -x, PS4 and LINENO

Learn how to debug Bash scripts with bash -x, set -x, bash -n, PS4 line numbers, ShellCheck, and BASH_XTRACEFD, with practical examples and trace output.

Deepak Prasad10 min read
programming

Bash trap: Signals, EXIT and Cleanup

Learn Bash trap for EXIT cleanup, SIGINT and SIGTERM handling, reading exit status in EXIT traps, ERR traps with set -E, signal forwarding to children, and what signals cannot be caught.

Deepak Prasad15 min read
programming

Bash mktemp: Create Temporary Files and Directories Safely

Learn how Bash mktemp creates temporary files and directories safely, use templates and TMPDIR, register trap EXIT cleanup, avoid unsafe mktemp -u, and atomically replace files on the same filesystem.

Deepak Prasad9 min read
programming

Logging in Bash Scripts

Learn Bash script logging: stdout vs stderr, a minimal log function with levels and timestamps, tee, exec redirects, logger for syslog/journald, systemd capture, rotation, and keeping secrets out of logs.

Deepak Prasad14 min read
programming

Bash set vs shopt: How Shell Options Work

Learn why Bash has both set and shopt, how to enable and check shell options, and when to use nullglob, failglob, lastpipe, and inherit_errexit in scripts.

Deepak Prasad12 min read
programming

Bash Error Handling: Practical Patterns for Reliable Scripts

Learn Bash error handling with exit codes, set -e exceptions, trap ERR, expected grep and diff statuses, bounded retries with backoff, batch partial failure, stderr diagnostics, and trap EXIT cleanup.

Deepak Prasad15 min read
programming

Bash Strict Mode: `set -euo pipefail` Explained

Learn what set -euo pipefail does in Bash, when set -e does not exit, how nounset and pipefail behave, and the common strict-mode pitfalls in functions, pipelines, and command substitution.

Deepak Prasad13 min read
programming

How to Read a File Line by Line in Python

Learn how to read a text file line by line in Python using file iteration and readline(), handle newlines and encodings, add line numbers, and process large files without loading the entire file into memory.

Deepak Prasad14 min read
devops

CDC Tools for Snowflake: Architecture & Technical Comparison

Compare seven CDC approaches for Snowflake by capture architecture, destination apply, schema evolution, backfill behavior, and operational ownership — not connector count alone.

Deepak Prasad14 min read