Word Splitting: The Bash Gotcha That Corrupts Filenames
Unquoted bash variables split on IFS and quietly break loops, file ops, and filenames with spaces. Here's why it happens and how to always quote right.
All the articles with the tag "linux".
Unquoted bash variables split on IFS and quietly break loops, file ops, and filenames with spaces. Here's why it happens and how to always quote right.
Bash has built-in string operations: substring extraction, find-replace, case conversion, and trimming. You don't need sed for basic text work.
set -e looks bulletproof, but it slips right through pipes, command substitution, and conditionals. The bash gotchas that bite at 2 AM, and how to fix them.
Proxychains-ng, Tor, and VPN+Tor combos tested honestly: which setups actually anonymize traffic and which are security theater you should stop trusting.
Bash does arithmetic natively, so you can drop bc for most math. Arithmetic expansion, conditions, bitwise operators, and the trap inside $(( )).
auditd logs every system call, file access, and command run on your Linux server. Learn ausearch, aureport, and how to write audit rules that catch it.
Ventoy turns any USB drive into a multi-boot drive, drop ISOs on it and boot any OS without re-flashing the drive each time.
set -euo pipefail makes your bash scripts fail fast instead of silently. Here's what each flag does and why they matter.
One syntax error in /etc/sudoers locks everyone out of root. Use visudo, read the syntax properly, avoid the common mistakes, and know what NOPASSWD gives.
awk is perfect for parsing logs. 5 patterns for filtering, summing, counting, splitting fields, and reformatting, no Perl or Python required.
jq is JSON on the command line. Here are 5 one-liners that actually solve real problems: filtering, extracting, transforming, combining, and debugging.
xargs and while read both loop over input, but they handle arguments, signals, and performance differently. Here's when to use each.