Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was hoping this would answer a recent question about the origin of the `unlink(1)` command. [1] The table says it appeared in FreeBSD 3.5.0, but in digging I found that FreeBSD introduced it after NetBSD, who introduced it "for XCU5's sake, and due to popular demand." [2] So `unlink(1)` must have existed in some even earlier Unix variant.

So the history of these things remains murky. Part of that is it's difficult to find old ("superseded") versions of the XCU / XOpen specs, let alone trace the new things each revision introduced to the sometimes-now-extinct Unix variants they first appeared in.

I do love the `unix-history-repo` and applaud the ongoing work there!

[1] https://twitter.com/alangrow/status/966081208487575552

[2] https://github.com/NetBSD/src/commit/54af00c6ee446afe395f319...



unlink(1) is indeed in SUSv2/XCU5:

http://pubs.opengroup.org/onlinepubs/7908799/xcu/unlink.html

I couldn't get my hands on SUSv1/XCU4. It's supposedly available here:

https://publications.opengroup.org/c43x

But you have to log in to download, and I gave up upon seeing account creation form with 16 required fields.

"Open" in "The Open Group" is a bad joke.


According to the HISTORY section at the bottom of the OpenBSD man page for unlink() , it first appeared in Version 1 AT&T UNIX. [1]

FWIW, all OpenBSD man pages have a history section at the bottom that notes when the command first appeared.

[1] https://man.openbsd.org/unlink


OpenBSD doesn't have the "unlink" command-line tool.

The manpage you pointed to is about the "unlink" system call.


Sorry, I missed that.


I think you mean superseded.


Fixed, thanks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: