ss -tnp names the process behind every connection and ss -ti prints bytes_sent and bytes_received per socket. That is per-process traffic with nothing installed.
Blog
CliAI blog
Latest news, deep dives and how-tos around the CliAI ecosystem.
-
2026-08-25
Which process is eating my bandwidth, without nethogs
-
2026-08-23
A Warp alternative: AI in the terminal you already use
An AI terminal means switching terminals. A command generator runs inside iTerm, Alacritty or Windows Terminal, travels over ssh, and asks before it runs anything.
-
2026-08-20
A shell_gpt alternative without Python and without a key
Three real differences: no Python runtime to install, no OpenAI key of your own to manage, and a typed confirmation between the generated command and your shell.
-
2026-08-18
Convert a Unix timestamp to a date on the command line
date -d @1787043600 turns epoch seconds into a date on GNU, date -r does it on macOS, and milliseconds need dividing by 1000 first or date refuses.
-
2026-08-16
Back up a single MySQL table, and restore just that one
mysqldump db table dumps one table, --where filters the rows, and the dump starts with DROP TABLE — so restoring replaces the table instead of adding to it.
-
2026-08-13
Merge and split PDFs from the command line
pdfunite joins files, pdfseparate splits them into single pages, and ghostscript is what you need to pull a page range into one document or shrink it.
-
2026-08-11
Count occurrences in a log: grep -c is not the answer
grep -c counts matching lines, grep -o piped into wc -l counts matches. On one file that is 3 versus 4, and the gap is a line with two errors.
-
2026-08-08
A GitHub Copilot CLI alternative for one job: the command
Compared on one task — turn a sentence into a shell command. No GitHub account, no subscription, no gh extension, and a typed confirmation before anything destructive runs.
-
2026-08-06
AI terminal assistants: four categories, not one list
Coding agents, command generators, AI terminals and browser chat get compared as if they were one product. They differ in blast radius, and that is what decides the choice.
-
2026-08-04
Dry run first: rsync, find, git clean and sed
rsync -n, find -print and git clean -nd show exactly what the real command will touch. rm has no dry run, so list the same glob with ls instead.
-
2026-08-01
Remove duplicate lines, with or without sorting
sort -u dedupes and sorts in one pass, awk '!seen[$0]++' dedupes and keeps the original order. And sort -u file > file empties the file.
-
2026-07-30
Verify a download: sha256sum -c, then the signature
sha256sum -c SHA256SUMS compares the hashes for you instead of by eye, and --ignore-missing handles the file you actually downloaded. A hash alone is not authenticity.