mv Command in Linux: Move and Rename Files (Examples)
Move and rename files with mv: overwrite protection, backups, moving across filesystems, bulk renaming with loops and rename, and common mistakes.
Blog
Linux server administration: Debian, Ubuntu, AlmaLinux, storage, performance and troubleshooting.
Move and rename files with mv: overwrite protection, backups, moving across filesystems, bulk renaming with loops and rename, and common mistakes.
Configure rsyslog: where logs go, facilities and severities, a log file per program, forwarding to a central server over TCP, and rsyslog vs journald.
A method for Linux troubleshooting: define the problem, check what changed, the USE method for resources, logs first, isolate layers, one change at a time.
Useful Linux mount options: noatime vs relatime, noexec, nosuid and nodev for security, nofail for extra disks, _netdev, remounting, and safe fstab edits.
Generate Ed25519 SSH keys with ssh-keygen, copy them to a server with ssh-copy-id, use ssh-agent, manage multiple keys and disable password logins safely.
List files with ls: long format, hidden files, human-readable sizes, sorting by time or size, recursive listings, reading permissions and handy aliases.
Count lines, words, characters and bytes with wc, count files and matches in pipelines, find the longest line, and avoid common counting mistakes.
Use GNU screen to keep processes running after logout: start, detach and reattach sessions, windows, split regions, scrollback and logging.
Regex for Linux admins: anchors, character classes, quantifiers, groups, BRE vs ERE vs PCRE, with examples for searching logs and editing configs.
ext4 vs XFS vs Btrfs for Linux servers: performance, resizing (XFS can't shrink), snapshots and checksums, databases, repair tools, and distro defaults.
Fix setlocale and perl locale warnings: generate locales, set LANG with localectl, stop SSH forwarding your local locale, and use C.UTF-8.
Audit your own server with nmap: scan TCP and UDP ports, detect services and versions, check the firewall from outside, and read open vs filtered results.
Learn jq for server work: pretty-print JSON, select fields, filter arrays, transform data, raw output for scripts, curl and APIs, Docker inspect, JSON logs.
Try the fish shell: install, autosuggestions, config.fish, abbreviations, functions, fish_add_path, plugins, and how fish syntax differs from bash.
How the Linux PATH variable works: command lookup, adding directories temporarily or permanently, sudo and cron PATH issues, command not found.
cgroups v2 explained: how systemd and Docker use them, limiting CPU, memory and I/O for services, systemd-run and systemd-cgtop, and cgroup OOM kills.
Check swap usage, find swapped-out processes, add or resize a swap file, tune vm.swappiness, clear swap safely, and size swap for a server.
Master the Linux find command: search by name, type, size, time, permissions and owner, combine conditions, run commands with -exec and delete safely.
Use curl to download files, inspect headers, send JSON to APIs, authenticate, follow redirects, test HTTPS, measure timings and debug web servers.
Write /etc/fstab entries safely: the six fields, UUIDs, common options, nofail and _netdev, swap and bind mounts, testing, and fixing boot failures.
BorgBackup vs restic: storage backends, encryption, deduplication and compression, speed, append-only protection, borgmatic and Backrest, and which to choose.
Use Btrfs on a server: subvolumes, read-only snapshots, rollback, send/receive backups, zstd compression, scrubs, and checking real disk usage.
What TRIM does for SSDs and virtual disks: checking support with lsblk, fstrim.timer vs the discard mount option, manual fstrim, LVM and LUKS, and VPS tips.
Troubleshoot cron jobs that don't run: the cron service and logs, crontab syntax, PATH and environment, permissions, % characters, time zones, and output.