Articles by Dejan Panovski
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.

git diff Command: Compare Changes Between Commits and Branches
Use git diff to compare your working directory, staged files, commits, and branches, with practical examples of the options you will use most.

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

last Command in Linux: Check Login History
Use the last command in Linux to check login history, filter sessions by user or date, and audit system access. Also covers lastb for failed logins and lastlog for per-user login records.

What Is /dev/null in Linux
The Linux /dev/null device discards anything written to it and returns EOF when read. This guide shows how to silence stdout, stderr, cron output, and empty files.

How to Check Listening Ports in Linux: ss, netstat, lsof
Use ss, netstat, or lsof to list all listening ports in Linux, identify which process is using a specific port, and filter results by protocol or port number.

How to Unzip Files in Linux
Extract ZIP archives in Linux with the unzip command: unzip to a folder, handle password-protected and multiple archives, list or test contents, and exclude files.

How to Use Nano, the Linux Command Line Text Editor
Learn the essential nano commands and keyboard shortcuts: open, save, and exit files, search and replace text, copy and paste, and use sudo nano to edit system files.

Fix SSH "Host Key Verification Failed" Error
Resolve the SSH Host key verification failed error by removing the stale known_hosts entry with ssh-keygen -R after verifying the server is genuine.

Hard Links vs Symbolic Links in Linux
Understand the difference between hard links and symbolic links in Linux: how inodes work, when each type breaks, and which one to use for a given task.

date Command in Linux: Format, Timezone, and Epoch
Format dates, convert timezones, and work with Unix timestamps using the Linux date command, with copy-paste examples for the terminal and shell scripts.

How to Mount and Unmount File Systems in Linux
Mount and unmount file systems in Linux with the mount and umount commands. Examples cover USB drives, ISO files, NFS shares, bind mounts, and persistent /etc/fstab entries.

Check Linux Version: Find Your Distribution and Kernel Release
Check your Linux version from the terminal with /etc/os-release, hostnamectl, lsb_release, and uname. See when each command is useful.

How to Mount an exFAT Drive on Ubuntu
Modern Ubuntu releases read and write exFAT drives out of the box. This guide shows how to mount exFAT USB drives and SD cards automatically or manually, install exfatprogs, set up an fstab entry, and fix common mount errors.

How to Install NVIDIA CUDA Toolkit on Ubuntu 26.04
Install the NVIDIA CUDA Toolkit on Ubuntu 26.04 from the Ubuntu archive or NVIDIA repository, then verify the driver, nvcc compiler, and CUDA sample output.

How to Edit Your Hosts File on Linux, Windows, and macOS
The hosts file maps domain names to IP addresses locally, overriding DNS. This guide explains how to edit /etc/hosts on Linux, macOS, and Windows with examples for testing, blocking, and local development.

shutdown Command in Linux: Power Off, Reboot, and Schedule
How to use the shutdown command in Linux to power off, halt, or reboot the system immediately or at a scheduled time, with examples of all common options.

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.

setuid, setgid, and the Sticky Bit Explained
Understand the setuid, setgid, and sticky bit special permissions in Linux: what each one does on files and directories, how to set them, and the security risks.

