• hirihit640@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 hours ago

    They could have been two commands that call a single parent command with different options. For example, imagine if cat had an option -N to restrict the number of lines that was printed, and also an option -t to start from the end. head would just proxy to cat -N and tail would proxy to cat -N -t. Combining the three into a single implementation reduces total LoC and opportunity for bugs. Also reduces total maintenance burden.

    I believe busybox is like this actually - a ton of Unix commands in a single package. It’s used by Alpine Linux, a tiny and performance linux distro commonly used by docker containers.

    • Kairos@lemmy.today
      link
      fedilink
      arrow-up
      2
      ·
      2 hours ago

      Busybox is literally just a bundle. That’s its whole purpose. It doesn’t reimplement anything.