Author

Deepak Prasad

Deepak Prasad

R&D Engineer

at · 1116 articles published

Founder of GoLinuxCloud with more than 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

Certifications & credentials

  • Red Hat Certified System Administrator in Red Hat OpenStackID: 180-246-001
  • Certified Kubernetes Application Developer (CKAD)
  • Red Hat Certified Specialist in Ansible Automation
  • Go: Data Structures, Algorithms and Design Patterns With Go
Author profile illustration for Deepak Prasad — technical writer at GoLinuxCloud

Articles by Deepak Prasad

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 / 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

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
programming

Bash compare strings: equality, order, empty checks, and pattern match

Bash string comparison with == and !=, bash if string equals patterns, compare strings in bash using [[ ]] and [ ], ASCII order, empty (-z) and non-empty (-n) checks, quoting, case folding, and =~ regex.

Deepak Prasad5 min read
programming

Bash compare numbers and integers: variables, [[ ]], (( )), and pitfalls

Bash compare numbers and integers with -eq, -lt, -gt, bash compare variable to number in [[ ]] and (( )), bash if numeric comparison patterns, test, loops, and pitfalls (leading zeros, floats, string vs numeric).

Deepak Prasad5 min read
programming

Bash format number with commas on Linux: printf, numfmt, and script examples

Bash format number with commas using printf thousands grouping, LC_NUMERIC and GNU numfmt, plus a pure Bash comma formatter for integers and decimals. Covers locale (en_US vs en_IN), C/POSIX limits, and readable output …

Deepak Prasad5 min read
programming

Nested loops in Java (for, while, do-while, and examples)

Nested loops in Java: nested for, while, and do-while (including mixed loops), Scanner menu example, labeled break, and complexity. Runnable examples with OpenJDK 17-tested output.

Deepak Prasad7 min read
databases

How to Reset Index in pandas (DataFrame, groupby, drop=True) [Examples]

Learn how to reset index in pandas on a DataFrame or Series. Covers pandas groupby reset_index, reset index to start at 0 with drop=True, dataframe reset_index after sort or filter, df reset_index, and resetting column …

Deepak Prasad6 min read
linux

How to Check Sudo Access for a User in Linux

Learn how to check sudo access in Linux. Check if you or another user has sudo privileges with sudo -l, test sudo access non-interactively in a bash script with sudo -n, and list all sudo users, with real tested output.

Deepak Prasad9 min read
linux

How to Check Disk Space in Linux: df, du, lsblk & What They Actually Show

Learn how to check disk space in Linux from the command line. Use df to check free space, du to check disk usage by folder, and find what is eating your storage, with real tested output and fixes for "No space left on …

Deepak Prasad11 min read
devops

Git Remote Set-URL: Change Remote Repository URL [Examples]

Learn how to use git remote set-url to change a remote repository URL. Change origin from HTTPS to SSH, add or delete push URLs, rename remotes, and fix the "this repository moved" error, with real tested examples and …

Deepak Prasad8 min read
devops

Git Push Force Explained: --force vs --force-with-lease [Examples]

Learn how to use git push force safely. Understand git push --force vs --force-with-lease, force push to a remote branch, origin master, and after rebase or amend with real examples.

Deepak Prasad7 min read
linux

CPU, Processors, Cores, Threads, Hyper-Threading and Cache Explained

Understand CPU, processor, socket, core, thread, hyper-threading, CPU cache, frequency scaling and Linux commands like lscpu, nproc, mpstat and cpupower with validated output.

Deepak Prasad17 min read
system-administration

How to Check Filesystem Type in Linux

Learn how to check filesystem type in Linux for mounted paths, disks, partitions, LVM volumes, USB drives, ISO media, and unmounted filesystem images with tested findmnt, lsblk, blkid, df, file, stat, udevadm, fstab, …

Deepak Prasad9 min read