Linux
itself is not a copy of Unix
because one can argue it simply conforms to the POSIX
standard. However, how about the GNU Coreutils
which contains utilities like ls
, cd
and rm
, etc...? Is there any standard defining the names of these basic utilities and their behaviors? If not, can we say it was copied from Unix
?

- 829,060

- 227
-
6Define “copied” (and “Unix”). For suitable definitions, you could also say POSIX copied from Unix … – chirlu Jul 01 '13 at 09:07
-
Is this a real question? Sorry to be rude if it is, but this really looks like flamebait (intentional or not, I guess). You don't need to use 'code tags' for proper nouns, but you should pick them more carefully. To wit, "Linux" isn't copied because it was written from scratch by Linus and later authors. This is why RMS insists on calling it GNU/Linux; usually that seems pedantic, but really relevant here. There is more than one Linux, and more than one Unix. Linux-based OSs are not 'copied' in any usual sense, but they are certainly designed to be Unix-style. – hunter2 Jul 01 '13 at 10:03
-
Additionally, there are many relevant histories you can read. If you pull up the Wikipedia pages for Linux, GNU, POSIX, and Unix (in that order), and just skim near the top, you'll have this answered thoroughly. @chirlu, You could also say that Unix copied from Multics, or from filing cabinets. Not a very useful definition ... Also, gotta be a dupe ... – hunter2 Jul 01 '13 at 10:06
-
Related: Were all Unix commands re-written in Linux? – user Aug 04 '13 at 11:05
3 Answers
All these utilities and their behaviors are defined in the POSIX standard.

- 2,174
-
1
-
So? The POSIX standard is exactly the standard you asked for. Unless you're saying that the non-POSIX extensions to GNU Coreutils are close to (~ 'a copy of') some kind of Unix, and that Unix is a different standard ...? – hunter2 Jul 01 '13 at 09:57
-
Some if the members of the Coreutils utilities are independent inventions, and/or not specified in POSIX. For a trivial example,
base64
solves a problem which didn't exist when POSIX was specified. – tripleee Jul 01 '13 at 10:23 -
@tripleee The need to transmit binary files over non-binary-safe channels didn't exist in the second half of the 1980s (POSIX dating back to 1988)? What about Usenet in 1980? E-mail even in the early 1970s? While from a quick glance around the web Base64 specifically doesn't seem to have been used until 1993, the problem it solved surely must have existed on an Internet where 8-bit-safe links were anything but guaranteed. – user Jul 01 '13 at 21:34
-
1@tripleee The problem did exist when POSIX was specified. uuencoding predates base64, and the
uuencode
anduudecode
utilities are covered by POSIX. – David Baggerman Jul 01 '13 at 22:39 -
POSIX certainly doesn't specify
base64
specifically. The point is that some of thecoreutils
utilities are not specified in POSIX. If you want different examples,numfmt
,shred
and apparentlysha1sum
, as well as various support utilities such asptx
,nproc
, anddircolors
are in this category; andreadlink
has its specific non-POSIX semantics. Conversely, POSIX specifies a large number of commands which are not incoreutils
. – tripleee Jul 02 '13 at 08:00 -
-
POSIX was a standard developed 20 years after UNIX had been around. and the Single Unix Specification came in 1994 which made Unix a concept rather than a stream of source code. – Escoce Dec 14 '17 at 02:54
GNU is acronym of GNU's Not UNIX. GNU created to make Unix-compatible system without any use of Unix code, not ideas and command names.

- 21
-
POSIX was a standard developed 20 years after UNIX had been around. and the Single Unix Specification came in 1994 which made Unix a concept rather than a stream of source code. – Escoce Dec 14 '17 at 02:55
Coreutils is a consolidation of three utilities that used to be provided separately. Fileutils,textutils and shellutils all of which were provided by GNU. Shellutils provides the commands you cite, ls, cd, though I think rm comes from fileutils iirc. Going back a little further GNU was a project started by Richard Stallman to provide a free alternative to UNIX, and so mostly of the core set of commands you find on all UNICES were also available through GNU. Unfortunately for Richard, the Linux kernel got more attention than his unfinished HURD kernel and so the most popular UNIX or UNIX like system on the planet is a hybrid of the Linux Kernel supported and supporting the GNU set of utilities.
I was around in the linux world when this transition was occuring, and it made life a little difficult at first when one wanted to use different compiletime configurations for each one, but ce le vie. For a while there, my name was part of coreutils. I gave uname the ability to distinguish different Intel and Intel-Compatible processors from one another rather than just an i386. Until then all intel based unix systems were just high speed i386s and didn't take advantage of the different extended instruction sets available. That who CPU recognition block has now been completely replaced with something a lot more elegant and a modern, and you can only find my name as a historical reference in some antiquated patches that are still floating around, but still it was a cool feather in my cap for a few years and helped me land my first real IT job.
We may casually call the operating system Linux, but that's a truncation of what it really is which is GNU Linux or GNU/Linux.

- 97