Tried to search the web and couldn't find an answer. It might have something to do with "load", but that doesn't make much sense to me.

Obviously, "ln" was already taken, but where does that "d" come from?

  • How would you assertively know that linking appeared before loading? – 94239 Feb 5 '14 at 14:50
  • I wouldn't, and may well be wrong about that. – Sebastian Redl Feb 5 '14 at 14:53
  • But you could be right my dear, see here (linked from here (linked from here (linked from here))) that there is already a ln as long as the ar and ld in first edition UNIX ca. 1971. I'm afraid the living authors may be starting to forget this kind of anecdote. – 94239 Feb 7 '14 at 23:15

Linkers in Linux were originally called loaders. See Assembly Language Step-by-Step: Programming with Linux by Jeff Duntemann:

Linking the Object code File

...Linux comes with its own linker, called ld. (The name is actually short for "load", and "loader" was what linkers were originally called, in the First Age of Unix, back in the 1970s.)

  • 3
    Note that the term "loading" is still used - when starting a program it is loaded in some memory area and to quite some degree the same operations as with "linking" happen, not only due to dynamic/runtime linking .. "Linkers and Loaders" by John R. Levine (ISBN: 1558604960) is a good book for the ones who want to know all the details. – johannes Feb 3 '14 at 17:45
  • 4
    Please, please, please, people, please try to remember that computers and software and operating systems DID exist before Unix was invented. The term "loader", as in "relocating (or relocatable: both terms were common) linking loader" goes back to LONG before Unix. I first ran into it in about 1970, and I'd be VERY surprised if there weren't relocating linking loaders in 1960. – John R. Strohm Nov 11 '14 at 17:28
  • @JohnR.Strohm: Which is pretty much what my linked quote says. – Robert Harvey Nov 11 '14 at 17:53
  • 1
    @RobertHarvey: The point I was trying to make is that the term "loader" goes back to long BEFORE "the First Age of Unix, back in the 1970s." – John R. Strohm Nov 11 '14 at 18:40
  • 1
    @JohnR.Strohm: I'm not sure that matters. However, in the interest of being historically precise, feel free to edit in an authoritative reference. – Robert Harvey Nov 11 '14 at 18:43

Because it is "link editor". For example, Solaris and AIX man pages explicitly say so:

In the comment to the question there is an extremely interesting link to 1971 UNIX man pages. There is a ld man page, which explicitly states ld - link editor, see the man12.pdf file (page 20):

NAME ld -- link editor

Wikipedia mentions that there are different theories, one is "loader" one is "link editor".

Sidenote - amazing, regular expressions already existed in 1971...

  • Proof added, extremely easy to find even in internet. Now please provide reason for -1's. – user155813 Nov 11 '14 at 19:45
  • 1
    I didn't vote, so I can't give you any reasons. Others may have felt your answer was too thin on the ground. – Martijn Pieters Nov 11 '14 at 21:32
  • 2
    I find this answer better. ld is definitely link editor or linker as it does not load anything. ld.so is both linker and loader. – Miroslav Franc Nov 12 '14 at 9:01
  • 1
    link to the 1971 man page is lost to bit rot – Florian Castellane Aug 24 '16 at 7:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.