A Collection of Less Commonly Used Commands


Over at Hacker News there are often threads about less-traveled UNIX and Linux commands. One particular comment collected a few of the posts, and I decided to parse all of those threads’ commands, plus my own favorite list of obscure entries, and put them in one place.

Somewhat obscure UNIX commands

  • column: create columns from text input

  • tr: translate/substitute/delete input

  • join: like a database join but for text

  • comm: file comparison like a db join

  • paste: put lines in a file next to each other

  • rs: reshape arrays

  • jot: generate data

  • expand: replace spaces and/or tabs

  • time: track time and resourcing

  • watch: execute something on a schedule in realtime

  • xargs: execute something on all inputs

  • iftop: visually show network traffic

  • jnettop a more detailed iftop

  • htop: show system stats more powerfully

  • xxd: manipulate files in hex

  • mtr: powerful traceroute replacement

  • mdfind: osx find replacement that uses spotlight

  • brew: osx package manager

  • df: disk free

  • du: disk usage

  • iotop: i/o stats

  • dig: dns queries

  • host: dns queries

  • man ascii: lookup your ascii

  • sshfs: mount a directory through ssh

  • wget: get w’s

  • dstat: powerful system statistics

  • tmux: a better screen

  • jq: command line JSON parsing

  • pushd: push your pwd to a stack

  • popd: pop pwd off your stack

  • lsof: godlike system information [*]

  • ncat: nmap-based replacement for nc

  • fuser: kills locking processes

  • vim: attack yourself

  • tac: cat in reverse

  • slurm: network interface stats

  • rename: change spaces to underscores in names

  • bmon: a simple bandwidth monitor

  • open .: in osx, open finder in the current dir

  • lsmod: show kernel modules

  • printf: change the format of output

  • timeout: execute something and kill it soon after

  • disown: protect a job from disconnect

  • fc: edit your last command in your editor and execute it

  • sudo !!: repeat last command with sudo

  • tee: send output to stdout as well

  • pgrep: greps through processes

  • pkill: kills processes based on search

  • fmt: text formatter

  • multitail: see logs in separate views

  • bc: an interactive calculator language

  • apropos: info on commands

  • strace: the uber debug tool

  • man units: interesting

  • pstree: shows processes in a…well…tree

  • pv: a progress bar for piped commands

  • ddate: wtf

  • zgrep: grep within compressed files

  • zless: look at compressed files

  • nping: nmap-based custom packet creation

  • readlink: read values of links

  • iostate: look at your disk i/o

  • atop: another top

  • split: break a file into pieces

  • dd: disk writing

  • ndiff: show differences in nmap scans

  • ss: socket statistics (show apps using the Internet)

Many thanks to those who have shared commands to add to the list.


  1. A few of these (tr, lsof, etc) aren’t exceedingly rare, but enough people either have never heard of them or have forgotten about them that it made sense to include them.

  2. Some of these are OS X only. Apologies for that, but I wanted to highlight them while still keeping the simple structure of the list.

  3. Some of the “commands” or “applications” are actually shell-based. Thanks to @gonzih for his great comments.

Related posts: