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.
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.
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 …
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.
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.
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 …
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.
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
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.
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.
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).
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 …
How to Change Username in Linux Using usermod
Learn how to change username in Linux with usermod, rename the home directory, update the primary group, verify UID/GID ownership, and fix common username rename errors safely.
JavaScript await: async functions, try/catch, Promise.all, top-level await
How await works in JavaScript: javascript await, js await, async await javascript, await promise inside async functions, sequential vs Promise.all concurrency, try/catch on rejections, await on non-promises, top level …
JavaScript factory pattern (functions, classes, and async factories)
JavaScript factory pattern and factory functions: return plain objects, pick implementations by input, constructor-based factories, ES6 class factories, closure privacy, and async factories—with Node-tested output.
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.
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 …
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.
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 …
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 …
Git Remove Remote: Remove Origin, Upstream or Any Remote
Learn how to remove a Git remote, remove origin, remove upstream, verify remote removal, fix no such remote errors, and understand when to use remote remove, set-url, rename, or prune.
Git Remove File from Tracking Without Deleting It
Learn how to remove a file or folder from Git tracking without deleting it locally. Includes example git rm --cached output, .gitignore behavior, commit cleanup, directory removal, and skip-worktree patterns.
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.
Git Reflog Explained: Recover Lost Commits, Reset, Amend & Branches
Learn what git reflog is and how to use it with practical examples. Recover commits after git reset --hard, restore amended commits, recover deleted branches, inspect stash reflog, and understand reflog expiration …
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.
How to Set SFTP umask in Linux
Learn how to set SFTP umask in Linux with OpenSSH internal-sftp, sftp-server, Match User, Match Group, chrooted SFTP users, and tested upload permission examples. Also understand Linux umask, why .bashrc umask does not …
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, …
How to Refresh Network Settings in Ubuntu
Learn how to refresh network settings in Ubuntu after IP address, route, DNS, DHCP, Netplan, NetworkManager, or systemd-networkd changes. Includes safe remote-server workflow, tested verification commands, and practical …
How to Configure VNC Server on Ubuntu
Learn how to configure a VNC server on Ubuntu with TigerVNC, XFCE, a per-user VNC password, localhost-only binding, SSH tunneling, firewall checks, and a systemd service for persistent remote desktop access.
Systemd Tutorial for Beginners: Units, Services, Targets, and systemctl
Learn what systemd is in Linux and how to use systemctl to check system state, list services, inspect units, view targets, read logs, verify unit files, and test transient services with practical tested examples.

