Hacker News new | ask | show | jobs
by throwaway31381 1041 days ago
>But ... firstly, let's stop with the Unix worship. They didn't deliver, even in the domain of the terminal. My copy of `ls` has at least 40 flags

GNU is Not Unix.

I count 13 flags on both Unix V10 [1] and on Plan 9 [2], its spiritual successor.

[1] http://man.cat-v.org/unix_10th/1/ls

[2] http://man.cat-v.org/plan_9/1/ls

3 comments

This is a version of a No True Scotsman argument: the True Unix did not have these flags and therefore these flags are not part of the Unix Way. The extra flags were added over time because the One True Unix did not provide the functionality that people needed in real world use. They couldn't be added in a composable way because of failures in the shell programming model (unstructured text + sh is terrible). The Unix shell model was broken from the start.
No that’s literally what GNU stands for.
I won't deny the useful additions GNU and BSD made to the barebones UNIX tools, but just by skimming the ls man page I can list some flags whose addition wasn't caused by the Unix Philosophy's limitation:

  -1 list one file per line
  -C list entries by columns
  -t sort by time, newest first; see --time
  -r, --reverse reverse order while sorting
  -S sort by file size, largest first
  --sort=WORD sort by WORD instead of name: none (-U), size (- 
  S), time (-t), version (-v), extension (-X), width
I think you’re actually making the point for him here. You are correct that GNU is not Unix. And what version of ls has the most installations? I betcha it’s the ls from GNU Coreutils. I do agree that GNU tools are sometimes too maximalist. But they are also more useful than the minimalist alternatives.
I don't believe GNU's triumph over the BSD derivates was for the most part technical, they just happened to be at the right moment at the right time to ride along Linux's success.

A consequence of the proliferation of arguments in the GNU tools is imho that it made the GNU manpages too verbose and information dense to the detriment of their usefulness.

That's exactly why RMS is so pissed at Linux being mentioned without GNU. The funny thing is that it is the license he shipped his code under that allowed them to do this, he could have made the license say 'if you use this code you are required to prefix the name of any project with 'GNU/'' and that would have been that. If you give people rights and freedom they will use them.
If he wanted advertising/acknowledgement, he might have considered the BSD license instead.
Good point. However: The users could have revolted and gone to *BSD land instead. But for some reason, most users didn’t.
That is because of the "lawsuite", unless you are referring to the 80s.

Back then, Companies and Colleges were the ones who got UNIX. Companies went with AT&T, and IIRC Colleges when with BSD. So AT&T won out due to better financial backing and maybe a possible threat of AT&T going after BSD.

Well, Linux is 30 now. The lawsuite was settled quite long ago, wasn’t it?
You did not specify a timeline. The book was written in 1984, BSD existed then and the only other UNIX was AT&T. Linux was not even a dream in 1984.
To me, the point is you don't need many flags for ls to be useful. You will learn a few idioms early, such as ls -a and ls -lR but after that, the rest of the flags are nice to haves: if you wish there was a certain feature, you can look it up on the man pages etc. "I wish I could sort by time - oh there's -t"
seems like you agree that the extra flags make sense
In many cases, yes! On my Mac, which has a userland derived from FreeBSD, I have voluntarily installed stuff like GNU Findutils and GNU sed to get that extra functionality.
I hold in my hand a "Unix Reference Card," second edition, March 1979.

There are 10 options listed for "ls":

l, f, a, s, d, r, u, c, i, f, g

My recollection is that this card was for Unix V7.

the "purple card" of myth and legend!? please take a picture.