Unix command line conventions over time

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • ddi

    A safer dd

  • There are alternatives to dd like ddrescue (https://wiki.archlinux.org/title/disk_cloning#Block-level_cl...), but given it's standard on all *nix machines it's hard to avoid, just need to be extra careful before executing. There are also wrappers for dd, like ddi (https://github.com/tralph3/ddi) for extra safety

  • esbuild

    An extremely fast bundler for the web

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • warg

    Declarative and Intuitive Command Line Apps with Go

  • This is largely what the Azure CLI does. It simplifies even further by eliminating the no-value option. Instead, you pass "true" or "false" as the value ( --example true ). It's a little more verbose but very easy to parse/write/generate. I like this convention so much I stole it for my homemade Golang CLI parsing library https://github.com/bbkane/warg/ .

  • procs

    Unix process&system query&format lib&multi-command CLI in Nim (by c-blake)

  • Since `ps` is featuring prominently here, folks might be interested in https://github.com/c-blake/procs which is a color ps (Linux-only right now). It has a more canonical CLI since it is based upon https://github.com/c-blake/cligen. It actually does subcommands, too (display, find, scrollsys) and so it can replace pgrep, pkill, ps, etc., etc.

  • cligen

    Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at

  • Since `ps` is featuring prominently here, folks might be interested in https://github.com/c-blake/procs which is a color ps (Linux-only right now). It has a more canonical CLI since it is based upon https://github.com/c-blake/cligen. It actually does subcommands, too (display, find, scrollsys) and so it can replace pgrep, pkill, ps, etc., etc.

  • vipe

    Pipe in and out of $EDITOR

  • A general tool for that workflow is vipe: https://github.com/juliangruber/vipe

  • nio

    Low Overhead Numerical/Native IO library & tools (by c-blake)

  • With https://github.com/c-blake/nio/blob/main/utils/catz.nim you can get similar format agnostic decoding/decompression not just in tar but in any pipeline context (based on magic numbers, not filename extensions and even doing the copy loop needed for unseekable inputs to replace the early read).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • arcan

    Arcan - [Display Server, Multimedia Framework, Game Engine] -> "Desktop Engine"

  • FWIW, you can pipe graphics sort of with arcan[1]. So its not like the ideas have been abandoned.

    1. https://arcan-fe.com/

  • cli-guidelines

    A guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts