Useful Unix Utilities (10)

1 Name: Nameless : 2026/01/14 21:27

What are some useful Unix utilities you've been using lately?

Something that's entered my toolbox in the last few months is `just`.
https://github.com/casey/just

They're kind of like Makefiles but simpler, because it's not trying to be a build utility. It just runs commands. After a few months of use, I have justfiles sprinkled all through my system to run various project-specific shell commands. It hits a sweet spot between one liners and dedicated scripts, and it has really enhanced various workflows for me. Things that I wouldn't have automated before (because it feels too small), I *do* automate now, because these justfiles feel like an appropriate place for those little tasks.

2 Name: Nameless : 2026/01/14 21:56

nano, ever heard of it?

3 Name: Nameless : 2026/01/14 22:05

I skimmed the info manual for nano recently, and it had a lot more features than I realized. I was pleasantly surprised that it even had very basic syntax highlighting for org-mode files.

4 Name: Nameless : 2026/01/14 23:05

Dick Stallman is very sneaky

5 Name: Nameless : 2026/01/16 19:21

fzf. Life was truly terrible before fzf.

>>3
tbh I didn't know nano had syntax highlighting. Then again I rarely need nano or syntax highlighting.

6 Name: Nameless : 2026/01/17 06:34

Hmm...
My .bash_history is 90% yt-dlp calls and various ffmpeg invocations. gifski has been super useful for making .gif files that don't suck, too.

One thing I found that was useful was (is this a bashism? oh well):
comm <(sort file1) <(sort file2)
This was me checking a script full of video URLs to download against another one to see if I had any duplicates between them. With some more fiddling, I was easily able to generate one big script that didn't have any dupes thanks to comm.

I've used qrencode so I don't have to retype a long/ugly URL from my desktop onto my phone, I can just scan it:
qrencode -t ansi "https://www.youtube.com/watch?v=iNkfGHrXixo"

detox unfucks filenames to make them shell friendly. Love it.
Don't blindly run "detox *" in a directory, lol.

I also do have an actual usecase for cmatrix (which just shows a cool matrix screensaver in the terminal), since it's very useful as a live indicator for your connection quality over SSH.
Several of my machines on the wifi will just suffer and die horribly with 1000ms+ pings, although really, I should just go fucking set them up on a hard-wired network.
It also just looks cool.

...god, that is a LOT of yt-dlp and ffmpeg calls.

7 Name: Nameless : 2026/01/17 10:11

>>6
I didn't know about comm. I've used diff for similar tasks, but I like comm's 3 column output that makes it clear how 2 lists differ.
https://www.gnu.org/software/coreutils/manual/html_node/comm-invocation.html

I also didn't know about detox. That's something I could use a lot. I dislike having filenames with spaces, but renaming them manually is a pain.
https://github.com/dharple/detox

8 Name: Nameless : 2026/01/18 01:00

I don't get to use this often, but something I really like is inotifywait. You can use it to observe a directory for file system events, and run a script when those events happen. The most common use is for doing automatic rebuilds when a source file changes, but I've also used it for other kinds of file processing pipelines.
https://github.com/inotify-tools/inotify-tools

9 Name: Nameless : 2026/01/18 04:21

I feel like I should have a use for inotifywait, I just end up thinking of another solution before I get to it, and I don't do the task enough that it's worthwhile anyway to instantly operate on the contents of a directory...

10 Name: Nameless : 2026/01/19 05:20

I use ghq almost exclusively for cloning git repos.
https://github.com/x-motemen/ghq

I also use it to quickly change to the directory of a git repo with this zsh function.
https://miyagawa.co/blog/ghq-peco-percol

# peco for git repo navigation via CTRL+]
function peco-src () {
local selected_dir=$(ghq list --full-path | peco --query "$LBUFFER")
if [ -n "$selected_dir" ]; then
BUFFER="cd ${selected_dir}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-src
bindkey '^]' peco-src
Name: E-Mail:
Leave these fields empty (spam trap):