Go to another page of CSS Dixieland: Start   Country Music   Tango Music   Migration   Victory   Aryan   Women   Solipsism   Whales   Language   Teaching   Photography   Cinematography   Stereoscopy   Computing History   Computing Links   Free-DOS   Unics   Gopher   Railways   Chess
Third National Flag of the Confederate States of America
Third National Flag of the
Confederate States of America
P. A. Stonemann, CSS Dixieland
P. A. Stonemann, CSS Dixieland
National Jack of the Confederate States Navy
National Jack of the
Confederate States Navy

CSS Dixieland

Probing the depths of knowledge

These essays by P. A. Stonemann, CSS Dixieland, cover a wide range of historical, philosophical, scientifical and technical subjects. Each page deals with a particular topic, divided into sections and explained by itself. Every page shows at its top hyper links to every other page. The Start page also has short descriptions of the other pages. CSS Dixieland expresses gratitude to the readers that make this work meaningful.

This Web document has been tested with KDE Konqueror, graphic HTML interpreter for Linux. It may not be rendered correctly by other graphic HTML interpreters. It will probably be correct when rendered by text-only HTML interpreters (visual, aural, or Braille tactile interpreters), but if feasible, please use KDE Konqueror. Uniform Resource Locator:
https://konqueror.org/

Unics Operating Systems page

The most portable and customisable systems ever created
Full of advanced resources for the experienced programmer

Walkyrie who takes our dead heroes to Walhalla in Asgard
Walkyrie who takes our dead heroes to Walhalla in Asgard.
Wagner Frost Illustration

Sections in this page

  Introduction to Unics
  History and classification of Unics
  Classification of the BSD genealogy
  Chronology of the BSD genealogy
  Characteristics of some Unics systems
  Basic commands for most Unics systems
  Most of the operational Unics commands

Technical note: In languages other than English or Latin, but which use mainly Latin characters, some characters are taken from other alphabets, or some Latin characters are modified with diacritic marks for representing different phonemic sounds or other orthographic conventions of those languages. Those characters, when used in this document, have been encoded as entities of Hyper Text Mark-up Language or sometimes in Unicode UTF-8. Therefore computers using other character encodings may render some characters inaccurately, but hopefully, it will still be possible to read non-English words without too much difficulty.

 

Introduction to Unics

'Unics' is the original name of a series of operating systems that became surprisingly successful, developing many variants made by different authors, and the only system that has ports for main frame, mini or micro computers. In 1965 Bell Laboratories helped to implement an operating system called 'Multics'. Bell abandoned the Multics project some years later, but Mister Ken Thompson, at the time an employee of Bell, thought that he could create an operating system inspired on Multics. He presented his system in June 1969 with the name of 'Unics', humorously meaning 'Unified Multics'. It was an interactive time-sharing system written entirely in Assembly, for DEC PDP-7 minicomputer, and initially used mainly to play games.

In 1972 Mister Dennis Ritchie, inventor of C programming language, took an interest on Unics. He rewrote the system almost entirely in C language (some time-critical parts were left in Assembly) between 1972 and 1974, thus making the first source-portable operating system, and in 1974 renaming it as 'UNIX' (all in capital letters, though the form 'Unix' is also common and was later preferred by Mister Ritchie himself). The first official specification was 'The UNIX Time-Sharing System', by Dennis Ritchie et alii, published by CACM in 1974. Unics subsequently underwent mutations and expansions at the hands of many programmers, ranging from individuals to academic or commercial entities, resulting in a uniquely flexible and advanced environment for programming, portable to many platforms, and the war horse of the Open Source Movement, whose goal it is to make software available with source code, for making possible its study and eventual modification by knowledgeable programmers. By the early 1990's Unics, or its most successful variants, had become the most widely used general-purpose operating systems for several concurrent users in the world.

Most of the variants are descended from the original Unics by rather intricate lines of inheritance, being today open source or restricted source (closed, mixed or shared source). A few variants are not descendants of the original Unics, they are independent creations strongly inspired or influenced by later Unics or some of its branches. Some examples of the descendants of Unics are the fissionings of the 386 BSD group into some daughter projects: Net-BSD (and its Open-BSD derivation), Free-BSD (and its Dragonfly-BSD, PC-BSD and Midnight-BSD derivations), plus Macintosh Darwin OS X (not to confuse with the original Apple Macintosh), Open Solaris (and its Open Indiana derivation), and a few others. The only known examples of the independent creations are Minix, Weenix and Linux. Either descended from Unics or independently created, all the systems listed above are open source: the various BSD, Darwin OS X, Open Solaris (and Open Indiana), Minix, Weenix and Linux. The restricted source systems referred above (closed, mixed or shared source) are all descended from Unics, they are not independent creations.

Of all Unics systems, some have evolved greatly when compared to the original Unics, others have remained closer to their model. Some have active thriving communities and huge amounts of software, others are reduced to small groups of enthusiasts. Some have known tremendous success (like Linux), others have not really taken off (like GNU Hurd). Some are relatively simple (like Minix), others astoundingly complex (like BSD). Some are in tiny distributions (like Coyote Linux, for floppy disk), others are commercially supported mastodonts (like Red Hat Linux or Connectiva Linux). Whatever the needs of a programmer, from intermediate to advanced projects, there is one or another variant of Unics catering to the purposes of every serious user. It is important to warn, however, that Unics is intended FOR PROGRAMMERS. Most absolute beginners will probably feel frustrated when confronted with the cryptic commands of Unics. Luckily, there are tutorials of various levels and other helping resources.

The name `UNIX', in capital letters, is a trademark that belonged to Bell Laboratories, passed to Novell in 1990, and as of 2016 legally belongs to The Open Group. It must not be used in reference to products that are not owned or marketed by The Open Group. For such non-Open Group products it is recommendable to write 'Unix' (avoiding all capitals), or better 'Unix-like'. Some authors write 'Un*x' or similar spelling, rather confusing. The name 'Unics' tends to be reserved for the early original model, but it can be used as a generic name for its inherited or inspired derivations. Being 'Unics' the most traditional name, it has been chosen for this page of CSS Dixieland.

Standard Unics Books

The most important standards of the Unics genealogy are contained in two 'Green Books', two 'Purple Books', and two 'Daemon Books' (or 'Devil Books').

The Green Books are:

The Official Standard 'Portable Operating Systems Interface for Computer Environments' of the Institute of Electrical and Electronics Engineers (IEEE POSIX 1003.1), today followed by most Unics variations.

'X/Open Compatibility Guide', defining an international standard Unics environment that is a proper superset of the Official Standard IEEE POSIX/SVID, including descriptions of a standard utility toolkit, system administration features, and the like.

The Purple Books are:

'POSIX Programmer's Guide' by Donald Lewine, published by O'Reilly in 1991 ISBN 0-937175-73-0). It is also known as the 'Unix Wizard Book'.

'System V Interface Definition', describing one of the most well known commercial variations of Unics.

The 'Daemon Books' (or 'Devil Books') are:

'The Design and Implementation of the 4.3 BSD UNIX Operating System' by Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman, published by Addison-Wesley in Reading, Massachussetts, in 1989. ISBN 0-201-06196-1

'The Design and Implementation of the 4.4 BSD Operating System' by Keith Bostic, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman, published by Addison-Wesley Longman in Reading, Massachussetts, in 1996. ISBN 0-201-54979-4

Any of the two Daemon Books is the standard reference on the internals of BSD Unics. They are called 'Daemon' or 'Devil' because the cover has the image of a little devil (a play on the daemon feature of Unics), holding a pitchfork (a play on the fork(2) system call of Unics). A Unics enthusiast once related that she was in a North American road restaurant wearing a shirt decorated with the little Unics devil, and she was told by angry customers to take some portable food and abandon the premises as soon as possible, because people in that town were very Christian and could not tolerate Satanic manifestations.

There are also some books for the uninitiated in the Unics arcana:

'Unix for beginners' published in 1978.

'Life with UNIX' by Don Libes.

 

History and classification of Unics

By the mid-1980s most of the interesting software work was being done using microcomputers and the emerging BSD Unics standard, rather than using main frame, mini, or super computers. An outstanding event was the BSD Conference of 1999, with Mister Marshall Kirk McKusick and other important names. Part of the information in this page is based on 'The BSD Family Tree', published in 2012 by Herr Wolfram Schneider of Free-BSD. His highly valuable research is based on Mister Josh Gilliam, Mister Steven M. Schultz, manual pages of various BSD variants, NNCP Usenet, and many other sources. It is a necessary reading for the enthusiast of Unics History. Herr Schneider can be contacted by electronic post at the address:

wosch AT freebsd DOT org

The string "AT" must be substituted by the character "@" and the string "DOT" by the character "." without surrounding spaces and in single horizontal line.

Sorry for the inconvenience, but there is a bunch of niggers from Niggeria whose favourite sport is sending lots of spam. They use computer programmes for automatic harvesting of addresses, and the above substitution is one of the methods for thwarting such programmes and their nasty monkey users.

Books and hyper links

The selection offered here is by no means complete, there are many other books or documents with valuable content on Unics, in electronic form or printed on paper. The list below serves as an introduction to the subject.

'A quarter century of UNIX' by Peter H. Salus, published by Addison-Wesley in 1994. ISBN 0-201-54777-5

'Research Unix Reader' by Doug McIlroy.

'The Role of BSD in the Development of Unix' by Michael G. Brown, presented to the Tasmanian Unix Special Interest Group of the Australian Computer Society, Hobart, August 1993.

'Die freien BSD-Varianten von Unix' by Andreas Klemm, Lars Keller, published in April 1997.

'The Design and Implementation of the FreeBSD Operating System' by Marshall Kirk McKusick, George Neville-Neil, published by Addison-Wesley Professional on 2nd August 2004. ISBN 0-201-70245-2

Levenez
UNIX history
http://www.levenez.com/unix/

 

Minnie
UNIX history graphing project
http://minnie.tuhs.org/Unix_History/index.html

 

Command interpreters

A presentation of Unics would not be complete without mentioning the various command interpreters (shells) typically used in systems of the Unics genealogy. The shell is a command programming language that provides an interface to the operating system. Its features include control-flow primitives, parameter passing, variables and string substitution. Constructs such as 'while, if then else, case, for' are available. Two-way communication is possible between the shell and commands. String-valued parameters, typically data set names or flags, may be passed to a command. A return code is set by commands that may be used to determine control-flow, and the standard output from a command may be used as shell input. The shell can modify the environment in which commands run. Input and output can be redirected to data sets, and processes that communicate through `pipes' can be invoked. Commands are found by searching directories in the data set system in a sequence that can be defined by the user. Commands can be read either from the terminal or from a data set, which allows command procedures to be stored for later use. Most executables can optionally be run in the foreground or in the background.

'An Introduction to the Unix Shell' by S. R. Bourne of Murray Hill, published in New Jersey 1979 for Unix Research Seventh Edition. Except for some changes by the Official Standard IEEE POSIX, this document is valid for the command interpreters sh, ash, bash, ksh and some others. Typically one of them is installed as /bin/sh in a Unics system following the Official Standard IEEE POSIX. The document is NOT valid for the command interpreter csh.

'An Introduction to the C shell' by William Joy. This is the document for csh.

Unics commands

Some commands or characteristics of the Unics genealogy or of some of its systems:

Unics dd(1) (from IBM JCL, equivalent to cat or to BLT. Originally the name of a Unics copy command with special options suitable for block-oriented devices. It was often used in heavy-handed system maintenance. The Unics dd(1) was designed with a weird, distinctly non-Unics keyword option syntax reminiscent of the JCL of IBM System/360 (which had an elaborate DD `Dataset Definition' specification for Input/Output devices). Though the command filled a need, the interface design was clearly a prank. dd(1) has been little used for a long time (though it has no exact replacement). The term has been displaced by BLT or simple English `copy'.

The force-all-caps (LCASE) bits in the tty driver of Version 7 and of BSD, designed for use with monocase terminals. In a curious far-fetching of the usual goal of backward-compatibility, this functionality has been expanded and renamed in some later USG Unix releases as the IUCLC and OLCUC bits.

UUCPNET. The store-and-forward network consisting of all the connected Unics computers in the World, or other computers running some clone of UUCP (Unics to Unics CoPy). Any computer reachable only via a path of exclamation marks (or also optional curly brackets) is on UUCPNET. After the spread of cheap Internet connections in the 1990s, the few remaining UUCP links are mostly slow channels to the Internet, rather than an autonomous network, but UUCP is still used as of 2016 and most Unics systems still have support for it.

Vi `Visual Interface', a screen text editor created by Mister William Joy for an early BSD release. It became the most common Unics editor and a nearly undisputed favourite outside of the Massachussetts Institute of Technology, until the rise of Emacs after 1984. Vi is cryptic and tends to frustrate new users, as it will neither take commands while expecting input text nor vice versa, and the default set-up of older versions provides no indication of in which mode the editor is (although it can be commanded to show that status at the bottom line). There are several clones of Vi, such as Nvi of Mister Keith Bostic (which is today the standard in most BSD systems and in Minix), Vim of Mister Bram Moolenaar, Elvis of Mister Steve Kirkendall, plus X Vi, Calvin, Vile, and some other text editors more or less similar to Vi.

About half of the respondents in a Usenet poll conducted in 1991 declared a preference for Vi (or some of its variants) over Emacs or its variants, and over Ed, Ee, or other editors commonly used in Unics. Even those who prefer Emacs often resort to Vi as an editor for short texts, mainly because Vi starts much faster than the bigger versions of Emacs (which often include a full featured LISP interpreter). The endless debate between the acolytes of Vi and those of Emacs is a perennial 'holy war', as it is the debate between BSD and Linux, or the debate of Pascal or Ada versus C, C++ or Java languages, or some other debates that are a permanent source of amusement for those that have nothing better to do than find faults in others and never in themselves.

Wheel (from slang `big wheel' for a powerful person) is a person who has an active wheel bit. 'Wheel' is the traditional name of security group zero in BSD, to which the major system-internal users like the 'root' super user belong. Some systems have expanded on this usage, modifying Unics so that only members of group `wheel' can be super users and command awesome power.

Ping (from the submariner term for a sonar pulse) is a slang term for a small network message (ICMP ECHO) sent by a computer to check for the presence and alertness of another computer. The Unics command ping(8) can be used to do this manually. The 'Ping of Death' was a famous case, which when discovered could have been easily used to crash a wide variety of computers by overunning size limits in their TCP/IP stacks. It was first revealed in late 1996. The open-source Unics community patched its systems to remove the vulnerability within days or weeks, but the closed-source vendors generally took months for doing it. The difference in response times between the open and closed source systems repeated a pattern that is common from other security incidents, and the accompanying glare of bad publicity for the vendors proved to be unusually embarrassing to them, and so passed into history and myth. The term 'ping' is now used to refer to any nudge delivered by network wizards over the network that causes bad things to happen on the system being nudged.

There have been some security incidents, more or less serious. One affected the BSD Sendmail feature. A dangerous executable, as it was later discovered, moved from computer to computer by exploiting flaws in BSD. The main flaw was in Sendmail, another executable often used for sending electronic mail among computers in the interlinked networks. A trapdoor in Sendmail allowed commands to be sent from computer to computer (normally, only real electronic mail is supposed to be sent). Those commands were the dangerous executable. Once that it had entered a computer through Sendmail, it collected information on other computers in the network, it tried to jump to them, and it happily proceeded to infect those computers as well. Fortunately, the reaction of the BSD community is always faster than the reaction of most commercial vendors, and the danger was eliminated before reaching apocalyptic proportions.

Unics genealogy

The following is a brief History of the Unics genealogy. More details afterwards.

There are two primary branches:

-Inspired or influenced by Unics

-Descended from Unics

Inspired or influenced by Unics (but not descended from it) are only three main operating systems, each with different versions:

-Minix (1987) has always been free and open source. Version 3.3 is presented as a 'live' compact disk, boot-strappable and usable without a hard disk, though a hard disk is recommended for making full use of Minix resources.

-Weenix is a system developed at Brown University for tutorial purposes (as it was initially the case also with Minix), but Weenix does not include the usual libraries in C language that are common in most other Unics systems, therefore a sizeable number of executables for Unics cannot be used in Weenix, because such executables depend on the availability of those C libraries. Except for that important limitation, Weenix offers full capabilities and is an excellent tool for learning how an operating system works, which was the original purpose of Minix (versions 1 and 2).

-Linux (1991, inspired on Minix), also mostly free and open source. Linux is presented as a kernel, with a lesser or greater number of executables in different distributions, most of which are free but a few are commercial.

Descended from Unics are the other systems to which this page is devoted. Some are open source, others restricted (closed, mixed or shared source). Some are free, others commercial. They can be divided in two secondary branches, not only from the legal point of view but also from the technical point of view: one free and open, the other commercial and restricted (closed, shared or mixed), with an intermediate branch represented by those systems that at some point changed from commercial to free, and more or less simultaneously they also changed from restricted to open source. It has never happened in the opposite way, a free and open system has never become commercial and closed.

In those systems that began as commercial and later became free, a similar pattern of evolution is repeated ad nauseam: the legal owner decides for various reasons, or he is compelled by different causes, to diminish the support given to his customers. The system is then permitted to be used more or less 'for free' by individuals, or also by non-profit or by non-official organisations, but still keeping the legal rights in all the other aspects.

The legal owner gradually releases his control. He may completely abandon the system, and may even release the source. He may still keep some theoretical legal rights, but in practice he is not interested in his own system anymore. Sooner or later, some enthusiasts may feel attracted to that 'free' system and may begin modifying it, or cloning it, and distribute such new versions under a name that may be identical, or similar, or even completely different. The original may become open source, the derivations are open source almost in every case. Thus comes another victory for the 'Open Source Movement'.

Those that have always been free and open source may be classified like this:

-BSD Net/2 (1991) and 386 BSD (1992) were the origin of Net-BSD (1993) and of Free-BSD (also 1993, some months later). From Net-BSD derived Open-BSD (1994). From Free-BSD derived Dragonfly-BSD, later PC-BSD and Midnight-BSD.

Expanding the above, some non-commercial systems of the Unics genealogy are:

Minix

Minix (meaning 'Minimal Unix'), created in 1987 by Mister Andrew Tanenbaum of Vrije Universiteit at Amsterdam, began as a minimal Unics operating system of open source for IBM Personal Computer or compatibles. Minix is THE OLDEST Unics open source system in common use today, older than any current BSD, Linux, Solaris-Indiana, or than any other currently active open source Unics system. As another distinction, Minix has a microkernel, not a monolithic kernel as it is the case in most other Unics systems. Minix versions 1.x of 1987 and 2.x of 1997 were partly intended as teaching tools, for showing how an operating system could be built. Minix version 3.x of 2006, however, is a fully functional system, with important enhancements made in 2009. Minix 1.x and 2.x can be used with Intel 80386 or compatible processor, but an Intel Pentium or compatible is recommended for Minix 3.x, and at least 16 Megabytes of Random Access Memory. If using a hard disk (not absolutely needed, see below), then a minimum of 200 Megabytes of storage space. Ideally about 700 Megabytes: 667 for the full distribution and a few more for a personal 'home' directory. The 'home' directory is kept intact when updating the Minix system. It is recommended a compact disk drive for installing Minix to a hard disk, or for boot-strapping Minix from the live compact disk (without need of hard disk), if using the compact disk distribution, though other methods exist for installing Minix to a hard disk, if available.

Current in 2016 is Minix version 3.3 of 2014, which is distributed as a 'live' (a boot-strappable) compact disk, one of the very few members of the Unics genealogy so distributed, and in fact one of the few currently active systems that can be used with no more than a compact disk in the computer. The compact disk, and the optional hard disk, must be of the Integrated Device Electronics IDE type. Some Serial ATA disks may work, but SCSI or USB disks do not work. Even without a hard disk, a Universal Serial Bus storage device, or another boot-strappable volume, a fully functional command line is available directly from the compact disk. The distribution image is in ISO 9660 format, and must be expanded by Bzip or similar algorithm before burning the compact disk. Minix 3.3 lacks support for the X-11 Window graphic interface that is often available in other Unics systems, but the lack is not missing much, because computer enthusiasts invariably prefer the command line. Every operation can be done by command line, without a mouse, track ball, touch pad, light pen, or any other pointing device. This is a strong point of Minix and most BSDs.

Minix includes software made by BSD, by the Free Software Foundation, and by other third parties, with the corresponding licences. Minix is not part of BSD, but many executables made for various BSD systems work well in Minix and vice-versa. Minix encourages free volunteers for testing, programming, promoting, or other activities. Most important help is documenting (be it an original writing or a translation). For this purpose, a wiki is available in the Web document of Minix. It is mainly in English, with a few introductory lines in Spanish written by P. A. Stonemann, CSS Dixieland. Other languages are also welcome. Potential collaborators are invited to write to the Minix electronic address and propose their ideas. Minix is distributed under the terms of the BSD licence. The most important book in reference to Minix is 'Operating Systems Design and Implementation', written by Mister Tanenbaum, book first available in paper and now in electronic form.

WARNING: it is highly recommended to back up all important data sets before installing Minix 3 to a hard disk. Being an operating system, it will always overwrite all data present in the partition in which it have been installed. If possible, it is also recommendable to read the installation instructions before attempting to install Minix 3 to hard disk, especially if needing to make partitions (slices) in the hard disk and to keep data already in it. It is not absolutely necessary to read the instructions if dedicating the whole hard disk to Minix 3, or if accepting the risk of losing data in the disk, or if not using a hard disk at all. Oddly enough, detailed instructions are not included with the distribution, they must be read or copied from the Minix Web document, which includes a wiki editable by volunteers. The Uniform Resource Locator is given below. Inside the Minix distribution the main documentation is available by the Unics Manual (the 'man' executable) and by the information software of the Free Software Foundation (the 'info' executable), as it is in most BSD systems. A few documents exist in some other formats. There is a short introduction to the use of Minix below in this page.

Minix
The oldest open source Unics operating system, distributed as a 'live' compact disk
http://www.minix3.org/

 

Minix Wiki
Information on Minix, from simple to complex, where volunteers can be authors or translators
http://wiki.minix3.org/

 

Linux

Linux (meaning 'Linus Unix'), created by Mister Linus Torvalds in 1991 and developed by him and many collaborators, is a fully fledged system very used at present. Mister Torvalds is part of the 6% ethnic minority of Swedes in Finland, and fluent in Finnish as well as in Swedish and in English. He had worked with Minix, and saw that with the help of others he could push the Minix concept farther than Tanenbaum probably had thought that it could go. Thus, Mister Torvalds did not attempt to write Linux from scratch. Instead, he started by reusing code and ideas from Minix. Eventually all the Minix code in Linux went away or was completely rewritten, but while it was there, it provided scaffolding for the infant that would eventually become Linux. Therefore Minix was the inspiration for Linux, but Linux is not a plagiarism of Minix, they are fully separate creations. This is recognised by Mister Tanenbaum himself, against allegations of 'plagiarism' claimed by critics who seem to be at the service of certain, rather dishonest, software giants.

Linux is a clone of Unics for Intel 80386, 80486 and Pentium processors or compatibles. Ports to Alpha, Sparc and many other computers are also in use. The Linux kernel and most executables are distributed for free and with sources. Some executables are not accompanied by source, and a few are commercial and require payment. Linux is what GNU aimed to be, and it relies on the GNU tool set. However, the Free Software Foundation did not produce the GNU kernel to go with that set until 1999, which was too late. Likewise, the term `GNU Linux' wants the Free Software Foundation to get most of the credit for Linux, because Mister Richard Stallman et alii wrote many of the user-level tools for the system, and also because many executables and other resources made for Linux are distributed under the terms of one or another version of the General Public Licence, published by the Free Software Foundation. Linux became about 1996 the cutting edge of the Open Source Movement, having now considerable use.

Other efforts such as Minix or various BSD systems have been technically successful, but have never caught fire in the way that Linux has. In the early XXI century Linux is seriously challenging the dominance of Microsoft Windows operating systems for servers. Linux has already captured 31% of the Internet-server market and 25% of general business servers, but as yet only a small part of the market for desk-tops. This is because Linux, as other Unics systems, is inclined towards efficiency much more than towards friendliness. Unics systems are not 'intuitive', as for instance Microsoft Windows purports to be. This is the main reason why Unics has not captured the general public. If not so much by the general public, Linux is very often used by programmers. The success of Linux seems to have been that Linux worked hard from the start to keep the development process open, and to recruit volunteer programmers, creating a growing effect. Some people use the name `Linux' only in reference to the kernel, not to the entire operating system. The reason is that Linux, strictly speaking, is only the kernel. The rest is composed of distributions, which may be smaller or bigger, with executables that may be open source or closed source, free or commercial (such as Red Hat Linux or Connectiva Linux).

BSD

BSD (meaning `Berkeley Software Distribution'), is a system initially made for VAX and PDP-11 minicomputers built by DEC, and later ported to many other computers. BSD was developed by Mister William Joy and others at the University of California at Berkeley, starting about 1977. It incorporates paged virtual memory, TCP/IP networking enhancements, and many other features. The BSD Unics Releases 4.1, 4.2 and 4.3 (it is incorrect to call them 'versions'), and the commercial systems derived from them: Sun OS, Ultrix and Mt. Xinu, held the technical lead in the Unics world until the successful standardisation efforts made by AT & T after about 1986. BSD has branched considerably, descendants include Net-BSD, Open-BSD, Free-BSD, Dragonfly-BSD, PC-BSD, Midnight-BSD, BSD/OS and Macintosh Darwin OS X, all in use as of 2016.

Net-BSD and Open-BSD

Net-BSD is the most portable system that has ever existed. It can be executed in almost any computer. That fact means that Net-BSD is extremely reliable and robust, or it could not have been ported to so many different computers.

From Net-BSD derived Open-BSD. The strong point of Open-BSD is security. Its development team is based in Canada, thus it is not subjected to the export restrictions on cryptographic software that seriously limit projects based in the United States. Open-BSD is exportable to many architectures and processors, though not so many as it is the case with Net-BSD. Open-BSD is undoubtedly the system of choice when security, in all its varied aspects, be the most important concern, and when portability be a close second concern.

Free-BSD, Dragonfly-BSD, PC-BSD and Midnight-BSD

Free-BSD is the most general-purpose of all BSD systems. Its distribution includes more software and documentation (even full books) than in any other BSD. From Free-BSD derived Dragonfly BSD, PC-BSD and Midnight-BSD.

Not so general as its immediate ancestor, Dragonfly-BSD also has enthusiasts. This system had a port for Intel x86 processors or compatibles, but since version 4.0, Dragonfly now exists only for 86-64 processors.

Targeted to the beginner, PC-BSD and Midnight-BSD aim to be more 'friendly' and 'intuitive' than most other Unics systems. Their default is the graphic interface, instead of the command line that is the strong point of many of the others. A rather unfortunate choice, because the command line gives a flexibility and efficiency that cannot be matched by ANY graphic interface, but sadly most people are ignorant donkeys, and donkeys seem to prefer the easy game of the desk-top icons, the pull-down menu, and the ubiquitous mouse. Microsoft Windows is already the system of choice for the mentally retarded, while BSD is an advanced system for the experienced lover of Computing, and ought to avoid that simplistic trend of the 'graphic interfaces'.

There are various graphic interfaces for beginners who prefer 'eye candy', but the COMMAND LINE of Unics is much more efficient than any funny icons

Unics systems of restricted source

Those that are, or at some point were, commercial or restricted are these:

-USG Unix (1980), origin of System III, System V and Unixware.

-Xenix (1980), origin of SCO Xenix, SCO Unix and Open Server.

-Sun OS (1981). Not really an ancestor of Solaris, in spite of Sun OS having been retroactively named 'Solaris 1' when Solaris was released in 1991 as 'Solaris 2' (not to confuse with Open Solaris, see below).

-Ultrix (1982)

-AIX (1985)

-HP/UX (1985)

-Mt. Xinu

Expanding the above, some commercial systems of the Unics genealogy are:

USG Unix. Refers to AT & T Unix commercial versions after Version 7, especially System III and System V releases 1, 2 and 3. So called because during most of the life span of those versions AT & T's support crew was called the `Unix Support Group', it is applied to versions that pre- or post-dated USG but were of the same lineage. Once upon a time in elder days, everyone running Unics had source. After 1978, AT & T's policy tightened up, so this objurgation was in theory appropriately directed only at associates of some outfit with a Unics source license. In practice, bootlegs of Unics source code (made precisely for reference purposes) were so ubiquitous that one could utter it at almost anyone on the network without concern. Nowadays, free Unics clones have become widely enough distributed that anyone can read source legally. The most widely distributed is certainly Linux, with variants of the NET/2 and 4.4 BSD distributions running second. Cheap commercial Unics with source such as BSD/OS are accelerating this trend.

Xenix and its derivations (SCO Xenix, SCO Unix and Open Server) are among the many commercial variants of the Unics genealogy. Like other such variants, they still have corporative users and some amount of development.

Sun OS, the BSD Unics variant supported on Sun Microsystems's Unix work stations. Sun Microsystems: the name was originally an acronym, Stanford University Network. Sun started about 1980 with some hardware experts, mainly from Stanford, talking to some software experts, mainly from Berkeley. Sun's original technology concept married a clever board design based on Motorola 68000 to BSD Unics. Sun went on to lead the worstation industry in the 1980s, and for years afterwards remained an engineering-driven company. Though Sun drifted away from its origins after 1990 and made some strategic moves that disappointed and annoyed many (especially by maintaining proprietary control of Java and by rejecting Linux), Sun is still considered within the family in much the same way that DEC was in the 1970s and early 1980s.

Ultrix was the variant developed by DEC for its VAX minicomputers released in 1978 (based on PDP-11 minicomputers). VAXen were common in the 1980's. Ultrix was based on 4.2 BSD and remained compatible, in spite of modifications made by DEC. Ultrix was also one of the best documented members of the Unics genealogy. In spite of some initial reserve felt by Mister Kenneth Olsen, President of DEC (the famous brand of minicomputers and small main frames), DEC finally chose to begin its own family of Unix work stations, thus giving strong impetus to Unics systems.

AIX, a version of Unics produced by IBM. The name AIX is used especially in reference to AIX 3.x, incorporated into IBM RS/6000 series of computers. AIX was a victim of the dreaded 'hybridism' disease, an attempt to combine the two main currents of the Unics stream: BSD Unics and USG Unix, but AIX became a monstrosity to haunt system administrators. For example, if new accounts were created while many users were logged, then the load average jumped quickly over 20 due to silly implementation of the user data bases. For a quite similar disease, compare HP-UX.

HP-UX, a version of Unics produced by Hewlett-Packard, which features some truly unique bogosities in the data set system internals and elsewhere (these occasionally create portability problems). The former Apollo Computers Company was swallowed by Hewlett-Packard in 1989, forming HP/Apollo.

Mt. Xinu was another system based on 4.1, 4.2 and 4.3 BSD, used in the 1980's.

Unics systems that were restricted and became open

Those in the middle land, from commercial to free or from restricted to open, are so far these ones:

-Macintosh Darwin OS X (1998). Not very related to original Apple Macintosh.

-Open Solaris (2008). Typical example of the evolution outlined above, see below.

Macintosh Darwin OS X is the result of an effort made by Apple to take a part in the development of Unics systems (the original Apple Macintosh is not part of the Unics genealogy). Darwin OS X is based on BSD, however (following the philosophy of the Macintosh series started in 1984), Darwin OS X tries to be an intuitive variant 'for the rest of them' (for those users who do not know much about computers). This is quite contrary to the declared purpose of the vast majority of systems in the Unics genealogy, which are invariably intended for the experienced user. Only Darwin OS X, some Linux distributions, PC-BSD and Midnight-BSD (the latter two derived from Free-BSD), try to make easy the life of the computer illiterate. Consequently, in the aim for being 'friendly' to neophytes, such systems are relatively inefficient for complex work, and with good reason avoided by the expert, who always prefers a command line.

Solaris. The VR4 variant of Unics made by Sun's Systems. Solaris came out of the standardization wars of the early 1990s. Especially on old hardware, the responsiveness of Solaris is much less crisp than under the preceding Sun OS. Sun retroactively renamed Sun OS as 'Solaris 1', and the early releases of Solaris as 'Solaris 2'. Initial releases of Solaris 2 were quite buggy, and Sun was forced by customer demand to support Sun OS (Solaris 1) for quite some time. Newer versions of Solaris were acknowledged to be among the best commercial Unics variants in the late 1990's, but losing single-processor benchmarks to Sparc Linux. From Solaris 2 developed Open Solaris in 2008, but it lasted only two years, being discontinued in 2010. A group of enthusiasts of Open Solaris then developed Open Indiana, which is available as of 2016, although it does not seem to be very active.

 

Classification of the BSD genealogy

The text below offers in detail the classification of a part of the Unics genealogy, the part that refers to BSD, the Berkeley Software Distribution operating systems or derived from it. Descended from Unics, BSD systems have always been free and open source.

BSD History: Research (First to Tenth), and BSD (most branches)

Research First Edition (V1)
     |
Research Second Edition (V2)
     |
Research Third Edition (V3)
     |
Research Fourth Edition (V4)
     |
Research Fifth Edition (V5)
     |
Research Sixth Edition (V6) -------*
     |                             |
Research Seventh Edition (V7)    1BSD
       \                          /
         \                      /
           \                  /
             \              /
             32V        2BSD-------------*
                \       /                |
                  \   /                  |
                  3BSD                   |
                  |                      |
                  |                      |
               4.0BSD                2.79BSD
                  |                      |
               4.1BSD --------------> 2.8BSD
                  |                      |
              4.1aBSD -----------\       |
                  |                \     |
              4.1bBSD                \   |
                  |                    \ |
      *------ 4.1cBSD --------------> 2.9BSD
     /            |                      |
Research Eighth Ed|                   2.9BSD-Seismo
     |            |                      |
     +----<--- 4.2BSD               2.9.1BSD
     |            |                      |
     +----<--- 4.3BSD -------------> 2.10BSD
     |            |               /      |
Research Ninth Ed |              / 2.10.1BSD
     |         4.3BSD Tahoe-----+        |
     |            |              \       |
     |            |                \     |
     v            |                  2.11BSD
Research Tenth Ed |                      |
                  |                  2.11BSD rev #430
               4.3BSD NET/1              |
                  |                      v
               4.3BSD Reno
                  |
   *---------- 4.3BSD NET/2 -------------------+-------------*
   |                    |                      |             |
386BSD 0.0              |                      |           BSD/386 ALPHA
   |                    |                      |             |
386BSD 0.1 ------------>+                      |           BSD/386 0.313]
   |     \              |                  4.4BSD Alpha      |
   |     386BSD 1.0     |                      |           BSD/386 0.934]
   |                    |                  4.4BSD            |
   |                    |                    / |             |
   |                    |   4.4BSD-Encumbered  |             |
   |                -NetBSD 0.8                |           BSD/386 1.0
   |               /    |                      |             |
FreeBSD 1.0 <-----'  NetBSD 0.9                |           BSD/386 1.1
   |                    |           .----- 4.4BSD Lite       |
FreeBSD 1.1             |          /   /       |     \       |
   |                    |         /   /        |      \      |
FreeBSD 1.1.5       .---|--------'   /         |       \     |
   |               /    |           /          |        \    |
FreeBSD 1.1.5.1   /     |          /           |         \   |
   |             /   NetBSD 1.0 <-'            |          \  |
   |            /       |                      |           \ |
FreeBSD 2.0 <--'        |                      |           BSD/OS 2.0
   |                     \                     |             |
FreeBSD 2.0.5             \                    |           BSD/OS 2.0.1
   |                 .-----\------------- 4.4BSD Lite2       |
   |                 |      \             |  |   |   |       |
   |                 | .-----|------Rhapsody |   |   |       |
   |                 | |     |        NetBSD 1.3 |   |       |
   |                 | |     |           OpenBSD 2.3 |       |
   |                 | |     |                BSD/OS 3.0     |
FreeBSD 2.1          | |     |                               |
 |   |               | |  NetBSD 1.1 ------.               BSD/OS 2.1
 | FreeBSD 2.1.5     | |     |              \                |
 |     |             | |  NetBSD 1.2         \             BSD/OS 3.0
 | FreeBSD 2.1.6     | |     |  \          OpenBSD 2.0       |
 |     |             | |     |   \             |             |
 | FreeBSD 2.1.6.1   | |     |    \            |             |
 |     |             | |     |     \           |             |
 | FreeBSD 2.1.7     | |     |      |          |             |
 |     |             | |     |  NetBSD 1.2.1   |             |
 | FreeBSD 2.1.7.1   | |     |                 |             |
 |                   | |     |                 |             |
 |                   | |     |                 |             |
 *-FreeBSD 2.2       | |     |                 |             |
 |        \          | |     |                 |             |
 |     FreeBSD 2.2.1 | |     |                 |             |
 |         |         | |     |                 |             |
 |     FreeBSD 2.2.2 | |     |             OpenBSD 2.1       |
 |         |         | |     |                 |             |
 |     FreeBSD 2.2.5 | |     |                 |             |
 |         |         | |     |             OpenBSD 2.2       |
 |         |         | |  NetBSD 1.3           |             |
 |     FreeBSD 2.2.6 | |     |    |            |             |
 |         |         | |     | NetBSD 1.3.1    |           BSD/OS 3.1
 |         |         | |     |    |        OpenBSD 2.3       |
 |         |         | |     | NetBSD 1.3.2    |             |
 |     FreeBSD 2.2.7 | |     |    |            |             |
 |         |         | |     |    |            |           BSD/OS 4.0
 |         v         | |     |    |            |             |
 |     FreeBSD 2.2.8 | |     |    |            |             |
 |                   | |     |    |        OpenBSD 2.4       |
FreeBSD 3.0 <--------* |     |    v            |             |
 |                     |     | NetBSD 1.3.3    |             |
 *---FreeBSD 3.1       |     |                 |             |
 |       |             |     |                 |           BSD/OS 4.0.1
 |   FreeBSD 3.2----*  |  NetBSD 1.4       OpenBSD 2.5       |
 |       |          |  |  |  |    |            |             |
 |       |          |  |  |  |    |            |             |
 |       |          |  |  |  |    |            |             |
 |   FreeBSD 3.3    |  |  |  | NetBSD 1.4.1    |             |
 |       |          |  |  |  |    |        OpenBSD 2.6       |
 |   FreeBSD 3.4    |  |  |  |    |            |             |
 |           |      |  |  |  |    |            |           BSD/OS 4.1
FreeBSD 4.0  |      |  |  |  | NetBSD 1.4.2    |             |
 |           |      |  |  |  |    |            |             |
 |           |      |  |  |  |    |            |             |
 |   FreeBSD 3.5    |  |  |  |    |        OpenBSD 2.7       |
 |           |      |  |  |  |    |            |             |
 |   FreeBSD 3.5.1  |  |  |  |    |            |             |
 |                  |  |  |  |    |            |             |
 *---FreeBSD 4.1    |  |  |  |    |            |             |
 |      |           |  | (?) |    |            |             |
 |   FreeBSD 4.1.1  |  |  /  |    |            |             |
 |      |           |  | /   |    |            |             |
 |   FreeBSD 4.2   Darwin/   | NetBSD 1.4.3    |             |
 |      |         Mac OS X   |             OpenBSD 2.8     BSD/OS 4.2
 |      |             |      |                 |             |
 |      |             |      |                 |             |
 |      |           10.0  NetBSD 1.5           |             |
 |   FreeBSD 4.3      |      |    |            |             |
 |      |             |      |    |        OpenBSD 2.9       |
 |      |             |      | NetBSD 1.5.1    |             |
 |      |             |      |    |            |             |
 |   FreeBSD 4.4-.    |      | NetBSD 1.5.2    |             |
 |      |        | Mac OS X  |    |            |             |
 |      |        |   10.1    |    |        OpenBSD 3.0       |
 |   FreeBSD 4.5 |    |      |    |            |             |
 |      |         \   |      |    |            |           BSD/OS 4.3
 |   FreeBSD 4.6   \  |      |    |        OpenBSD 3.1       |
 |      |           \ |      | NetBSD 1.5.3    |             |
 |   FreeBSD 4.6.2 Mac OS X  |                 |             |
 |      |            10.2    |                 |             |
 |   FreeBSD 4.7      |      |                 |             |
 |      |             |   NetBSD 1.6       OpenBSD 3.2       |
 |   FreeBSD 4.8      |      |    |            |             |
 |      |             |      | NetBSD 1.6.1    |             |
 |      |--------.    |      |    |        OpenBSD 3.3     BSD/OS 5.0
 |      |         \   |      |    |            |             |
 |   FreeBSD 4.9   |  |      |    |        OpenBSD 3.4     BSD/OS 5.1 ISE
 |      |          |  |      |    |            |
 |      |          |  |      | NetBSD 1.6.2    |
 |      |          |  |      |    |            |
 |      |          |  |      |    |        OpenBSD 3.5
 |      |          |  |      |    v            |
 |   FreeBSD 4.10  |  |      |                 |
 |      |          |  |      |                 |
 |   FreeBSD 4.11  |  |      |                 |
 |                 |  |      |                 |
 |                  `-|------|-----------------|---------------------.
 |                    |      |                 |                      \
FreeBSD 5.0           |      |                 |                       |
 |                    |      |                 |                       |
FreeBSD 5.1           |      |                 |                 DragonFly 1.0
 |          \         |      |                 |                       |
 |           ----- Mac OS X  |                 |                       |
 |                   10.3    |                 |                       |
FreeBSD 5.2           |      |                 |                       |
 |      |             |      |                 |                       |
 |   FreeBSD 5.2.1    |      |                 |                       |
 |                    |      |                 |                       |
 *-------FreeBSD 5.3  |      |                 |                       |
 |           |        |      |             OpenBSD 3.6                 |
 |           |        |   NetBSD 2.0           |                       |
 |           |        |      | |  |            |                DragonFly 1.2.0
 |           |     Mac OS X  | | NetBSD 2.0.2  |                       |
 |           |       10.4    | |  |            |                       |
 |       FreeBSD 5.4  |      | |  |            |                       |
 |           |        |      | |  |        OpenBSD 3.7                 |
 |           |        |      | | NetBSD 2.0.3  |                       |
 |           |        |      | |  |            |                       |
 *--FreeBSD  |        |      | |  v        OpenBSD 3.8                 |
 |    6.0    |        |      | |               |                       |
 |     |     |        |      |  \              |                       |
 |     |     |        |      | NetBSD 2.1      |                       |
 |     |     |        |      |                 |                       |
 |     |     |        |   NetBSD 3.0           |                       |
 |     |     |        |      | |  |            |                DragonFly 1.4.0
 |     |     |        |      | |  |        OpenBSD 3.9                 |
 |  FreeBSD  |        |      | |  |            |                       |
 |    6.1    |        |      | |  |            |                       |
 |     |  FreeBSD 5.5 |      | |  |            |                       |
 |     |              |      | | NetBSD 3.0.1  |                DragonFly 1.6.0
 |     |              |      | |  |            |                       |
 |     |              |      | |  |        OpenBSD 4.0                 |
 |     |              |      | | NetBSD 3.0.2  |                       |
 |     |              |      | NetBSD 3.1      |                       |
 | FreeBSD 6.2        |      |                 |                       |
 |     |              |      |                 |                DragonFly 1.8.0
 |     |              |      |             OpenBSD 4.1                 |
 |     |              |      |                 |                DragonFly 1.10.0
 |     |           Mac OS X  |                 |                       |
 |     |             10.5    |                 |                       |
 |     |              |      |             OpenBSD 4.2                 |
 |     |              |   NetBSD 4.0           |                       |
 | FreeBSD 6.3        |      |    |            |                       |
 |            \       |      |    |            |                       |
 *--FreeBSD    |      |      |    |            |                DragonFly 1.12.0
 |    7.0      |      |      |    |            |                       |
 |     |       |      |      |    |        OpenBSD 4.3                 |
 |     |       |      |      | NetBSD 4.0.1    |                DragonFly 2.0.0
 |     |    FreeBSD   |      |             OpenBSD 4.4                 |
 |     |      6.4     |      |                 |                       |
 |     |              |      |                 |                       |
 |  FreeBSD 7.1       |      |                 |                       |
 |     |              |      |                 |                DragonFly 2.2.0
 |  FreeBSD 7.2       |   NetBSD 5.0       OpenBSD 4.5                 |
 |             \      |      | |    \          |                       |
 |              |  Mac OS X  | |     \         |                       |
 |              |    10.6    | |      \        |                       |
 |              |     |      | |   NetBSD      |                DragonFly 2.4.0
 |              |     |      | |    5.0.1  OpenBSD 4.6                 |
 |              |     |      | |       |       |                       |
 *--FreeBSD     |     |      | |       |       |                       |
 |    8.0       |     |      | |       |       |                       |
 |     |     FreeBSD  |      | |   NetBSD      |                       |
 |     |       7.3    |      | |    5.0.2      |                DragonFly 2.6.0
 |     |        |     |      | |           OpenBSD 4.7                 |
 |  FreeBSD     |     |      | |               |                       |
 |    8.1       |     |      | |               |                       |
 |     |        |     |      | |               |                DragonFly 2.8.2
 |     |        |     |      |  \          OpenBSD 4.8                 |
 |     |        |     |      |  NetBSD         |                       |
 |  FreeBSD  FreeBSD  |      |    5.1          |                       |
 |    8.2      7.4    |      |     |           |               DragonFly 2.10.1
 |     |              |      |     |       OpenBSD 4.9                 |
 |     `-----.     Mac OS X  |     |           |                       |
 |            \      10.7    |     |           |                       |
 |             |      |      |     |       OpenBSD 5.0                 |
 *--FreeBSD    |      |      |     |           |                       |
 |    9.0      |      |      |  NetBSD 5.1.2   |               DragonFly 3.0.1
 |     v    FreeBSD   |      |                 |                       |
 |            8.3     |      |             OpenBSD 5.1                 |
 |                 Mac OS X  |                 |                       |
 |                   10.8    |                 |                       |
 |                    |   NetBSD 6.0           |                       |
 |                    |      |                 |                       |
 |                    |   NetBSD 7.0           |                       |
 |                    |      |                 |                       |
FreeBSD 10 -current   |  NetBSD -current  OpenBSD -current             |
 |                    |      |                 |                       |
 v                    v      v                 v                       v

 

Chronology of the BSD genealogy

Time tolerance is about six months plus or minus, depending on which book or article be consulted. It makes a difference if considering as 'release' the announcement in Usenet or another public medium, or if considering as release the moment when it was made publicly available. The latter is more correct.

Multics 1965

Unics 1969 June. DEC PDP-7

Research Unics First Edition 1971 Nov 3rd [QCU]. DEC PDP-11/20, Assembly

Research Unics Second Edition 1972 June 12th [QCU]. 10 Unics installations

Research Unics Third Edition 1973 Feb [QCU]. Pipes, 16 Unics installations

Research Unics Fourth Edition 1973 November [QCU]. Rewriting in C effected. Renamed to Unix. Above 30 Unix installations

Research Unix Fifth Edition 1974 June [QCU]. Above 50 Unix installations

Research Unix Sixth Edition 1975 May [QCU]. Port to DEC Vax

Research Unix Seventh Edition 1979 January [QCU]. First portable Unix

Research Unix Seventh Edition (Version 7) was the first widely distributed version of Unics, released unsupported by Bell Laboratories in late 1978 or early 1979. The term is used adjectivally to describe Unics features or also programmes that date from that release, and are thus guaranteed to be present and portable in all Unics versions (this was the standard gauge of portability before the Official Standard IEEE POSIX 1003). The name 'Version 7' is not meant to be the 'seventh version of Unix'. Research Unix at Bell Laboratories has traditionally been numbered according to the edition of the associated documentation. Only the widely distributed Sixth and Seventh Editions are sometimes called 'Version', while the system that might today be known as `Version 10' is instead known as 'Research Unix Tenth Edition'. For this reason, 'Version 7' is read as 'Research Unix Seventh Edition'. Some purists, impatient with commercialism and kernel bloat, maintain that Version 7 was the Last True Unix. Ergo, the other ones are only variations on the theme, which in this document of CSS Dixieland are called 'Unics' for avoiding confusion, and because 'Unix' is still a legally protected trade mark.

Research Unix Eighth Edition 1985 Feb [QCU]. VAX 11/750, VAX 11/780 [dmr]. Descended from 4.1 BSD [44B] or from from 4.1c BSD [dmr]. Scooping-out and replacement of character-device and networking part by the streams mechanism.

Research Unix Ninth Edition 1986 September [QCU]

Research Unix Tenth Edition 1989 October [QCU]

1BSD             Late 1977
                 1978 March 9th [QCU]. PDP-11, Pascal, ex(1)
                 30 free copies of 1BSD given, 35 tapes sold for 50 USD [QCU]
2BSD             Mid 1978 [QCU] 1979 May 10th [TUHS]. 75 2BSD tapes sent
2.79BSD          1980-04-xx [TUHS]
2.8BSD           1981-07-xx [KSJ]
2.8.1BSD         1982-01-xx [QCU] Set of performance improvements
2.9BSD           1983-07-xx [KSJ]
2.9.1BSD         1983-11-xx [TUHS]
2.9BSD-Seismo    1985-08-xx [SMS]
2.10BSD          1987-04-xx [KKK]
2.10.1BSD        1989-01-xx [SMS]
2.11BSD          1992-02-xx [SMS]
2.11BSD rev 430  1999-12-13 [SMS]

32V              1978-1[01]-xx [QCU]
3BSD             Late 1979 [QCU] March 1980 [TUHS]. Virtual memory, page
                 replacement, demand paging
4.0BSD           1980-10-xx
4.1BSD           1981-07-08 [DOC]
4.1aBSD          1982-04-xx Alpha release, 100 sites, networking [44B]
4.1bBSD          internal release, fast filesystem [44B]
4.1cBSD          Late 1982 Beta release, IPC [44B]
4.2BSD           1983-09-xx [QCU] 1983-08-03 [DOC]

BSD Unics Release 4.2, also correctly called 4.2 BSD or BSD 4.2, but not 'version 4.2'. Such naming conventions apply to all BSD Unics Releases, from 1 BSD (late 1977) to 4.4 BSD Lite Release 2 (June 1995), which was the final distribution from the Computer Science Research Group at Berkeley.

4.3BSD           1986-06-xx [QCU]
                 1986-04-05 [KB], [DOC]
4.3BSD Tahoe     1988-06-15 [QCU], [DOC]
4.3BSD NET/1     1988-11-xx [QCU]
                 1989-01-01 [DOC]
4.3BSD Reno      1990-06-29 [QCU], [DOC]
4.3BSD NET/2     1991-06-28 [QCU], [DOC]

386 BSD Jolix, a freeware port of BSD Net/2 to Intel 80386 processor, created by Mister William Jolitz, Lynne Greer Jolitz et alii. The name '386 BSD Jolix' is used in order to differentiate from another BSDI port, based on the same source tape, which used to be called 'BSD/386' and is now called 'BSD/OS'.

BSD/386 ALPHA    1991-12-xx [BSDI] First code released outside BSDI
386BSD 0.0       1992-02-xx [DOC]
BSD/386 0.3.1    1992-04-xx [BSDI] First ext. beta; B customers
BSD/386 0.3.3    1992-06-xx [BSDI] First CDROM version
386BSD 0.1       1992-07-28 [DOC]
4.4BSD Alpha     1992-07-07
BSD/386 0.9.3    1992-10-xx [BSDI] First external gamma; G customers
BSD/386 0.9.4    1992-12-xx [BSDI] It would have been 1.0 except for request
                 for preliminary injunction
BSD/386 1.0      1993-03-xx [BSDI] Injunction denied; first official release
NetBSD 0.8       1993-04-20 [NBD]
4.4BSD           1993-06-01 [USE]
NetBSD 0.9       1993-08-23 [NBD]
FreeBSD 1.0      1993-11-01 [FBD]
FreeBSD 1.0.2    1993-11-14 [FBD] Supersedes 1.0, 13 days after release.
BSD/386 1.1      1994-02-xx [BSDI]
4.4BSD Lite      1994-03-01 [USE]
FreeBSD 1.1      1994-05-07 [FBD]
FreeBSD 1.1.5    1994-06-30 [FBD]
FreeBSD 1.1.5.1  1994-07-05 [FBD] Supersedes 1.1.5, 5 days after release.
NetBSD 1.0       1994-10-26 [NBD]
386BSD 1.0       1994-11-12 [USE]
FreeBSD 2.0      1994-11-23 [FBD]
BSD/OS 2.0       1995-01-xx [BSDI] Based on 4.4 Lite
FreeBSD 2.0.5    1995-06-10 [FBD]
BSD/OS 2.0.1     1995-06-xx [BSDI]
4.4BSD Lite R 2  1995-06-xx [44B] The true final distribution from the CSRG
FreeBSD 2.1.0    1995-11-19 [FBD]
NetBSD 1.1       1995-11-26 [NBD]
BSD/OS 2.1       1996-01-xx [BSDI]
FreeBSD 2.1.5    1996-07-14 [FBD]
NetBSD 1.2       1996-10-04 [NBD]
OpenBSD 2.0      1996-10-18 [OBD]
FreeBSD 2.1.6    1996-11-16 [FBD]
FreeBSD 2.1.6.1  1996-11-25 [FBD] (sendmail security release)
Rhapsody         1997-xx-xx
FreeBSD 2.1.7    1997-02-20 [FBD]
BSD/OS 3.0       1997-02-xx [BSDI] Based on 4.4 Lite 2
FreeBSD 2.2.0    1997-03-16 [FBD]
FreeBSD 2.2.1    1997-03-25 [FBD]
FreeBSD 2.2.2    1997-05-16 [FBD]
NetBSD 1.2.1     1997-05-20 [NBD] (patch release)
OpenBSD 2.1      1997-06-01 [OBD]
FreeBSD 2.2.5    1997-10-22 [FBD]
OpenBSD 2.2      1997-12-01 [OBD]
NetBSD 1.3       1998-01-04 [NBD]
FreeBSD 2.2.6    1998-03-25 [FBD]
NetBSD 1.3.1     1998-03-09 [NBD] (patch release)
BSD/OS 3.1       1998-03-xx [BSDI]
OpenBSD 2.3      1998-05-19 [OBD]
NetBSD 1.3.2     1998-05-29 [NBD] (patch release)
FreeBSD 2.2.7    1998-07-22 [FBD]
BSD/OS 4.0       1998-08-xx [BSDI]. 2-lock MP support, ELF executables
FreeBSD 3.0      1998-10-16 [FBD]. FreeBSD-3.0 is a snapshot from -current,
                 while 3.1 and 3.2 are from 3.x-stable, which was branched
                 quite some time after 3.0-release
FreeBSD 2.2.8    1998-11-29 [FBD]
OpenBSD 2.4      1998-12-01 [OBD]
NetBSD 1.3.3     1998-12-23 [NBD] (patch release)
FreeBSD 3.1      1999-02-15 [FBD]
BSD/OS 4.0.1     1999-03-xx [BSDI]
NetBSD 1.4       1999-05-12 [NBD]
FreeBSD 3.2      1999-05-17 [FBD]
OpenBSD 2.5      1999-05-19 [OBD]
NetBSD 1.4.1     1999-08-26 [NBD] (patch release)
FreeBSD 3.3      1999-09-17 [FBD]
OpenBSD 2.6      1999-12-01 [OBD]
FreeBSD 3.4      1999-12-20 [FBD]
BSD/OS 4.1       1999-12-xx [BSDI]
FreeBSD 4.0      2000-03-13 [FBD]
NetBSD 1.4.2     2000-03-19 [NBD] (patch release)
OpenBSD 2.7      2000-06-15 [OBD]
FreeBSD 3.5      2000-06-24 [FBD]
FreeBSD 4.1      2000-07-27 [FBD]
FreeBSD 3.5.1    2000-07-28 [FBD]
FreeBSD 4.1.1    2000-09-25 [FBD] (a network-only patch release)
FreeBSD 4.2      2000-11-21 [FBD]
NetBSD 1.4.3     2000-11-25 [NBD] (patch release)
BSD/OS 4.2       2000-11-29 [BSDI]
OpenBSD 2.8      2000-12-01 [OBD]
NetBSD 1.5       2000-12-06 [NBD]
Mac OS X 10.0    2001-03-24 [APL]
FreeBSD 4.3      2001-04-20 [FBD]
OpenBSD 2.9      2001-06-01 [OBD]
NetBSD 1.5.1     2001-07-11 [NBD] (patch release)
NetBSD 1.5.2     2001-09-13 [NBD] (patch release)
FreeBSD 4.4      2001-09-18 [FBD]
Mac OS X 10.1    2001-09-29 [APL]
OpenBSD 3.0      2001-12-01 [OBD]
FreeBSD 4.5      2002-01-29 [FBD]
BSD/OS 4.3       2002-03-14 [WRS]
OpenBSD 3.1      2002-05-19 [OBD]
FreeBSD 4.6      2002-06-15 [FBD]
NetBSD 1.5.3     2002-07-22 [NBD] (patch release)
FreeBSD 4.6.2    2002-08-15 [FBD] (patch release)
Mac OS X 10.2    2002-08-23 [APL]
NetBSD 1.6       2002-09-14 [NBD]
FreeBSD 4.7      2002-10-08 [FBD]
OpenBSD 3.2      2002-11-01 [OBD]
FreeBSD 5.0      2003-01-17 [FBD]. FreeBSD 5.0 is a separate branch from
                 -current, similar to 3.0.
FreeBSD 4.8      2003-04-03 [FBD]
NetBSD 1.6.1     2003-04-21 [NBD] (patch release)
OpenBSD 3.3      2003-05-01 [OBD]
BSD/OS 5.0       2003-05-?? [WRS]
FreeBSD 5.1      2003-06-09 [FBD]
Mac OS X 10.3    2003-10-24 [APL]
FreeBSD 4.9      2003-10-28 [FBD]
BSD/OS 5.1 ISE   2003-10-?? [WRS] (final version)
OpenBSD 3.4      2003-11-01 [OBD]
FreeBSD 5.2      2004-01-12 [FBD]
FreeBSD 5.2.1    2004-02-22 [FBD] (patch release)
NetBSD 1.6.2     2004-03-01 [NBD] (patch release)
OpenBSD 3.5      2004-04-01 [OBD]
FreeBSD 4.10     2004-05-27 [FBD]
DragonFly 1.0    2004-07-12 [DFB]
OpenBSD 3.6      2004-10-29 [OBD]
FreeBSD 5.3      2004-11-06 [FBD]
NetBSD 2.0       2004-12-09 [NBD]
FreeBSD 4.11     2005-01-25 [FBD]
DragonFly 1.2.0  2005-04-08 [DFB]
NetBSD 2.0.2     2005-04-14 [NBD] (security/critical release)
Mac OS X 10.4    2005-04-29 [APL]
FreeBSD 5.4      2005-05-09 [FBD]
OpenBSD 3.7      2005-05-19 [OBD]
NetBSD 2.0.3     2005-10-31 [NBD] (security/critical release)
OpenBSD 3.8      2005-11-01 [OBD]
FreeBSD 6.0      2005-11-01 [FBD]
NetBSD 2.1       2005-11-02 [NBD]
NetBSD 3.0       2005-12-23 [NBD]
DragonFly 1.4.0  2006-01-08 [DFB]
OpenBSD 3.9      2006-05-01 [OBD]
FreeBSD 6.1      2006-05-08 [FBD]
FreeBSD 5.5      2006-05-25 [FBD]
NetBSD 3.0.1     2006-07-24 [NBD] (security/critical release)
DragonFly 1.6.0  2006-07-24 [DFB]
OpenBSD 4.0      2006-11-01 [OBD]
NetBSD 3.0.2     2006-11-04 [NBD] (security/critical release)
NetBSD 3.1       2006-11-04 [NBD]
FreeBSD 6.2      2007-01-15 [FBD]
DragonFly 1.8.0  2007-01-30 [DFB]
OpenBSD 4.1      2007-05-01 [OBD]
DragonFly 1.10.0 2007-08-06 [DFB]
Mac OS X 10.5    2007-10-26 [APL]
OpenBSD 4.2      2007-11-01 [OBD]
NetBSD 4.0       2007-12-19 [NBD]
FreeBSD 6.3      2008-01-18 [FBD]
DragonFly 1.12.0 2008-02-26 [DFB]
FreeBSD 7.0      2008-02-27 [FBD]
OpenBSD 4.3      2008-05-01 [OBD]
DragonFly 2.0.0  2008-07-21 [DFB]
OpenBSD 4.4      2008-11-01 [OBD]
FreeBSD 6.4      2008-11-28 [FBD]
FreeBSD 7.1      2009-01-04 [FBD]
DragonFly 2.2.0  2009-02-17 [DFB]
NetBSD 5.0       2009-04-29 [NBD]
OpenBSD 4.5      2009-05-01 [OBD]
FreeBSD 7.2      2009-05-04 [FBD]
Mac OS X 10.6    2009-06-08 [APL]
NetBSD 5.0.1     2009-08-02 [NBD] (security/critical release)
DragonFly 2.4.0  2009-09-16 [DFB]
OpenBSD 4.6      2009-10-18 [OBD]
FreeBSD 8.0      2009-11-26 [FBD]
NetBSD 5.0.2     2010-02-12 [NBD] (security/critical release)
FreeBSD 7.3      2010-03-23 [FBD]
DragonFly 2.6.0  2010-03-28 [DFB]
OpenBSD 4.7      2010-05-19 [OBD]
FreeBSD 8.1      2010-07-24 [FBD]
DragonFly 2.8.2  2010-10-30 [DFB]
OpenBSD 4.8      2010-11-01 [OBD]
NetBSD 5.1       2010-11-19 [NBD]
FreeBSD 7.4      2011-02-24 [FBD]
FreeBSD 8.2      2011-02-24 [FBD]
DragonFly 2.10.1 2011-04-26 [DFB]
OpenBSD 4.9      2011-05-01 [OBD]
Mac OS X 10.7    2011-07-20 [APL]
OpenBSD 5.0      2011-11-01 [OBD]
FreeBSD 9.0      2012-01-12 [FBD]
NetBSD 5.1.2     2012-02-02 [NBD] (security/critical release)
DragonFly 3.0.1  2012-02-21 [DFB]
FreeBSD 8.3      2012-04-18 [FBD]
OpenBSD 5.1      2012-05-01 [OBD]
Mac OS X 10.8    2012-07-25 [APL]
NetBSD 6.0       2012-10-17 [NBD]

Sources of information for the classification and the chronology:

[44B] Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John
    Quarterman. The Design and Implementation of the 4.4BSD Operating System.
[APL] Apple Macintosh. http://www.apple.com/macosx/
[BSDI] Berkeley Software Design Incorporated.
[DFB] DragonFly-BSD Project.
[DOC] README, COPYRIGHT on tape.
[FBD] Free-BSD Project.
[KB]  Keith Bostic. BSD2.10 available from Usenix. comp.unix.sources,
      Volume 11, Info 4, April 1987.
[KKK] Marshall Kirk McKusick, Keith Bostic. Michael J. Karels, Tahoe
      announcement. comp.bugs.4bsd.ucb-fixes, 1988 June 15th.
[KSJ] Michael J. Karels, Carl F. Smith, William F. Jolitz.
      Changes in the Kernel in 2.9BSD. Second Berkeley Software
      Distribution Unics Version 2.9, 1983 July.
[NBD] Net-BSD Project.
[OBD] Open-BSD Project.
[QCU] Peter H. Salus. A quarter century of UNIX.
[SMS] Steven M. Schultz. 2.11BSD, UNIX for the PDP-11.
[TUHS] Unix Historical Society. http://minnie.tuhs.org/Unix_History/
[USE] Usenet announcement.
[WRS] Wind River Systems, Incorporated.
[dmr] Dennis Ritchie, via Electronic Mail

 

Characteristics of some Unics systems: short introduction to Minix

Minix version 3.3.0 can be used as a live compact disk (very few Unics systems offer live compact disk), or it can be installed to a hard disk. Either way, once with the session begun, an optional boot start kernel loader asks for kernel location and name, and for any switches (also called options, arguments, parameters) that must be passed to it. It is possible to load a generic kernel without switches, to load it with some specified switches, or to use a kernel loader command prompt. If choosing the command prompt we can probe devices or perform other operations before we boot-strap the kernel, then we quit the prompt and load the kernel as above, or from the prompt we load the kernel with or without switches. Once that we have finished those preliminary operations, and if we do not need switches, then we enter:

boot [ENTER]

Contrary to DOS, letter case is DIFFERENT in Unics. An upper case letter such as 'A' is seen as different from the same lower case letter, such as 'a'.

If the kernel begin boot-strapping without problems, it will show lines with various technical informations for a few seconds (or a few minutes, depending on the complexity of the installation). Those lines are logged for the session and can be consulted, for example for detecting devices or data set system mount points, or for changing configuration. That boot-strap log is erased after the session.

The command prompt will ask for a log-in name. We begin session as 'root':

root [ENTER]

"Root" is also known as "Super User" or "System Administrator", the man who commands awesome power in a Unics system, be it a single computer or a network of them. It is dangerous for a beginner to be "Root", because inadvertently he may command something fatal. It is recommended (not absolutely necessary) to create another account, and initially use that new account for normal operations. Some operations, however, require to be logged-in as Root. In that case we can become Super User by the "su" command, or we can re-start the system, logging-in as Root, perform the desired operations, re-starting again, and logging-in as non-Root user. Unics is a powerful system, full of advanced resources, but difficult to learn. The beginner is immediately thrown at the deep end, and expected to learn how to swim all on his own.

Logged-in as Root, the system will start the session from the home directory of Root. We can change to the top level directory by entering:

# chdir / [ENTER]

Fortunately, Minix and other Unics systems are VERY well documented, though it is necessary previous knowledge for understanding the somewhat cryptic explanations. Let us read one of those documents as an exercise, entering this line at the Minix prompt:

# less /usr/share/mk/bsd.README [ENTER]

If being in the correct path, we are now reading a detailed explanation for using the "make" command, which makes possible to install third-party software if we have an Internet connection. We are using the "less" viewer for reading the document. We scroll forward one window by pressing the letter "f", down half window by "d", backward one window by "b", or up half window by "u". There are many other commands, explained in the "less" page of the Manual.

After some experimenting, let us quit the viewer by pressing "q". We are back at the command prompt. The documentation is available in various formats, of which the most complete is the Unics Manual executed by the "man" command. The second in importance is the GNU Info format of the Free Software Foundation, executed by the "info" command. There are also ASCII plain text documents and some other formats. Let us see the contents of the Man directory by entering:

# ls -F /usr/share/man [ENTER]

Names followed by forward slash (/) are directories, followed by asterisk (*) are executables. We may go further into the branching tree and see what each directory contains, or we may use some initial commands such as this example:

# whatis man [ENTER]

Then we see the keyword "man" listed with number and a short definition. The "man" command is optionally followed by one of the numbers, then the keyword. If we do not give a number, we shall see only the first page available. If we wish to see all pages (maximum nine) for that keyword, we add the "-a" switch:

# man -a man [ENTER]

We are now seeing the Unics Manual page for the "man" command. We read it with the utmost attention, because it is our entry into the ocean of information that Unics has to offer. We scroll the page forward or backward as necessary. When we reach the end of the page, we are again automatically at the prompt. If we wish to see for example the Manual page on the "info" command, then:

# man -a info [ENTER]

And again we religiously peruse and take hand written notes of what we may consider necessary from those pages of the Unics Manual. Humorous legend has it that the name "man" given to that executable means that Unics is a system ONLY FOR REAL MEN, but after a bunch of humourless and sexually frustrated feminists loudly expressed their anger, then it was proclaimed that "man" stands for "Manual", thus hopefully appeasing the fury of the feminists (most of whom do not know much about computers, other than switching them on), and showing a face a little more "politically correct". At any rate, the Unics Manual is still for men. It takes intelligence and courage to read it all.

If we wish to know about some particular feature, but we do not know in what pages that feature is explained, then we call the "apropos" command for help. For instance, if we need information on the Gopher protocol, then we can do:

# apropos gopher [ENTER]

Seeing a list of pages that contain information about Gopher (the protocol invented by the University of Minnesota). And so on with the thousands of pages available for reading, though we need not read them all in one session. When we absolutely must stop reading and finish the session, then simply:

# poweroff [ENTER]

...and we can go to a very necessary sleep. Computer lovers should not be scared away by the hard path to Unics. On the contrary, it is hard precisely because IT IS for computer lovers. Luckily, there is plenty of information. For persons with access to Internet there are Unics tutorials, as well as Unics experts who may be of help to beginners. Libraries or book-shops may contain books on Unics. Casual users, unwilling to devote time and effort to serious study, can just play with the ubiquitous Windows system and a table mouse.

Of course Windows cannot offer, even by far, the huge amount of resources that Unics offers, but donkeys do not need so many resources. For them, the system of fashion has the "advantage" of being "user friendly", generally recommended by doctors as the appropriate operating system for feeble minds. The therapeutical choice for weak creatures, who are paralysed by terror in front of a command line. Intelligent souls well know the enormous difference that exists between those systems, and invariably opt for learning the "user unfriendly" command line of Unics (or of DOS), by patient delving into the documentation and by constant experimenting. The results always pay high.

A playful way of learning Unics is by executing the "fortune" programme with a collection of short advices called "tips", by the following:

# /usr/games/fortune/ /usr/share/games/fortune/tips [ENTER]

Information on the possibilities for using "fortune" can be learnt by:

# man fortune [ENTER]

Free-DOS uses only FAT 12, FAT 16 or FAT 32 data set systems, while Minix by default uses FS (BSD uses FFS), but it is possible to work with Free-DOS from BSD. For a computer with BSD installed in a partition (slice) of a hard disk or another boot-strappable volume, and Free-DOS in another partition, possible solution is to boot-strap BSD, then mount a FAT system in some mount point by using the "mount_msdos" command or the "mount" command with the -t switch, as:

# mount_msdos /dev/wd0e /mnt [ENTER]
Or also as...
# mount -t msdos /dev/wd0e /mnt [ENTER]

The above commands assume a DOS system (MS-DOS, Free-DOS, or another DOS) already existing in the same hard disk (specified by the "wd" letters) where BSD is located, which if having more than one disc, then it is the first disk (specified by the "0"), with DOS in the "e" partition (slice) of that disk, and with DOS appearing in the /mnt directory from the top level (root) of the BSD tree. Then it will be possible to work with the DOS stored in that partition, to copy between DOS and BSD using the /mnt directory as mount point. To see the top level content of the DOS partition, do:

# ls /mnt [ENTER]

Better to use the words "top level" for naming the initial level of the tree of directories, than the word "root". Not only because "root", as a synonym of "top level", suggests an inverted tree with roots at the top and branches at the bottom (which is unknown in any real-life trees), but mainly because "Root" is also synonymous with "Super User" or "System Administrator".

To copy for example a document called HUGETEXT.TXT, located in the BOREREAD directory of the DOS partition, to the current BSD directory, then enter:

# cp /mnt/BOREREAD/HUGETEXT.TXT . [ENTER]

The final dot (.) is necessary in BSD, it means "the current directory". For executing a programme or pointing to any other record, either a full path or the dot (.) that indicates the current directory must be used. For instance, for playing the game "Hack" we can change to its directory, which if being located in its original place, then it is done by the command:

# chdir /usr/games [ENTER]

We verify that we are in the right directory by the command:

# pwd [ENTER]

Then we execute the "Hack" programme, adding optional switches, by either of:

# ./hack [switches] [ENTER]
# /usr/games/hack [switches] [ENTER]

It must be noted that BSD (Unics in general) indicates a directory by forward slash (/), while DOS uses backward slash (\). There are other differences. The BSD commands "mount_msdos" or "mount" are respectively explained by:

# man -a mount_msdos [ENTER]
# man -a mount [ENTER]

The game of "Hack" is explained in its Manual page by entering either of:

# man -a hack [ENTER]
# man 6 hack [ENTER]

And so for every command, programme or resource with a Manual page available.

WARNING:

Unics accepts a bigger set of characters for names of data sets than DOS accepts by default. For instance, the 'plus' character (+) is perfectly valid in Unics names, but not in DOS. The Hyper Text version of the Unics Manual contains names such as C++.html, which cannot be used directly from DOS. The DOS command DIR will show C++~1.HTM (with only three characters after the dot, and registered in upper case if not using Long Name software for DOS), but the DOS commands COPY, MOVE, RENAME (REN), ERASE (DEL), et cetera, will be unable to find C++~1.HTM

The most straightforward solution is to rename the offensive data set FROM Unics, because it cannot be renamed from DOS. After renaming it to for example C_PLUS.HTM, then it can be copied to the DOS partition (slice). If it had inadvertently be copied with the original name (invalid for DOS), then it is not even possible to erase it from DOS without appropriate Long Name software. Thus the system must be re-started, the Unics operating system boot-strapped, and the offensive data set renamed or erased from the DOS partition using Unics. After that, to work from DOS is perfectly possible.

Also note that DOS text editors or viewers often use as line breaks Carriage Return (ASCII character 13 or Ctrl + M) and Line Feed (ASCII character 10 or Ctrl + J), while Unics uses only Line Feed (and Macintosh uses only Carriage Return). DOS sometimes uses as end of line the character Back Slash n (ASCII \n), and as end of data set the pseudo character EOF (End Of File). A text document may need to be converted to the convention used by the operating system. BSD as well as Free-DOS have software for that purpose. BSD and most other Unics systems have some programmes that can make the conversion both ways, such as the MTOOLS collection. Free-DOS has the executable TRCH.EXE that can make the conversion between DOS and Unics conventions both ways, or which can do any other text processing involving the need of transcribing characters. There is international support by using the optional Cats library, available from the Free-DOS Project and from other locations.

As for character encoding, 7-bit (Standard) ASCII is common to DOS and Unics, but adjusts may need to be made if using often the 8-bit (Extended) ASCII set. That is because DOS uses the IBM variety of 8-bit ASCII, while most Unics systems (especially recent ones) are more likely to use the ANSI variety of 8-bit ASCII (variety also known as ISO 8859-1 Latin 1). The English language uses Standard ASCII almost exclusively, but other human languages may need to use Extended ASCII, Unicode, or another appropriate character set for letters with diacritic marks, such as accents, umlaut, or for other special symbols. A solution might be to use Hyper Text instead of using plain text, because HTML version 4.0 or later adopts Unicode. Thus, almost all HTML interpreters (made after 1999 or so) will recognise most of the character definitions (by number or by mnemonic) of Hyper Text, which correspond to 8-bit (Extended) ASCII, and most HTML interpreters made after that year also have a fairly high chance of representing with a correct glyph at least a part of the many thousands of characters that exist in Unicode.

Much of what has been explained for BSD is also valid for Minix, because the two systems are related and also because they share much common software. There are a few, but important differences. Data set systems, device names, paths, default configuration and other characteristics are different. Minix tends to be easier for a 'beginner', though here the word 'beginner' must be understood as a 'beginner in Unics', not as an absolute beginner in Computing. No Unics system is made for total beginners, albeit a few try to make the learning path a little less difficult. Let us assume that the beginner in Unics be already an expert in DOS, the Disk Operating System (for instance Free-DOS), and explain how to work with data sets between Minix and DOS, both ways, by the time-honoured, venerable traditional method of the floppy disk.

In Minix there are three executables called 'dosdir', 'dosread', 'doswrite'. Their Manual pages explain them. For instance for 'dosdir' it can be entered:

man dosdir

The page can be scrolled forward by Space bar, F, Page down, D, Arrow down. Backward by B, Page up, U, Arrow up. Exited by Q. There are other commands, explained in the Manual pages of the 'man', 'less' executables.

The floppy disk is accessed by either of the commands:

dosdir -r /dev/fd0
dosdir -l /dev/fd0

The '-r' switch gives only names, the '-l' switch gives also dates and sizes.

A data set is read by:

dosread /dev/fd0 XXXXXXXX.XXX

...where the 'X' characters represent the name and type of the data set. They should be written in capital letters for DOS, if not using long name driver.

The 'greater than' character is for 'output to'. It can be used for directing the text to a data set in Minix, for example:

dosread /dev/fd0 MINIXDOS.TXT > /home/MINIXDOS.TXT

A data set is written by:

doswrite /dev/fd0 XXXXXXXX.XXX < /home/XXXXXXXX.XXX

...where the 'X' characters represent the name and type of the data set. They should be written in capital letters for DOS, if not using long name driver.

The 'lesser than' character is for 'input from'. It can be used for directing the text to a data set in DOS, for example:

doswrite /dev/fd0 MINIXDOS.TXT < /home/MINIXDOS.TXT

All the operations above can be done from Minix, but not from DOS. Only the next operation should be done from DOS, with editable data sets already in DOS: the lines created by the text editor in Minix are not truncated except by a 'new line', they should be manually adapted by Edit text editor in DOS. The Minix software understands the DOS convention of carriage return and line feed, and converts it to the Unics convention of line feed only (without the carriage return), but it is advisable to finish the editing from DOS itself.

WARNING: when using Minix as a boot-strappable compact disk (without a hard disk) a data set system is mounted in Random Access Memory as read-only. It is possible to create or modify text documents using Ed (line editor) or Vi (page editor), but with three important considerations. The first is that the work will be lost when switching off or reboot-strapping the computer, or in case of power failure, if it had not been saved to an external volume. The second is that the default buffer will not admit a text document bigger than about 300 Kilobytes. The third is that the temporary copy is stored in the temporary directory, located at /tmp (the tmp directory from the top level).

All the above means that, if editing documents, it is advisable to work from the /tmp directory as current, to limit the document to 300 Kilobytes or a little more, and to save often to an external volume, for example to a floppy disk, using the Minix executables 'dosdir', 'dosread', 'doswrite'. In other words, Minix can perfectly be used with no more than a compact disk drive (for boot-strapping the live disk), a floppy disk drive and some floppy disks (for storage of editing work), and the minimum hardware requirements for the Minix system (Intel Pentium or compatible processor is recommended, plus 16 Megabytes of Random Access Memory, a keyboard, a screen or printer). A mouse or another pointing device is not necessary. Minix is a jewel for the user who likes or needs to work with a computer of limited resources. Hard core !

Computers even more limited than it has been indicated above, cannot execute Minix, nor most other Unics systems. For very limited computers of the IBM Personal Computer architecture, a solution might be Free-DOS or other DOS systems. For computers of architectures other than IBM Personal Computer or its clones, other solutions may exist. Possibly Net-BSD or Open-BSD, or older versions of them. The wide range of machine types and resources that exist or have existed in the History of Computing makes it difficult to offer specific advice. Fortunately there is Internet, where the owner of an Apple Macintosh, Atari ST, Commodore Amiga, Sinclair Spectrum or QL, or of other today more or less uncommon computers, can find information and software, using for example a public computer from a library or Internet cafe, or a connected computer of some acquaintance or corporation. Good luck in the search for old treasures !

 

Basic commands for most Unics systems

These are the commands most commonly used in Unics. An approximate equivalent in Disk Operating Systems has been included for convenience of those who know DOS better than Unics, but the equivalence must be taken with some reserve because DOS and Unics work differently in some aspects. Nonetheless it is a valid introduction, to be complemented by careful reading of the available documentation, and by personal experimenting.

Unics command:                                       Approximate equivalent
                                                     in DOS, if applicable:
cat                                                  type
cd
chdir                                                cd, chdir
copy
cp                                                   copy
df
ed                                                   edlin
env                                                  set
environ                                              set
export                                               set
 ENV=$HOME/.xxxx; export ENV
fortune                                              fortune
fstab, mtab                                          (FAT-access executables)
grep (find string)                                   (various executables)
info                                                 help
install                                              setup
less                                                 more
ls                                                   dir
 ls -f   Show unordered
 ls -F   Show directories with forward slashes
         and executables with asterisks
man                                                  help
 man -a  Show all available pages of that name

  Some other important Unics Manual pages are,
  with their names separated by commas:

  apropos, boot, config, dosdir, dosread, doswrite, ed,
  env, file, grep, hier, info, install, intro, less,
  look, machine, man, mandoc, mount, sort, spell, uname,
  usage, useradd, vi, whatis, whereis, which
  (list based on Minix 3.3.0 of 2014)

md
mkdir                                                md, mkdir
more                                                 more
morse
mount
 mount -t cd9660 -r /dev/cd0a /cdrom
 mount -t msdos /dev/fd0a /floppy
move
mv                                                   move
poweroff                                             fdapm poweroff
ps (processes running)
pstat
pwd
reboot                                               fdapm coldboot
rename                                               ren, rename
rm                                                   del, erase
rmdir                                                rd, rmdir
setenv                                               set
sort (sort list)                                     (various executables)
umount
usage                                                setup
vi, view, ex                                         edit, pg, list
wc (word count)                                      (various executables)
who (logged users)                                   (not applicable)
xdm

 

Most of the operational Unics commands

These do not include all the thousands of executables made by third parties, but include what might be termed 'base distribution', which is part of most Unics systems, except the small ones, and which usually has a manual page available in Man format, Info format, or in another easily readable format. The lines below, with their descriptions, correspond to Minix version 3.3.0 of 2014 (the information has been taken from the /usr/man directory of that Unics system). The number in parenthesis corresponds to the 1 to 9 topic sections of the manual (some commands appear in more than one section). All available sections for a given command can be seen by entering the parameter '-a' after the 'man' command and before the command name. For instance, for seeing all pages entitled 'config' the following command line can be entered:

man -a config

...which will show the page of the command 'config' in section 1, and then the page of a command of the same name in section 8 (the two commands are not necessarily alike). When finishing one page, the next catenated page is seen by entering the colon and the 'n' key from the 'less' viewer, as in:

:n

The 'less' viewer is the default pagination executable, though others can be used. The respective sections can be seen separately by entering either of:

man 1 config
man 8 config

The descriptions listed below can be seen by the 'whatis' command, if having the 'whatis.db' data base in the correct path.

Minix 3.3.0

All the commands available in the base distribution of Minix version 3.3.0 of 2014. Most of them work from the 'live' compact disk (hard disk not needed).

ATF (7) - introduction to the Automated Testing Framework

GElf (3) - class-independent API for ELF manipulation

Kyuafile (5) - Test suite description files

MAKEDEV, DESCRIBE (8) - make/describe device files

MD2Init, MD2Update, MD2Final, MD2End, MD2File, MD2Data (3) - calculate the
  RSA Data Security, Inc., ``MD2'' message digest

MD4Init, MD4Update, MD4Final, MD4End, MD4File, MD4Data (3) - calculate the
  RSA Data Security, Inc., ``MD4'' message digest

MD5Init, MD5Update, MD5Final, MD5End, MD5File, MD5Data (3) - calculate the
  RSA Data Security, Inc., ``MD5'' message digest

RMD160Init, RMD160Update, RMD160Final, RMD160Transform, RMD160End, RMD160File,
  RMD160Data (3) - calculate the ``RIPEMD-160'' message digest

SHA1Init, SHA1Update, SHA1Final, SHA1Transform, SHA1End, SHA1File, SHA1Data
  (3) - calculate the NIST Secure Hash Algorithm

SHA256_Init, SHA256_Update, SHA256_Pad, SHA256_Final, SHA256_Transform,
  SHA256_End, SHA256_File, SHA256_FileChunk, SHA256_Data (3) - calculate the
  NIST Secure Hash Standard (version 2)

TZ (5) - Time zone environment variable

__builtin_object_size (3) - return the size of the given object

_lwp_makecontext (3) - create a new initial light-weight process execution
  context

a64l, l64a, l64a_r (3) - convert between a long integer and a base-64 ASCII
  string

abort (3) - cause abnormal program termination

about (1) - Shows general program information

abs, labs, llabs, imaxabs (3) - functions for integer absolute value

accept (2) - accepts incoming connections on a socket

access (2) - determine accessibility of file

acos, acosf, acosl (3) - arc cosine function

acosh, acoshf, acoshl (3) - inverse hyperbolic cosine function

add_route, del_route (8) - configure IP routing.

adjtime (2) - correct the time to allow synchronization of the system clock

adventure (6) - an exploration game

alarm (3) - set signal timer alarm

alloca (3) - memory allocator

apropos (1) - locate commands by keyword lookup

arc4random, arc4random_buf, arc4random_uniform, arc4random_stir,
  arc4random_addrandom (3) - arc4 random number generator

archive_clear_error, archive_compression, archive_compression_name,
  archive_copy_error, archive_errno, archive_error_string, archive_file_count,
  archive_format, archive_format_name, archive_set_error (3) - libarchive
  utility functions

archive_entry_acl_add_entry, archive_entry_acl_add_entry_w,
  archive_entry_acl_clear, archive_entry_acl_count, archive_entry_acl_next,
  archive_entry_acl_next_w, archive_entry_acl_reset, archive_entry_acl_text_w,
  archive_entry_atime, archive_entry_atime_nsec, archive_entry_clear,
  archive_entry_clone, archive_entry_copy_fflags_text,
  archive_entry_copy_fflags_text_w, archive_entry_copy_gname,
  archive_entry_copy_gname_w, archive_entry_copy_hardlink,
  archive_entry_copy_hardlink_w, archive_entry_copy_link,
  archive_entry_copy_link_w, archive_entry_copy_pathname_w,
  archive_entry_copy_sourcepath, archive_entry_copy_stat,
  archive_entry_copy_symlink, archive_entry_copy_symlink_w,
  archive_entry_copy_uname, archive_entry_copy_uname_w, archive_entry_dev,
  archive_entry_devmajor, archive_entry_devminor, archive_entry_filetype,
  archive_entry_fflags, archive_entry_fflags_text, archive_entry_free,
  archive_entry_gid, archive_entry_gname, archive_entry_hardlink,
  archive_entry_ino, archive_entry_mode, archive_entry_mtime,
  archive_entry_mtime_nsec, archive_entry_nlink, archive_entry_new,
  archive_entry_pathname, archive_entry_pathname_w, archive_entry_rdev,
  archive_entry_rdevmajor, archive_entry_rdevminor, archive_entry_set_atime,
  archive_entry_set_ctime, archive_entry_set_dev, archive_entry_set_devmajor,
  archive_entry_set_devminor, archive_entry_set_filetype,
  archive_entry_set_fflags, archive_entry_set_gid, archive_entry_set_gname,
  archive_entry_set_hardlink, archive_entry_set_link, archive_entry_set_mode,
  archive_entry_set_mtime, archive_entry_set_pathname,
  archive_entry_set_rdevmajor, archive_entry_set_rdevminor,
  archive_entry_set_size, archive_entry_set_symlink, archive_entry_set_uid,
  archive_entry_set_uname, archive_entry_size, archive_entry_sourcepath,
  archive_entry_stat, archive_entry_symlink, archive_entry_uid,
  archive_entry_uname (3) - functions for manipulating archive entry
  descriptions

archive_read_disk_new, archive_read_disk_set_symlink_logical,
  archive_read_disk_set_symlink_physical, archive_read_disk_set_symlink_hybrid,
  archive_read_disk_entry_from_file, archive_read_disk_gname,
  archive_read_disk_uname, archive_read_disk_set_uname_lookup,
  archive_read_disk_set_gname_lookup, archive_read_disk_set_standard_lookup,
  archive_read_close, archive_read_finish (3) - functions for reading objects
  from disk

archive_read_new, archive_read_set_filter_options,
  archive_read_set_format_options, archive_read_set_options,
  archive_read_support_compression_all, archive_read_support_compression_bzip2,
  archive_read_support_compression_compress,
  archive_read_support_compression_gzip, archive_read_support_compression_lzma,
  archive_read_support_compression_none, archive_read_support_compression_xz,
  archive_read_support_compression_program,
  archive_read_support_compression_program_signature,
  archive_read_support_format_all, archive_read_support_format_ar,
  archive_read_support_format_cpio, archive_read_support_format_empty,
  archive_read_support_format_iso9660, archive_read_support_format_mtree,
  archive_read_support_format_raw, archive_read_support_format_tar,
  archive_read_support_format_zip, archive_read_open, archive_read_open2,
  archive_read_open_fd, archive_read_open_FILE, archive_read_open_filename,
  archive_read_open_memory, archive_read_next_header,
  archive_read_next_header2, archive_read_data, archive_read_data_block,
  archive_read_data_skip, archive_read_data_into_buffer,
  archive_read_data_into_fd, archive_read_extract, archive_read_extract2,
  archive_read_extract_set_progress_callback, archive_read_close,
  archive_read_finish (3) - functions for reading streaming archives

archive_write_disk_new, archive_write_disk_set_options,
  archive_write_disk_set_skip_file, archive_write_disk_set_group_lookup,
  archive_write_disk_set_standard_lookup, archive_write_disk_set_user_lookup,
  archive_write_header, archive_write_data, archive_write_finish_entry,
  archive_write_close, archive_write_finish (3) - functions for creating
  objects on disk

archive_write_new, archive_write_set_format_cpio, archive_write_set_format_pax,
  archive_write_set_format_pax_restricted, archive_write_set_format_shar,
  archive_write_set_format_shar_binary, archive_write_set_format_ustar,
  archive_write_get_bytes_per_block, archive_write_set_bytes_per_block,
  archive_write_set_bytes_in_last_block, archive_write_set_compression_bzip2,
  archive_write_set_compression_compress, archive_write_set_compression_gzip,
  archive_write_set_compression_none, archive_write_set_compression_program,
  archive_write_set_compressor_options, archive_write_set_format_options,
  archive_write_set_options, archive_write_open, archive_write_open_fd,
  archive_write_open_FILE, archive_write_open_filename,
  archive_write_open_memory, archive_write_header, archive_write_data,
  archive_write_finish_entry, archive_write_close, archive_write_finish (3) -
  functions for creating archives

arithmetic (6) - quiz on simple arithmetic

asa (1) - interpret carriage-control characters

ascii (7) - the ASCII character set.

asctime, asctime_r, ctime, ctime_r, ctime_rz, difftime, gmtime, gmtime_r,
localtime, localtime_r, localtime_rz, mktime, mktime_z, tzalloc, tzgetname,
tzfree, (3) - convert date and time to ASCII

asin, asinf, asinl (3) - arc sine function

asinh, asinhf, asinhl (3) - inverse hyperbolic sine function

at (1) - execute commands at a later time

at_quick_exit (3) - registers a cleanup function to run on quick exit

atan, atanf, atanl (3) - arc tangent function of one variable

atan2, atan2f, atan2l (3) - arc tangent function of two variables

atanh, atanhf, atanhl (3) - inverse hyperbolic tangent function

atexit (3) - register a function to be called on exit

atf-c++-api, ATF_ADD_TEST_CASE, ATF_CHECK_ERRNO, ATF_FAIL,
  ATF_INIT_TEST_CASES, ATF_PASS, ATF_REQUIRE, ATF_REQUIRE_EQ,
  ATF_REQUIRE_ERRNO, ATF_REQUIRE_IN, ATF_REQUIRE_MATCH, ATF_REQUIRE_NOT_IN,
  ATF_REQUIRE_THROW, ATF_REQUIRE_THROW_RE, ATF_SKIP, ATF_TEST_CASE,
  ATF_TEST_CASE_BODY, ATF_TEST_CASE_CLEANUP, ATF_TEST_CASE_HEAD,
  ATF_TEST_CASE_NAME, ATF_TEST_CASE_USE, ATF_TEST_CASE_WITH_CLEANUP,
  ATF_TEST_CASE_WITHOUT_HEAD, atf::utils::cat_file, atf::utils::compare_file,
  atf::utils::copy_file, atf::utils::create_file, atf::utils::file_exists,
  atf::utils::fork, atf::utils::grep_collection, atf::utils::grep_file,
  atf::utils::grep_string, atf::utils::redirect, atf::utils::wait (3) -
  C++ API to write ATF-based test programs

atf-c-api, ATF_CHECK, ATF_CHECK_MSG, ATF_CHECK_EQ, ATF_CHECK_EQ_MSG,
  ATF_CHECK_MATCH, ATF_CHECK_MATCH_MSG, ATF_CHECK_STREQ, ATF_CHECK_STREQ_MSG,
  ATF_CHECK_ERRNO, ATF_REQUIRE, ATF_REQUIRE_MSG, ATF_REQUIRE_EQ,
  ATF_REQUIRE_EQ_MSG, ATF_REQUIRE_MATCH, ATF_REQUIRE_MATCH_MSG,
  ATF_REQUIRE_STREQ, ATF_REQUIRE_STREQ_MSG, ATF_REQUIRE_ERRNO, ATF_TC,
  ATF_TC_BODY, ATF_TC_BODY_NAME, ATF_TC_CLEANUP, ATF_TC_CLEANUP_NAME,
  ATF_TC_HEAD, ATF_TC_HEAD_NAME, ATF_TC_NAME, ATF_TC_WITH_CLEANUP,
  ATF_TC_WITHOUT_HEAD, ATF_TP_ADD_TC, ATF_TP_ADD_TCS, atf_tc_get_config_var,
  atf_tc_get_config_var_wd, atf_tc_get_config_var_as_bool,
  atf_tc_get_config_var_as_bool_wd, atf_tc_get_config_var_as_long,
  atf_tc_get_config_var_as_long_wd, atf_no_error, atf_tc_expect_death,
  atf_tc_expect_exit, atf_tc_expect_fail, atf_tc_expect_pass,
  atf_tc_expect_signal, atf_tc_expect_timeout, atf_tc_fail,
  atf_tc_fail_nonfatal, atf_tc_pass, atf_tc_skip, atf_utils_cat_file,
  atf_utils_compare_file, atf_utils_copy_file, atf_utils_create_file,
  atf_utils_file_exists, atf_ut
ils_fork, atf_utils_free_charpp, atf_utils_grep_file, atf_utils_grep_string,
  atf_utils_readline, atf_utils_redirect, atf_utils_wait (3) - C API to write
  ATF-based test programs

atf-check (1) - executes a command and analyzes its results

atf-formats (5) - machine-parseable data formats used by ATF

atf-interface (1) - Description of the ATF test program interface

atf-report (1) - Kyua-based implementation of the deprecated atf-report

atf-run (1) - Kyua-based implementation of the deprecated atf-run

atf-sh (1) - interpreter for shell-based test programs

atf-test-case (4) - generic description of test cases

atf-test-program (1) - common interface to ATF test programs

atf2kyua (1) - Converts Atffiles to Kyuafiles for a particular test suite.

atf_add_test_case, atf_check, atf_check_equal, atf_config_get, atf_config_has,
  atf_expect_death, atf_expect_exit, atf_expect_fail, atf_expect_pass,
  atf_expect_signal, atf_expect_timeout, atf_fail, atf_get, atf_get_srcdir,
  atf_pass, atf_require_prog, atf_set, atf_skip, atf_test_case (3) -
  POSIX shell API to write ATF-based test programs

atof (3) - convert ASCII string to double

atoi (3) - convert ASCII string to integer

atol (3) - convert ASCII string to long integer

atoll (3) - convert ASCII string to long long integer

atomic_add, atomic_add_32, atomic_add_int, atomic_add_long, atomic_add_ptr,
  atomic_add_64, atomic_add_32_nv, atomic_add_int_nv, atomic_add_long_nv,
  atomic_add_ptr_nv, atomic_add_64_nv (3) - atomic add operations

atomic_and, atomic_and_32, atomic_and_uint, atomic_and_ulong, atomic_and_64,
  atomic_and_32_nv, atomic_and_uint_nv, atomic_and_ulong_nv, atomic_and_64_nv
  (3) - atomic logical `and' operations

atomic_cas, atomic_cas_32, atomic_cas_uint, atomic_cas_ulong, atomic_cas_ptr,
  atomic_cas_64, atomic_cas_32_ni, atomic_cas_uint_ni, atomic_cas_ulong_ni,
  atomic_cas_ptr_ni, atomic_cas_64_ni (3) - atomic compare-and-swap
  operations

atomic_dec, atomic_dec_32, atomic_dec_uint, atomic_dec_ulong, atomic_dec_ptr,
atomic_dec_64, atomic_dec_32_nv, atomic_dec_uint_nv, atomic_dec_ulong_nv,
atomic_dec_ptr_nv, atomic_dec_64_nv (3) - atomic decrement operations

atomic_inc, atomic_inc_32, atomic_inc_uint, atomic_inc_ulong, atomic_inc_ptr,
atomic_inc_64, atomic_inc_32_nv, atomic_inc_uint_nv, atomic_inc_ulong_nv,
atomic_inc_ptr_nv, atomic_inc_64_nv (3) - atomic increment operations

atomic_ops (3) - atomic memory operations

atomic_or, atomic_or_32, atomic_or_uint, atomic_or_ulong, atomic_or_64,
  atomic_or_32_nv, atomic_or_uint_nv, atomic_or_ulong_nv, atomic_or_64_nv (3)
  - atomic logical `or' operations

atomic_swap, atomic_swap_32, atomic_swap_uint, atomic_swap_ulong,
  atomic_swap_ptr, atomic_swap_64 (3) - atomic swap operations

awk (1) - pattern-directed scanning and processing language

backtrace (3) - fill in the backtrace of the currently executing thread

backup (8) - backup files

banner (1) - print strings in large letters

basename (3) - return the last component of a pathname

basename, dirname (1) - return filename or directory portion of pathname

bcd, ppt, morse (6) - reformat input as punch cards, paper tape or morse code

bcmp (3) - compare byte string

bcmp, bcopy, bzero, ffs, index, rindex, strcasecmp, strncasecmp (3) -
  string operations

bcopy (3) - copy byte string

bdes (1) - encrypt/decrypt using the Data Encryption Standard

bind (2) - binds an address to a socket

bm_comp, bm_exec, bm_free (3) - Boyer-Moore string search

boot (8) - system bootstrapping procedures

boot.cfg (5) - configuration file for /boot

brk, sbrk (2) - change data segment size

bsearch (3) - binary search of a sorted table

bsfilt, colcrt (1) - a colcrt-like backspace filter

bswap16, bswap32, bswap64 (3) - byte-order swapping functions

btowc (3) - convert a single byte character to a wide character

btrace (8) - block-level tracing interface

btree (3) - btree database access method

build-root (7) - Mechanics of build directories

bzero (3) - write zeroes to a byte string

bzip2, bunzip2, bzcat, bzip2recover (1) - block-sorting file compressor

cabs, cabsf, cabsl (3) - return a complex absolute value

cacos, cacosf, cacosl (3) - complex arc cosine functions

cacosh, cacoshf, cacoshl (3) - complex arc hyperbolic cosine functions

cal (1) - displays a calendar

calendar (1) - reminder service

carg, cargf, cargl (3) - complex argument functions

casin, casinf, casinl (3) - complex arc sine functions

casinh, casinhf, casinhl (3) - complex arc hyperbolic sine functions

cat (1) - concatenate and print files

catan, catanf, catanl (3) - complex arc tangent functions

catanh, catanhf, catanhl (3) - complex arc hyperbolic tangent functions

catclose (3) - close message catalog

catgets (3) - retrieve string from message catalog

catopen (3) - open message catalog

cawf, nroff (1) - C version of the nroff-like, Amazingly Workable (text)
  Formatter

cbrt, cbrtf, cbrtl, sqrt, sqrtf, sqrtl (3) - cube root and square root functions

ccos, ccosf, ccosl (3) - complex cosine functions

ccosh, ccoshf, ccoshl (3) - complex hyperbolic cosine functions

cdb (5) - format of the constant database

cdbr cdbr_open, cdbr_entries, cdbr_get, cdbr_find, cdbr_close, cdbr_write (3)
  - constant database access methods

cdbw_open, cdbw_put, cdbw_put_data, cdbw_put_key, cdbw_stable_seeder,
  cdbw_output, cdbw_close (3) - create constant databases

cdprobe (8) - guess where the Minix CD is

ceil, ceilf, ceill, floor, floorf floorl (3) - ceiling and floor

cexp, cexpf, cexpl (3) - complex exponential functions

cfgetispeed, cfsetispeed, cfgetospeed, cfsetospeed, cfsetspeed, cfmakeraw,
  tcgetattr, tcsetattr (3) - manipulating the termios structure

cgetent, cgetset, cgetmatch, cgetcap, cgetnum, cgetstr, cgetustr, cgetfirst,
cgetnext, cgetclose, cexpandtc (3) - capability database access routines

chdir, fchdir (2) - change current working directory

checknr (1) - check nroff/troff files

chgat, wchgat, mvchgat, mvwchgat (3) - curses on-screen attribute
  manipulation routines

chgrp (1) - change group

chmod (1) - change file modes

chmod, fchmod (2) - change mode of file

chown (8) - change file owner and group

chown, fchown (2) - change owner and group of a file

chpass, chfn, chsh (1) - add or change user database information

chroot (2) - change root directory

chroot (8) - change root directory

cimag, cimagf, cimagl (3) - complex imaginary functions

cksum, md2, md4, md5, rmd160, sha1, sum (1) - display file checksums and
  block counts

cleantmp (8) - clean out a tmp dir

clearerr, feof, ferror, fileno (3) - check and reset stream status

clock (3) - determine processor time used

clock_settime, clock_gettime, clock_getres (2) - clock and timer functions

clog, clogf, clogl (3) - complex natural logarithm functions

close (2) - delete a descriptor

closefrom (3) - delete many descriptors

cmp (1) - compare two files

col (1) - filter reverse line feeds from input

colcrt (1) - filter nroff output for CRT previewing

colorbars (6) - display ANSI color bars

colrm (1) - remove columns from a file

column (1) - columnate lists

comm (1) - select or reject lines common to two files

compress, uncompress, zcat (1) - compress a file using modified Lempel-Ziv
  coding

config (1) - Inspects the values of the loaded configuration

config (8) - configuring MINIX 3 tasks and servers

configfile (5) - generic configuration file format

confstr (3) - get string-valued configurable variables

conj, conjf, conjl (3) - complex conjugate functions

connect (2) - connects a socket

console, keyboard, log (4) - system console

consttime_memequal (3) - compare byte strings for equality without timing leaks

controller, disk, tape, at, bios, esdi, aha1540, ncr810, dosfile, fatfile (4)
  - controllers, disks and tapes

copysign, copysignf, copysignl (3) - functions to manipulate signs

cos, cosf (3) - cosine function

cosh, coshf (3) - hyperbolic cosine function

cp (1) - copy files

cpio (1) - copy file archives in and out

cpio (5) - format of cpio archive files

cpow, cpowf, cpowl (3) - complex power functions

cproj, cprojf, cprojl (3) - complex projection functions

cpuset_create, cpuset_destroy, cpuset_zero, cpuset_set, cpuset_clr,
  cpuset_isset, cpuset_size (3) - dynamic CPU sets

crc (1) - print the checksum of the file data

creal, crealf, creall (3) - complex real functions

creat (2) - create a new file

creat (3) - create a new file

cron (8) - clock daemon

crontab (1) - User crontab manipulation

crontab (5) - table of jobs to be performed by cron

crypt, setkey, encrypt, des_setkey, des_cipher (3) - password encryption

csin, csinf, csinl (3) - complex sine functions

csinh, csinhf, csinhl (3) - complex hyperbolic sine functions

csplit (1) - split files based on context

csqrt, csqrtf, csqrtl (3) - complex square root functions

ctags (1) - create a tags file

ctan, ctanf, ctanl (3) - complex tangent functions

ctanh, ctanhf, ctanhl (3) - complex hyperbolic tangent functions

ctermid (3) - generate terminal pathname

current_field, field_index, form_page, form_max_page, set_current_field,
  set_form_page (3) - form library

current_item, item_index, set_current_item, set_top_row top_row (3) -
  get or set item pointers or top row

curses (3) - screen functions with ``optimal'' cursor motion

curses_addch, addch, waddch, mvaddch, mvwaddch (3) - curses add characters
  to windows routines

curses_addchstr, addchstr, waddchstr, addchnstr, waddchnstr, mvaddchstr,
  mvwaddchstr, mvaddchnstr, mvwaddchnstr (3) - curses add character strings
  to windows routines

curses_addstr, addstr, waddstr, addnstr, waddnstr, mvaddstr, mvwaddstr,
  mvaddnstr, mvwaddnstr (3) - curses add character strings to windows routines

curses_attributes, attron, attroff, attrset, color_set, getattrs, termattrs,
  wattron, wattroff, wattrset, wcolor_set, attr_on, attr_off, attr_set,
  attr_get, term_attrs, wattr_on, wattr_off, wattr_set, wattr_get (3) -
  curses general attribute manipulation routines

curses_background, bkgd, bkgdset, getbkgd, wbkgd, wbkgdset (3) - curses
  attribute manipulation routines

curses_border, border, box, wborder (3) - curses border drawing routines

curses_clear, clear, wclear, clearok, clrtobot, clrtoeol, erase, werase,
  wclrtobot, wclrtoeol (3) - curses clear window routines

curses_color, has_colors, can_change_color, start_color, init_pair,
  pair_content, COLOR_PAIR, PAIR_NUMBER, init_color, color_content,
  no_color_attributes (3) - curses color manipulation routines

curses_cursor, getcury, getcurx, getyx, getbegy, getbegx, getbegyx, getmaxy,
  getmaxx, getmaxyx, getpary, getparx, getparyx, move, wmove, mvcur,
  wcursyncup (3) - curses cursor and window location and positioning routines

curses_default_colors, assume_default_colors, use_default_colors (3) - curses
  default colours setting routines

curses_delch, delch, wdelch (3) - curses delete characters routines

curses_deleteln, deleteln, wdeleteln (3) - curses delete single line routines

curses_echochar, echochar, wechochar, pechochar (3) - curses add characters
  and then refresh routines

curses_fileio, getwin, putwin (3) - curses file input/output routines

curses_inch, inch, winch, inchnstr, mvinchnstr, winchnstr, mvwinchnstr,
  inchstr, mvinchstr, winchstr, mvwinchstr, innstr, winnstr, mvinnstr,
  mvwinnstr, instr, winstr mvinstr, mvwinstr (3) - curses read screen
  contents routines

curses_input, getch, wgetch, mvgetch, mvwgetch, define_key, keyok, getnstr,
  wgetnstr, mvgetnstr, mvwgetnstr, getstr, wgetstr, mvgetstr, mvwgetstr,
  keypad, notimeout, timeout, wtimeout, nodelay, ungetch (3) - curses input
  stream routines

curses_insdelln, insdelln, winsdelln (3) - curses insert or delete lines
  routines

curses_insert, insch, winsch, mvinsch, mvwinsch (3) - curses insert
  characters routines

curses_insertln, insertln, winsertln (3) - curses insert single line routines

curses_keyname, keyname (3) - curses report key name routine

curses_line, hline, whline, vline, wvline, mvhline, mvwhline, mvvline,
  mvwvline (3) - curses draw lines on windows routines

curses_pad, newpad, subpad, prefresh, pnoutrefresh (3) - curses pad routines

curses_print, printw, wprintw, mvprintw, mvwprintw, unctrl (3) - curses print
  formatted strings on windows routines

curses_refresh, refresh, wrefresh, wnoutrefresh, doupdate, leaveok, flushok
  (3) - curses terminal update routines

curses_scanw, scanw, wscanw, mvscanw, mvwscanw (3) - curses read formatted
  data from screen routines

curses_screen, newterm, set_term, delscreen, endwin, initscr, isendwin,
  resizeterm, setterm (3) - curses terminal and screen routines

curses_scroll, scrl, wscrl scroll, scrollok, setscrreg, wsetscrreg (3) -
  curses window scrolling routines

curses_standout, standout, standend, wstandout, wstandend (3) - curses
  standout attribute manipulation routines

curses_termcap, fullname (3) - curses termcap querying routines

curses_touch, touchline, touchoverlap, touchwin, untouchwin, wtouchln,
  is_linetouched, is_wintouched, redrawwin, wredrawln, wsyncup, wsyncdown
  (3) - curses window modification routines

curses_tty, beep, flash, curs_set, def_prog_mode, reset_prog_mode,
  def_shell_mode, reset_shell_mode, echo, noecho, delay_output, erasechar,
  flushinp, gettmode, halfdelay, has_ic, has_il, idcok, idlok, intrflush,
  noqiflush, qiflush, killchar, meta, napms, nl, nonl, cbreak, nocbreak, raw,
  noraw, savetty, resetty (3) - curses terminal manipulation routines

curses_underscore, underscore, underend, wunderscore, wunderend (3) - curses
  underscore attribute manipulation routines

curses_window, copywin, dupwin, delwin, derwin, mvwin, mvderwin, newwin,
  overlay, overwrite, subwin, wresize (3) - curses window routines

cut (1) - select portions of each line of a file

daemon (3) - run in the background

date (1) - display or set date and time

db-exec (1) - Executes a SQL statement in the store database

db-migrate (1) - Upgrades the schema of an existing database

dbm_clearerr, dbm_close, dbm_delete, dbm_dirfno, dbm_error, dbm_fetch,
  dbm_firstkey, dbm_nextkey, dbm_open, dbm_store, ndbm (3) - database functions

dbopen, db (3) - database access methods

dd (1) - convert and copy a file

debug (1) - Executes a single test case with facilities for debugging

dehumanize_number, humanize_number (3) - format a number into a human
 readable form and vice versa

deroff (1) - remove nroff/troff, eqn, pic and tbl constructs

dev (4) - device files in /dev

devname (3) - get device name

df (1) - display free disk space

dhcp.conf (5) - dynamic host configuration protocol configuration

dhcpd (8) - dynamic host configuration protocol daemon

dhrystone (1) - integer benchmark

diff (1) - differential file and directory comparator

dir (5) - directory layout

dirname (3) - report the parent directory name of a file pathname

diskctl (8) - control disk drive

div, ldiv, lldiv, imaxdiv (3) - quotient and remainder from division

dosdir (1) - list an MS-DOS directory [IBM]

dosread (1) - read a file from an MS-DOS diskette [IBM]

doswrite (1) - write a file onto an MS-DOS diskette [IBM]

drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
  lcong48 (3) - pseudo-random number generators and initialization routines

du (1) - display disk usage statistics

dup, dup2 (2) - duplicate a descriptor

dup_field, free_field, link_field, new_field (3) - form library

dynamic_field_info, field_info (3) - form library

echo (1) - write arguments to the standard output

ed (1) - text editor

editline, el_init, el_init_fd, el_end, el_reset, el_gets, el_wgets, el_getc,
  el_wgetc, el_push, el_wpush, el_parse, el_wparse, el_set, el_wset, el_get,
  el_wget, el_source, el_resize, el_cursor, el_line, el_wline, el_insertstr,
  el_winsertstr, el_deletestr, el_wdeletestr, history_init, history_winit,
  history_end, history_wend, history, history_w, tok_init, tok_winit, tok_end,
  tok_wend, tok_reset, tok_wreset, tok_line, tok_wline, tok_str tok_wstr
  (3) - line editor, history and tokenization functions

editrc (5) - configuration file for editline library

eject (1) - eject removable media

elf (3) - API for manipulating ELF objects

elf32_checksum, elf64_checksum, gelf_checksum (3) - return the checksum of
  an ELF object

elf32_getehdr, elf64_getehdr, gelf_getehdr (3) - retrieve the object file header

elf32_getphdr, elf64_getphdr, gelf_getphdr (3) - retrieve an ELF program header
  table

elf32_getshdr, elf64_getshdr, gelf_getshdr (3) - retrieve the class-dependent
  section header

elf32_newehdr, elf64_newehdr, gelf_newehdr (3) - retrieve or allocate the
  object file header

elf32_newphdr, elf64_newphdr, gelf_newphdr (3) - allocate an ELF program
  header table

elf32_xlate, elf64_xlate, gelf_xlate (3) - translate data between files and
  memory

elf_begin (3) - open an ELF file or ar(1) archive

elf_cntl (3) - control an elf file descriptor

elf_end (3) - release an ELF descriptor

elf_errmsg, elf_errno (3) - ELF library error message handling

elf_fill (3) - set fill byte for inter-section padding

elf_flagdata, elf_flagehdr, elf_flagelf, elf_flagphdr, elf_flagscn,
  elf_flagshdr (3) - manipulate flags associated with ELF(3) data structures

elf_getarhdr (3) - retrieve ar(1) header for an archive member

elf_getarsym (3) - retrieve the symbol table of an archive

elf_getbase (3) - get the base offset for an object file

elf_getdata, elf_newdata, elf_rawdata (3) - iterate through or allocate
  section data

elf_getident (3) - return the initial bytes of a file

elf_getphnum (3) - return the number of program headers in an ELF file

elf_getscn, elf_ndxscn, elf_newscn, elf_nextscn (3) - get or allocate section
  information for an ELF object

elf_getshnum (3) - return the number of sections in an ELF file

elf_getshstrndx, elf_setshstrndx (3) - retrieve or update the index of the
  section name string table

elf_hash (3) - compute a hash value for a string

elf_kind (3) - determine ELF file type

elf_memory (3) - process an ELF or ar(1) archive mapped into memory

elf_next (3) - provide sequential access to the next archive member

elf_rand (3) - provide sequential access to the next archive member

elf_rawfile (3) - return uninterpreted contents of an ELF file

elf_strptr (3) - retrieve a string pointer in a string table

elf_update (3) - update an ELF descriptor

elf_version (3) - retrieve or set ELF library operating version

endutxent, getutxent, getutxid, getutxline, pututxline, setutxent
  (3) - user accounting database functions

env (1) - set and print environment

environ (7) - user environment

eqn (7) - eqn language reference for mandoc

erf, erff, erfc, erfcf (3) - error function operators

err, verr, errx, verrx, warn, vwarn, warnx, vwarnx (3) - formatted error messages

esetfunc, easprintf, efopen, emalloc, ecalloc, erealloc, estrdup, estrndup,
  estrlcat, estrlcpy, evasprintf (3) - error-checked utility functions

ether_ntoa, ether_aton, ether_ntohost, ether_hostton, ether_line,
  (3) - get ethers entry

ethers (5) - ethernet address to hostname database

ex, vi, view (1) - text editors

execl, execlp, execle, exect, execv, execvp (3) - execute a file

execve (2) - execute a file

exit (3) - perform normal program termination

exit, _exit (2) - terminate a process

exp, expf, exp2, exp2f, expm1, expm1f, (3) - exponential functions

expand, unexpand (1) - expand tabs to spaces, and vice versa

explicit_memset (3) - guarantee writing a byte to a byte string

expr (1) - evaluate expression

extattr_copy_file, extattr_copy_fd, extattr_copy_link, cpxattr, fcpxattr,
  lcpxattr (3) - copy extended attributes from a file to another one

extattr_namespace_to_string, extattr_string_to_namespace (3) - convert an
  extended attribute namespace identifier to a string and vice versa

fabs, fabsf (3) - floating-point absolute value function

factor (6) - factor a number

false (1) - return false value

fbdctl (8) - Faulty Block Device rule management interface

fclose (3) - close a stream

fcntl (2) - miscellaneous file descriptor control functions

fd (4) - floppy disk

fdim, fdimf, fdiml (3) - positive difference functions

fdisk (8) - partition a hard disk [IBM]

fdopendir, opendir, readdir, readdir_r, telldir, seekdir, rewinddir, closedir,
  dirfd (3) - directory operations

feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, fetestexcept
  (3) - floating-point exception flag manipulation

feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, fetestexcept,
  fegetround, fesetround, fegetenv, feholdexcept, fesetenv, feupdateenv,
  feenableexcept, fedisableexcept, fegetexcept (3) - floating-point
  environment control

feenableexcept, fedisableexcept, fegetexcept (3) - floating-point exception
  masking

fegetenv, feholdexcept, fesetenv, feupdateenv (3) - floating-point
  environment save and restore

fegetround, fesetround (3) - floating-point rounding control

fetch (1) - retrieve a file by Uniform Resource Locator

fflush, fpurge (3) - flush a stream

ffs (3) - find first bit set in a bit string

fgetc, getc, getchar, getc_unlocked, getchar_unlocked, getw (3) - get next
  character or word from input stream

fgetln (3) - get a line from a stream

fgetpos, fseek, fseeko, fsetpos, ftell, ftello, rewind (3) - reposition a
  stream

fgets, gets (3) - get a line from a stream

fgetwc, getwc, getwchar, (3) - get next wide character from input stream

fgetwln (3) - get a line of wide characters from a stream

fgetws (3) - get a line of wide characters from a stream

field_arg, field_type, set_field_type (3) - form library

field_back, field_fore, field_pad, set_field_back, set_field_fore,
  set_field_pad (3) - form library

field_buffer, field_status, set_field_buffer, set_field_printf,
  set_field_status, set_max_field (3) - form library

field_count, form_fields, move_field, set_form_fields (3) - form library

field_init, field_term, form_init, form_term, set_field_init, set_field_term,
  set_form_init, set_form_term (3) - form library

field_just, set_field_just (3) - form library

field_opts, field_opts_off, field_opts_on, set_field_opts (3) - form library

field_userptr, set_field_userptr (3) - form library

file (1) - determine file type

find (1) - walk a file hierarchy

finger (1) - user information lookup program

fingerd (8) - remote user information server

finite, finitef (3) - tests for finite values

flex, lex (1) - fast lexical analyzer generator

flexdoc (1) - fast lexical analyzer generator

flockfile, ftrylockfile, funlockfile (3) - stdio stream locking functions

fmax, fmaxf, fmaxl, fmin, fminf, fminl (3) - floating-point maximum and
  minimum functions

fmemopen (3) - open a stream that points to the given buffer

fmod, fmodf, fmodl (3) - floating-point remainder function

fmtcheck (3) - sanitizes user-supplied printf(3)-style format string

fmtmsg (3) - format and display a message

fnmatch (3) - match filename or pathname using shell glob rules

fold (1) - fold long lines for finite width output device

fopen, fdopen, freopen (3) - stream open functions

fork (2) - create a new process

form (3) - form library

form_driver (3) - form library

form_opts, form_opts_off, form_opts_on, set_form_opts (3) - form library

form_sub, form_win, scale_form, set_form_sub, set_form_win (3) - form library

form_userptr, set_form_userptr (3) - form library

format (1) - format a PC floppy diskette

fortune (6) - print a random, hopefully interesting, adage

fparseln (3) - return the next logical line from a stream

fpclassify (3) - classify real floating type

fpgetmask, fpgetprec, fpgetround, fpgetsticky, fpsetmask, fpsetprec,
  fpsetround, fpsetsticky (3) - IEEE FP mode control

fpr (1) - print Fortran file

fputc, putc, putchar, putc_unlocked, putchar_unlocked, putw (3) - output a
  character or word to a stream

fputs, puts (3) - output a line to a stream

fputwc, putwc, putwchar, (3) - output a wide character to a stream

fputws (3) - output a line of wide characters to a stream

fread, fwrite (3) - binary stream input/output

free_fieldtype, link_fieldtype, new_fieldtype, set_fieldtype_arg,
  set_fieldtype_choice (3) - form library

free_form, new_form (3) - form library

free_item, new_item (3) - create or delete menu item

free_menu, new_menu (3) - create or delete a menu

frexp (3) - convert floating-point number to fractional and integral components

from (1) - print names of those who have sent mail

fsck (1) - perform file system consistency check

fsck (8) - file system consistency check and interactive repair

fsck_ext2fs (8) - ext2 File System consistency check and interactive repair

fsplit (1) - split a multi-routine Fortran file into individual files

fstab, mtab (5) - list of file systems to mount, mounted file system table.

ftok (3) - create IPC identifier from path name

ftp (1) - Internet file transfer program

ftpd (8) - Internet File Transfer Protocol server

ftpd.conf (5) - ftpd(8) configuration file

ftpusers, ftpchroot (5) - ftpd(8) access control file

fts, fts_open, fts_read, fts_children, fts_set, fts_close
  (3) - traverse a file hierarchy

ftw, nftw (3) - traverse (walk) a file tree

funopen, funopen2, fropen, fropen2, fwopen, fwopen2 (3) - open a stream

fwide (3) - get/set orientation of a stream

gai_strerror (3) - get error message string from EAI_xxx error code

gelf_fsize, elf32_fsize, elf64_fsize (3) - return the size of a file type

gelf_getcap, gelf_update_cap (3) - read and update ELF capability information

gelf_getclass (3) - retrieve the class of an ELF descriptor

gelf_getdyn, gelf_update_dyn (3) - read and update ELF dynamic entries

gelf_getmove, gelf_update_move (3) - read and update Elf Move information

gelf_getrel, gelf_update_rel (3) - read and update ELF relocation entries

gelf_getrela, gelf_update_rela (3) - read and update ELF relocation entries
  with addends

gelf_getsym, gelf_update_sym (3) - read and update symbol information

gelf_getsyminfo, gelf_update_syminfo (3) - read and update symbol information

gelf_getsymshndx, gelf_update_symshndx (3) - read and update symbol
  information using extended section indices

gelf_update_ehdr, gelf_update_phdr, gelf_update_shdr (3) - update underlying
  ELF data structures

genassym (1) - emit an assym.h file

getaddrinfo, freeaddrinfo, allocaddrinfo (3) - host and service name to
  socket address structure

getbsize (3) - get user block size

getcwd, getwd (3) - get working directory pathname

getdate, getdate_err (3) - convert user format date and time

getdelim, getline (3) - read a delimited record from a stream

getdevmajor (3) - get block or character device major number

getdirentries (3) - get directory entries in a filesystem independent format

getdiskbyname, setdisktab (3) - get generic disk description by its name

getdomainname, setdomainname (3) - get/set domain name of current host

getdtablesize (3) - get descriptor table size

getenv, getenv_r, putenv, setenv, unsetenv (3) - environment variable functions

getfsent, getfsspec, getfsfile, setfsent, endfsent (3) - get file system
  descriptor file entry

getfsspecname (3) - get the underlying wedge name from a label

getgid, getegid (2) - get group identity

getgrent, getgrent_r, getgrgid, getgrgid_r, getgrnam, getgrnam_r, setgroupent,
  setgrent, endgrent (3) - group database operations

getgrouplist, getgroupmembership, (3) - calculate group access list

gethostbyname, gethostbyname2, gethostbyaddr, gethostent, sethostent,
  endhostent, herror, hstrerror (3) - get network host entry

gethostid, sethostid (3) - get or set unique identifier of current host

gethostname, sethostname (3) - get or set name of current host

getifaddrs (3) - get interface addresses

getitimer, setitimer (2) - get and set value of interval timer

getlastlogx, getutmp, getutmpx, updlastlogx, updwtmpx, utmpxname (3) - user
  accounting database functions

getloadavg (3) - get system load averages

getmntinfo (3) - get information about mounted file systems

getmntopts (3) - scan mount options

getmode, setmode (3) - modify mode bits

getnameinfo (3) - socket address structure to hostname and service name

getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent (3) - get network
  entry

getnetgrent, innetgr, setnetgrent, endnetgrent (3) - netgroup database
  operations

getnucred (2) - obtain the credentials that correspond to the given endpoint.

getopt (1) - parse command options

getopt (3) - get option character from command line argument list

getopt_long (3) - get long options from command line argument list

getpagesize (3) - get system page size

getpass (3) - get a password

getpeereid (2) - get the effective user ID and effective group ID of a peer
  connected through a Unics domain socket.

getpeereid (3) - get the effective credentials of a Unics-domain peer

getpeername (2) - get the name/address of the connected peer.

getpid, getppid (2) - get process identification

getpriority, setpriority (2) - get and set scheduling priority

getprogname, setprogname (3) - get/set the name of the current program

getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent
  (3) - get protocol entry

getpwent, getpwent_r, getpwnam, getpwnam_r, getpwuid, getpwuid_r, setpassent,
  setpwent, endpwent (3) - password database operations

getrusage (2) - get information about resource utilization

getservent, getservbyport, getservbyname, setservent, endservent
  (3) - get service entry

getsockname (2) - get the current name or address of a socket.

getsockopt (2) - get the value of a socket option.

getsubopt (3) - get sub options from an argument

gettimeofday (2) - get date and time

getttyent, getttynam, setttyent, setttyentpath, endttyent (3) - get ttys file
  entry

getty (8) - system login banner

gettytab (5) - terminal configuration data base

getuid, geteuid (2) - get user identity

getusershell, setusershell, endusershell (3) - get valid user shells

getvfsstat (2) - get list of all mounted file systems

glob, globfree, glob_pattern_p (3) - generate pathnames matching a pattern

grantpt (3) - grant access to a slave pseudo-terminal device

grep, egrep, fgrep, zgrep, zegrep, zfgrep (1) - file pattern searcher

group (8) - manage group information on the system

groupadd (8) - add a group to the system

groupdel (8) - remove a group from the system

groupinfo (8) - displays group information

groupmod (8) - modify an existing group on the system

groups (1) - show group memberships

gzexe (1) - create auto-decompressing executables

gzip (1) - compression/decompression tool using Lempel-Ziv coding (LZ77)

halt (8) - abruptly stop the system

hash (3) - hash database access method

hcreate, hcreate_r, hdestroy, hdestroy_r, hsearch, hsearch_r
  (3) - manage hash search table

head (1) - display first lines of a file

help (1) - Shows usage information

hexdump (1) - ascii, decimal, hexadecimal, octal dump

hgfs (8) - VMware Host/Guest File System server

hier (7) - Description of the file system hierarchy

host (1) - look up host names using domain server

hostaddr (1) - show ethernet address, IP address or hostname

hostname (1) - set or print name of current host system

hosts (5) - hostname to IP address database

htonl, htons, ntohl, ntohs (3) - convert values between host and network byte
  order

http_status (5) - HTTP status numbers and their meanings

httpd, in.httpd, dir2html (8) - a web server for Minix 2 and Minix 3

httpd.conf httpd.mtype (5) - configuration files for the Minix httpd web server

hypot, hypotf (3) - Euclidean distance and complex absolute value functions

i2cscan (8) - scan an IIC bus for devices

iconv_open, iconv_close, iconv (3) - codeset conversion functions

id (1) - return user identity

if_nametoindex, if_indextoname, if_nameindex, if_freenameindex
  (3) - provide mappings between interface names and indexes

ifconfig (8) - configure a TCP/IP device

ifdef (1) - remove #ifdefs from a file

ilogb, ilogbf, ilogbl (3) - an unbiased exponent

indent (1) - indent and format C program source

index (3) - locate character in string

inet, inet.conf (8) - TCP/IP server

inet6_getscopeid, inet6_putscopeid (3) - IPv6 scope id encoding and decoding
  functions

inet6_opt_init, inet6_opt_append, inet6_opt_finish, inet6_opt_set_val,
  inet6_opt_next, inet6_opt_find, inet6_opt_get_val (3) - IPv6 Hop-by-Hop
  and Destination Options manipulation

inet6_option_space, inet6_option_init, inet6_option_append,
  inet6_option_alloc, inet6_option_next, inet6_option_find
  (3) - IPv6 Hop-by-Hop and Destination Options manipulation

inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
  inet6_rth_segments, inet6_rth_getaddr (3) - IPv6 Routing Header Options
  manipulation

inet6_rthdr_space, inet6_rthdr_init, inet6_rthdr_add, inet6_rthdr_lasthop,
  inet6_rthdr_reverse, inet6_rthdr_segments, inet6_rthdr_getaddr,
  inet6_rthdr_getflags (3) - IPv6 Routing Header Options manipulation

inet_addr, inet_aton, inet_lnaof, inet_makeaddr, inet_netof, inet_network,
  inet_ntoa, inet_ntop, inet_pton, addr, ntoa, network
  (3) - Internet address manipulation routines

inet_net_ntop, inet_net_pton (3) - Internet network number manipulation
  routines

info (1) - read Info documents

info (5) - readable online documentation

infocmp (1) - compare or print compiled terminfo descriptions

infokey (1) - compile customizations for Info

init (8) - grandparent of all processes

initgroups (3) - initialize supplementary group IDs

insque, remque (3) - insert/remove element from a queue

install (1) - install binaries

install-info (1) - update info/dir entries

installboot_nbsd (8) - install disk bootstrap software

intr (8) - run a command with interrupts enabled

intro, errno (2) - introduction to system calls and error numbers

ioctl (2) - control device

ip, eth, psip, udp, tcp (4) - Internet Protocol server devices and definitions

irdpd (8) - internet router discovery protocol daemon

isalnum (3) - alphanumeric character test

isalpha (3) - alphabetic character test

isalpha, isupper, islower, isdigit, isxdigit, isalnum, isspace, ispunct,
  isprint, isgraph, iscntrl, isblank, toupper, tolower,
  (3) - character classification and mapping functions

isascii (3) - test for ASCII character

isblank (3) - blank-space character test

iscntrl (3) - control character test

isdigit (3) - decimal-digit character test

isfinite (3) - test for finite value

isgraph (3) - printing character test (space character exclusive)

isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered
  (3) - compare two floating-point numbers

isinf (3) - test for infinity

isinff, isnanf (3) - test for infinity or not-a-number

islower (3) - lower-case character test

isnan (3) - test for not-a-number

isnormal (3) - test for normal value

isodir (1) - list ISO9660 or High Sierra directories

isoinfo (1) - list an ISO9660 or High Sierra volume descriptor

isoread (1) - read a file in ISO9660 or High Sierra format

isprint (3) - printing character test (space character inclusive)

ispunct (3) - punctuation character test

isspace (3) - white-space character test

isupper (3) - upper-case character test

iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
  iswprint, iswpunct, iswspace, iswupper, iswxdigit
  (3) - wide character classification utilities

iswctype (3) - test a character for character class identifier

isxdigit (3) - hexadecimal-digit character test

item_count, menu_items, set_menu_items (3) - attach items to menus or check
  correspondences

item_description, item_name (3) - get item name or description

item_init, item_term, menu_init, menu_term, set_item_init, set_item_term,
  set_menu_init, set_menu_term (3) - get or set handler functions for menu
  post/unpost or item change

item_opts, item_opts_off, item_opts_on (3) - get or modify options for an item

item_userptr, set_item_userptr (3) - get or set user pointer for an item

item_value, set_item_value, item_selected (3) - get or set value for an item

item_visible (3) - get visibility status of an item

j0, j0f, j1, j1f, jn, jnf, y0, y0f, y1, y1f, yn, ynf (3) - Bessel functions
  of first and second kind

jemalloc (3) - the default system allocator

join (1) - relational database operator

jot (1) - print sequential or random data

keymap (5) - keyboard maps

kill (1) - terminate or signal a process

kill (2) - send signal to a process

killpg (3) - send signal to a process group

ksh (1) - Public domain Korn shell

kyua (1) - Command-line interface to Kyua quality assurance toolkit

kyua-atf-tester (1) - Scriptable interface to interact with ATF test programs

kyua-plain-tester (1) - Scriptable interface to interact with plain test
  programs

kyua-tester (1) - Scriptable interface to interact with test programs

kyua-tester-list (5) - The test cases list printed by the Kyua testers

kyua-tester-result (1) - Result files created by the Kyua testers

kyua.conf (5) - Configuration file for the kyua tool

lam (1) - laminate files

last (1) - indicate last logins of users and ttys

ld.elf_so (1) - run-time link-editor (linker)

ldd (1) - list dynamic object dependencies

ldexp, ldexpf (3) - multiply floating-point number by integral power of 2

leave (1) - remind you when you have to leave

less (1) - opposite of more

lessecho (1) - expand metacharacters

lesskey (1) - specify key bindings for less

lgamma, lgammaf, lgamma_r, lgammaf_r, gamma, gammaf, gamma_r, gammaf_r,
  tgamma, tgammaf (3) - log gamma function

libarchive (3) - functions for reading and writing streaming archives

libarchive-formats (5) - archive formats supported by the libarchive library

libarchive_internals (3) - description of libarchive internal interfaces

link (2) - make a hard link to a file

link (8) - call the link() function

link_addr, link_ntoa (3) - elementary address specification routines for link
  level access

linkfarm (1) - manage symbolic links to package files

list (1) - Lists test cases and their metadata

listen (2) - listens for incoming connections on a socket

llrint, llrintf, lrint, lrintf (3) - convert to integer

ln (1) - make links

loadfont (1) - load a font into the video card

loadkeys (1) - load a keyboard map into the keyboard driver

loadramdisk (8) - copy an image of a file system to /dev/ram

lock (1) - reserve a terminal

lockf (3) - record locking on files

log, logf, log10, log10f, log1p, log1pf log2, log2f, (3) - logarithm functions

logb, logbf, logbl, scalb, scalbf, significand, significandf (3) - IEEE test
  functions

logger (1) - make entries in the system log

login (1) - authenticate users and set up their session environment

login, logout, logwtmp (3) - login utility functions

login_getclass, login_getcapbool, login_getcapnum, login_getcapsize,
  login_getcapstr, login_getcaptime, login_getpwclass, login_close,
  setclasscontext, setusercontext (3) - query login.conf database about a
  user class

loginx, logoutx, logwtmpx (3) - login utility functions

logname (1) - display user's login name

look (1) - find lines in a sorted list

lorder (1) - list dependencies for object files

lp (4) - line printer

lp, lpd (1) - copy a file to the line printer

ls (1) - list directory contents

lsearch, lfind (3) - linear searching routines

lseek (2) - move read/write pointer

lspci (1) - print table of PCI devices

lua (1) - Lua interpreter

luac (1) - Lua compiler

lzmainfo (1) - show information stored in the .lzma file header

m4 (1) - macro language processor

machine (1) - print machine type

magic (5) - file command's magic pattern file

magic_open, magic_close, magic_error, magic_descriptor, magic_buffer,
  magic_setflags, magic_check, magic_compile, magic_list, magic_load,
  magic_version (3) - Magic number recognition library

mail (1) - send and receive electronic mail

make (1) - maintain program dependencies

makecontext, swapcontext (3) - manipulate user contexts

makeinfo (1) - translate Texinfo documents

makewhatis (8) - create a whatis.db database

malloc, calloc, realloc, free (3) - general purpose memory allocation functions

malloc, free, realloc, calloc, alloca (3) - general memory allocation operations

man (1) - display the on-line manual pages (aka ``man pages'')

man (7) - legacy formatting language for manual pages

man (7) - nroff macro package for manual pages

man.conf (5) - configuration file for manual pages

mandoc (1) - format and display Unics manuals

mandoc, mandoc_escape, man_meta, man_mparse, man_node, mchars_alloc,
  mchars_free, mchars_num2char, mchars_num2uc, mchars_spec2cp,
  mchars_spec2str, mdoc_meta, mdoc_node, mparse_alloc, mparse_free,
  mparse_getkeep, mparse_keep, mparse_readfd, mparse_reset, mparse_result,
  mparse_strerror, mparse_strlevel (3) - mandoc macro compiler library

mandoc_char (7) - mandoc special characters

math (3) - introduction to mathematical library functions

mblen (3) - get number of bytes in a multibyte character

mbrlen (3) - get number of bytes in a multibyte character (restartable)

mbrtowc (3) - converts a multibyte character to a wide character (restartable)

mbsinit (3) - determines whether the state object is in the initial state

mbsrtowcs (3) - converts a multibyte character string to a wide-character
  string  (restartable)

mbstowcs (3) - converts a multibyte character string to a wide-character
  string

mbtowc (3) - converts a multibyte character to a wide character

mdoc (7) - semantic markup language for formatting manual pages

membar_ops, membar_enter, membar_exit, membar_producer, membar_consumer,
  membar_sync (3) - memory access barrier operations

memccpy (3) - copy string until character found

memccpy, memchr, memcmp, memcpy, memmem, memmove, memset (3) - byte string
  operations

memchr, memrchr (3) - locate byte in byte string

memcmp (3) - compare byte string

memcpy (3) - copy byte string

memmem (3) - locate substring in byte string

memmove (3) - copy byte string

memset (3) - write a byte to byte string

menu_back, menu_fore, menu_grey, menu_pad, set_menu_back, set_menu_fore,
  set_menu_grey, set_menu_pad (3) - get and set menu attributes

menu_driver (3) - main menu handling function

menu_format, set_menu_format (3) - get or set number of rows and columns of
  items

menu_mark, menu_unmark, set_menu_mark, set_menu_unmark (3) - get or set
  strings that show mark status for a menu

menu_opts, menu_opts_off, menu_opts_on, set_menu_opts (3) - get or modify
  options for a menu

menu_pattern, set_menu_pattern (3) - get or set menu pattern

menu_sub, menu_win, scale_menu, set_menu_sub, set_menu_win (3) - sub-menu
  handling

menu_userptr, set_menu_userptr (3) - get or set user pointer for a menu

menuc (1) - menu compiler

menus (3) - menu library

mesg (1) - display (do not display) messages from other users

mi_vector_hash (3) - fast 32bit hash functions

ministat (1) - statistics utility

mixer (1) - manipulate mixer settings on a sound card

mkdep (1) - construct Makefile dependency list

mkdir (1) - make directories

mkdir (2) - make a directory file

mkfifo (1) - make fifos

mkfs.mfs (1) - make a file system

mknod (8) - make device special file

mknod, mkfifo (2) - make a special file

mkproto (1) - create a MINIX 3 prototype file

mkstr (1) - create an error message file by massaging C source

mktemp (1) - make temporary file name (unique)

mktemp, mkstemp, mkdtemp (3) - make unique temporary file or directory name

modf (3) - extract signed integral and fractional values from floating-point
  number

monop (6) - Monopoly game

mount (1) - mount a file system

mount, umount (2) - mount or umount a file system

mpool, mpool_open, mpool_filter, mpool_new, mpool_get, mpool_put, mpool_sync,
  mpool_close (3) - shared memory buffer pool

msgc, msg_window, msg_string, msg_clear, msg_standout, msg_standend,
  msg_display, msg_display_add, msg_printf, msg_prompt, msg_prompt_add,
  msg_prompt_win, msg_prompt_noecho, msg_row, msg_table_add
  (1) - simple message list compiler

mt (1) - magnetic tape control

mtio (4) - magnetic tape commands

mtree (5) - format of mtree dir hierarchy files

mtree (8) - map a directory hierarchy

mv (1) - move files

nan, nanf, nanl (3) - return quiet NaN

nbperf (1) - compute a perfect hash function

netconf (8) - a script to configure the network

new_page, set_new_page (3) - form library

newfs_ext2fs (8) - construct a new ext2 file system

newgrp (1) - change to a new primary group

newroot (8) - replace the current root with a new one

nextafter, nextafterf, nextafterl, nexttoward (3) - next representable
  floating-point number

nice (1) - execute a utility with an altered scheduling priority

nice (3) - set program scheduling priority

nl (1) - line numbering filter

nl_langinfo (3) - get locale information

nlist (3) - retrieve symbol table name list from an executable file

nohup (1) - invoke a command immune to hangups

nologin (8) - politely refuse a login

nonamed (8) - not a name daemon, but acts like one

nsdispatch (3) - name-service switch dispatcher routine

number (6) - convert Arabic numerals to English

od (1) - octal, decimal, hex, ascii dump

offtime, timeoff, timegm, timelocal (3) - convert date and time

open (2) - open a file for reading or writing, or create a new file

opendisk (3) - open a disk partition

openpty, login_tty, forkpty (3) - tty utility functions

ossinfo (August) - Open Sound System legacy device management utility.

parsedate (3) - date parsing function

part (8) - partition table editor

partition (8) - make a partition table

passwd (1) - modify a user's password

passwd, group, shadow (5) - user and group databases, shadow passwords

paste (1) - merge corresponding or subsequent lines of files

patch (1) - apply a diff file to an original

pathchk (1) - check pathnames

pause (3) - stop until signal

pax (1) - read and write file archives and copy directory hierarchies

perror, strerror, strerror_r, sys_errlist, sys_nerr (3) - system error messages

pidfile (3) - write a daemon pid file

pidlock, ttylock, ttyunlock (3) - locks based on files containing PIDs

pig (6) - eformatray inputway asway Igpay Atinlay

ping (8) - send ICMP ECHO_REQUEST packets to network hosts

pipe (2) - create descriptor pair for interprocess communication

pkg_install.conf (5) - configuration file for package installation tools

pkg_summary (5) - summary of binary package repository

pkg_view (1) - add and delete instances of depoted packages in views

pkgsrc (7) - NetBSD packages collection (framework for third-party software)

plain-interface (1) - Description of the plain test program interface

playwave (1) - play an audio file in MicroSoft PCM wave format

popcount, popcountl, popcountll, popcount32, popcount64 (3) - count number of
  bits set in a bit string

popen, pclose (3) - process I/O

pos_form_cursor (3) - form library

pos_menu_cursor (3) - position cursor in menu window

posix_memalign (3) - aligned memory allocation

posix_openpt (3) - open a pseudo-terminal device

posix_spawn, posix_spawnp (3) - spawn a process

posix_spawn_file_actions_addopen, posix_spawn_file_actions_adddup2,
  posix_spawn_file_actions_addclose (3) - add open, dup2 or close action to
  spawn file actions object

posix_spawn_file_actions_init, posix_spawn_file_actions_destroy
  (3) - initiate and destroy spawn file actions object

posix_spawnattr_getflags, posix_spawnattr_setflags (3) - get and set the
  spawn-flags attribute of a spawn attributes object

posix_spawnattr_getpgroup, posix_spawnattr_setpgroup (3) - get and set the
  spawn-pgroup attribute of a spawn attributes object

posix_spawnattr_getschedparam, posix_spawnattr_setschedparam (3) - get and
  set the spawn-schedparam attribute of a spawn attributes object

posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy (3) - get and
  set the spawn-schedpolicy attribute of a spawn attributes object

posix_spawnattr_getsigdefault, posix_spawnattr_setsigdefault (3) - get and
  set the spawn-sigdefault attribute of a spawn attributes object

posix_spawnattr_getsigmask, posix_spawnattr_setsigmask (3) - get and set the
  spawn-sigmask attribute of a spawn attributes object

posix_spawnattr_init, posix_spawnattr_destroy (3) - initiate and destroy
  spawn attributes object

post_form, unpost_form (3) - form library

post_menu, unpost_menu (3) - post (draw) or unpost a menu

postinstall (8) - check and fix installation after system upgrades

pow, powf (3) - power functions

pr (1) - print files

pr_routes (8) - show IP routing.

prep (1) - prepare a text file for statistical analysis

primes (6) - generate primes

printenv (1) - print out the environment

printf (1) - formatted output

printf, fprintf, dprintf sprintf, snprintf, snprintf_ss, asprintf, vprintf,
  vfprintf, vsprintf, vdprintf, vsnprintf, vsnprintf_ss, vasprintf
  (3) - formatted output conversion

printroot (8) - print the name of the root device on standard output

profile (1) - MINIX system profiling control command

prop_array, prop_array_create, prop_array_create_with_capacity,
  prop_array_copy, prop_array_copy_mutable, prop_array_capacity,
  prop_array_count, prop_array_ensure_capacity, prop_array_iterator,
  prop_array_make_immutable, prop_array_mutable, prop_array_get,
  prop_array_set, prop_array_add, prop_array_remove, prop_array_externalize,
  prop_array_internalize, prop_array_externalize_to_file,
  prop_array_internalize_from_file, prop_array_externalize_to_pref,
  prop_array_internalize_from_pref, prop_array_equals
  (3) - array property collection object

prop_array_copyin_ioctl, prop_array_copyout_ioctl, prop_array_copyin,
  prop_array_copyout, prop_dictionary_copyin_ioctl,
  prop_dictionary_copyout_ioctl, prop_dictionary_copyin,
  prop_dictionary_copyout (9) - Copy property lists to and from kernel space

prop_array_send_ioctl, prop_array_recv_ioctl, prop_dictionary_send_ioctl,
  prop_dictionary_recv_ioctl, prop_dictionary_sendrecv_ioctl
  (3) - Send and receive propertly lists to and from the kernel using ioctl

prop_array_send_syscall, prop_array_recv_syscall,
  prop_dictionary_send_syscall, prop_dictionary_recv_syscall
  (3) - send and receive property lists to and from the kernel using syscalls

prop_array_util, prop_array_get_bool, prop_array_set_bool,
  prop_array_get_int8, prop_array_get_uint8, prop_array_set_int8,
  prop_array_set_uint8, prop_array_get_int16, prop_array_get_uint16,
  prop_array_set_int16, prop_array_set_uint16, prop_array_get_int32,
  prop_array_get_uint32, prop_array_set_int32, prop_array_set_uint32,
  prop_array_get_int64, prop_array_get_uint64, prop_array_set_int64,
  prop_array_set_uint64, prop_array_add_int8, prop_array_add_uint8,
  prop_array_add_int16, prop_array_add_uint16, prop_array_add_int32,
  prop_array_add_uint32, prop_array_add_int64, prop_array_add_uint64,
  prop_array_get_cstring, prop_array_set_cstring, prop_array_get_cstring_nocopy,
  prop_array_set_cstring_nocopy, prop_array_add_and_rel
  (3) - array property collection object utility functions

prop_bool, prop_bool_create, prop_bool_copy, prop_bool_true
  (3) - boolean value property object

prop_data, prop_data_create_data, prop_data_create_data_nocopy, prop_data_copy,
  prop_data_size, prop_data_data, prop_data_data_nocopy, prop_data_equals,
  prop_data_equals_data (3) - opaque data value property object

prop_dictionary, prop_dictionary_create, prop_dictionary_create_with_capacity,
  prop_dictionary_copy, prop_dictionary_copy_mutable, prop_dictionary_count,
  prop_dictionary_ensure_capacity, prop_dictionary_iterator,
  prop_dictionary_all_keys, prop_dictionary_make_immutable,
  prop_dictionary_mutable, prop_dictionary_get, prop_dictionary_set,
  prop_dictionary_remove, prop_dictionary_get_keysym,
  prop_dictionary_set_keysym, prop_dictionary_remove_keysym,
  prop_dictionary_externalize, prop_dictionary_internalize,
  prop_dictionary_externalize_to_file, prop_dictionary_internalize_from_file,
  prop_dictionary_externalize_to_pref, prop_dictionary_internalize_from_pref,
  prop_dictionary_equals, prop_dictionary_keysym_cstring_nocopy,
  prop_dictionary_keysym_equals (3) - dictionary property collection object

prop_dictionary_util, prop_dictionary_get_dict, prop_dictionary_get_bool,
  prop_dictionary_set_bool, prop_dictionary_get_int8,
  prop_dictionary_get_uint8, prop_dictionary_set_int8,
  prop_dictionary_set_uint8, prop_dictionary_get_int16,
  prop_dictionary_get_uint16, prop_dictionary_set_int16,
  prop_dictionary_set_uint16, prop_dictionary_get_int32,
  prop_dictionary_get_uint32, prop_dictionary_set_int32,
  prop_dictionary_set_uint32, prop_dictionary_get_int64,
  prop_dictionary_get_uint64, prop_dictionary_set_int64,
  prop_dictionary_set_uint64, prop_dictionary_get_cstring,
  prop_dictionary_set_cstring, prop_dictionary_get_cstring_nocopy,
  prop_dictionary_set_cstring_nocopy, prop_dictionary_set_and_rel
  (3) - dictionary property collection object utility functions

prop_ingest_context_alloc, prop_ingest_context_free, prop_ingest_context_error,
  prop_ingest_context_type, prop_ingest_context_key,
  prop_ingest_context_private, prop_dictionary_ingest
  (3) - Ingest a dictionary into an arbitrary binary format

prop_number, prop_number_create_integer, prop_number_create_unsigned_integer,
  prop_number_copy, prop_number_size, prop_number_unsigned,
  prop_number_integer_value, prop_number_unsigned_integer_value,
  prop_number_equals, prop_number_equals_integer,
  prop_number_equals_unsigned_integer (3) - numeric value property object

prop_object, prop_object_retain, prop_object_release, prop_object_type,
  prop_object_equals, prop_object_iterator_next, prop_object_iterator_reset,
  prop_object_iterator_release (3) - general property container object functions

prop_string, prop_string_create, prop_string_create_cstring,
  prop_string_create_cstring_nocopy, prop_string_copy,
  prop_string_copy_mutable, prop_string_size, prop_string_mutable,
  prop_string_cstring, prop_string_cstring_nocopy, prop_string_append,
  prop_string_append_cstring, prop_string_equals, prop_string_equals_cstring
  (3) - string value property object

proplib (3) - property container object library

ps (1) - process status

psignal, psiginfo, sys_siglist, sys_signame (3) - system signal messages

pthread_atfork (3) - register handlers to be called when process forks

ptrace (2) - process trace

ptsname (3) - get the pathname of the slave pseudo-terminal device

puffs (3) - Pass-to-Userspace Framework File System development interface

puffs_cc (3) - puffs continuation routines

puffs_cred (3) - puffs credential and access control routines

puffs_flush (3) - puffs kernel cache flushing and invalidation routines

puffs_framebuf (3) - buffering and event handling for networked file systems

puffs_node (3) - puffs node routines

puffs_ops (3) - puffs callback operations

puffs_path (3) - puffs pathbuilding routines

pw_getconf, pw_getpwconf (3) - password encryption configuration access function

pw_init, pw_edit, pw_prompt, pw_copy, pw_copyx, pw_scan, pw_error
  (3) - utility functions for interactive passwd file updates

pw_lock, pw_mkdb, pw_abort, pw_setprefix, pw_getprefix
  (3) - passwd file update functions

pwcache, user_from_uid, group_from_gid (3) - cache password and group entries

pwd (1) - return working directory name

pwd_mkdb (8) - generate the password databases

pwdauth (8) - password authentication program

pwhash (1) - hashes passwords from the command line or standard input

qabs (3) - return the absolute value of a quad integer

qdiv (3) - return quotient and remainder from division

qsort, heapsort, mergesort (3) - sort functions

quick_exit (3) - exits a program quickly, running minimal cleanup

radixsort, sradixsort (3) - radix sort

raise (3) - send a signal to the current thread

raise_default_signal (3) - raise the default signal handler

rand, srand, rand_r (3) - bad random number generator

random (6) - random lines from a file or random numbers

random, srandom, initstate, setstate (3) - better random number generator;
  routines for changing generators

randomid, randomid_new, randomid_delete, (3) - provide pseudo-random data
  stream without repetitions

rarpd (8) - reverse address resolution protocol daemon

rcmd, orcmd, rcmd_af, orcmd_af, rresvport, rresvport_af, iruserok, ruserok,
  iruserok_sa (3) - routines for returning a stream to a remote command

rcp (1) - remote file copy

rdate (8) - set the system's date from a remote host

re_format (7) - POSIX 1003.2 regular expressions

read, pread (2) - read input

readclock (8) - read or set a real time clock

readlink (2) - read the contents of a symlink

realpath (3) - returns the canonicalized absolute pathname

reboot (2) - reboot system or halt processor

reboot, poweroff, halt (8) - restarting, powering down and stopping the system

recno (3) - record number database access method

recv (2) - receive a message through a socket

recvfrom (2) - receive a message through a socket

recvmsg (2) - receive a message through a socket

recwave (1) - record an audio file in MicroSoft PCM wave format

refuse (3) - Re-implementation of a file system in userspace system

regex, regcomp, regexec, regerror, regfree (3) - regular-expression library

remainder, remainderf, remquo, remquof (3) - remainder functions

remove (3) - remove directory entry

remsync (1) - remotely synchronize file trees

rename (2) - change the name of a file

renice (8) - alter priority of running processes

repartition (8) - load a partition table

report (1) - Generates a plain-text report with the results of a test action

report-html (1) - Generates an HTML report with the results of a test action

res_ninit, res_ourserver_p, fp_resstat, res_hostalias, res_pquery, res_nquery,
  res_nsearch, res_nquerydomain, res_nmkquery, res_nsend, res_nupdate,
  res_nmkupdate, res_nclose, res_nsendsigned, res_findzonecut, res_getservers,
  res_setservers, res_ndestroy, dn_comp, dn_expand, res_init, res_isourserver,
  fp_nquery, p_query, hostalias, res_query, res_search, res_querydomain,
  res_mkquery, res_send, res_update, res_close, (3) - resolver routines

resolv.conf (5) - Domain Name System resolver configuration

resolver (5) - resolver configuration file

rev (1) - reverse order of characters of lines in a file

rget, rput (1) - network pipe

rhosts, hosts.equiv (5) - trusted remote users or hosts

rindex (3) - locate character in string

rint, rintf (3) - round to integral value in floating-point format

rlogin (1) - remote login

rm (1) - remove directory entries

rmdir (1) - remove directories

rmdir (2) - remove a directory file

rmtops (3) - access tape drives on remote machines

roff (7) - roff language reference for mandoc

round, roundf, roundl (3) - round to nearest integral value

rsh (1) - remote shell

rshd (8) - remote shell server

rz (1) - receive a file using the zmodem protocol

scalbn, scalbnf, scalbnl (3) - exponent using FLT_RADIX

scandir, alphasort (3) - scan a directory

scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf (3) - input format conversion

screendump (8) - write current console screen to standard output

sdiff (1) - side-by-side diff

secure_path (3) - determine if a file appear to be ``secure''

sed (1) - stream editor

select, FD_CLR, FD_ISSET, FD_SET, FD_ZERO (2) - synchronous I/O multiplexing

send (2) - send a message through a socket

sendmsg (2) - send a message through a socket

sendto (2) - send a message through a socket

seq (1) - print sequences of numbers

serial-ip (8) - Serial IP (SLIP or PPP) setup

serv.access (5) - Internet service access list

service (8) - Manage an operating system service.

setbuf, setbuffer, setlinebuf, setvbuf (3) - stream buffering operations

setlocale, localeconv (3) - natural language formatting for C

setproctitle (3) - set process title

setruid, setrgid (3) - set user and group ID

setsid, getpgrp (2) - create process group, get process group id

setsockopt (2) - set the value of a socket option.

setuid, seteuid, setgid, setegid (2) - set (effective) user or group ID's

setup (8) - Install MINIX 3 on a hard disk

setupterm, set_curterm, del_curterm, termname, longname, tigetflag, tigetnum,
  tigetstr, tparm, tputs, putp (3) - terminal independent operation routines

sh (1) - command interpreter (shell)

shar (1) - create a shell archive of files

shlock (1) - create or verify a lock file for shell scripts

shquote, shquotev (3) - quote argument strings for use with the shell

shuffle (1) - print a random permutation of the command line arguments

shutdown (2) - shuts down a socket for reading, writing, or both

shutdown (8) - graciously close the system down

sigaction, signal (2) - manage signal state and handlers

sigblock (3) - block signals

sigemptyset, sigfillset, sigaddset, sigdelset, sigismember
  (3) - manipulate signal sets

sighold (3) - manipulate current signal mask

sigignore (3) - manipulate signal dispositions

siginterrupt (3) - allow signals to interrupt system calls

signal (3) - simplified software signal facilities

signbit (3) - test sign

sigpause (3) - atomically release blocked signals and wait for interrupt

sigpending (2) - report pending signals

sigprocmask (2) - manipulate the signal mask

sigrelse (3) - manipulate current signal mask

sigset (3) - manipulate signal dispositions

sigsetjmp, siglongjmp, setjmp, longjmp, _setjmp, _longjmp, longjmperror
  (3) - non-local jumps

sigsetmask (3) - set current signal mask

sigsuspend (2) - suspend until signalled

sigvec (3) - software signal facilities

sin, sinf (3) - sine function

sinh, sinhf (3) - hyperbolic sine function

sleep (1) - suspend execution for an interval of time

sleep (3) - suspend process execution for interval of seconds

slip (8) - Serial Line IP

snprintb (3) - bitmask output conversion

sockaddr_snprintf (3) - formatting function for socket address structures

sockatmark (3) - determine whether a socket is at the out-of-band mark

socket (2) - creates a socket.

socketpair (2) - creates a pair of connected sockets.

soelim (1) - eliminate .so's from nroff input

sort (1) - sort or merge text files

spell (1) - print all words in a file not present in the dictionary

split (1) - split a file into pieces

sqlite3 (1) - A command line interface for SQLite version 3

srccrc (8) - compute CRC checksums of the entire source tree

ssp (3) - bounds checked libc functions

stat, readlink (1) - display file status

statvfs (5) - file system statistics

statvfs, statvfs1, fstatvfs, fstatvfs1 (2) - get file system statistics

stdio (3) - standard input/output library functions

stpcpy, stpncpy, strcat, strlcat, strncat, strchr, strrchr, strcmp, strncmp,
  strcasecmp, strncasecmp, strcoll, strcpy, strlcpy, strncpy, strerror,
  strerror_r, strlen, strnlen, strpbrk, strsep, stresep, strspn, strcspn,
  strdup, strndup, strstr, strcasestr, strtok, strtok_r, strxfrm
  (3) - string specific functions

stpcpy, stpncpy, strcpy, strncpy (3) - copy strings

strcasecmp, strncasecmp (3) - compare strings, ignoring case

strcat, strncat (3) - concatenate strings

strchr (3) - locate character in string

strcmp, strncmp (3) - compare strings

strcoll (3) - compare strings according to current collation

strcspn (3) - span the complement of a string

strdup, strndup (3) - save a copy of a string

strfile, unstr (8) - create a random access file for storing strings

strfmon (3) - convert monetary value to string

strftime, strftime_z (3) - format date and time

string_to_flags, flags_to_string (3) - Stat flags parsing and printing functions

stringlist, sl_init, sl_add, sl_free, sl_find, sl_delete
  (3) - stringlist manipulation functions

strlcpy, strlcat (3) - size-bounded string copying and concatenation

strlen, strnlen (3) - find length of string

strmode (3) - convert inode status information into a symbolic string

strpbrk (3) - locate multiple characters in string

strpct, strspct (3) - decimal percent formatters

strptime (3) - converts a character string to a time value

strrchr (3) - locate character in string

strsep, stresep (3) - separate strings

strsignal (3) - get signal description string

strspn (3) - span a string

strstr, strcasestr (3) - locate a substring in a string

strsuftoll, strsuftollx (3) - convert a string to a long long, with suffix
  parsing

strtod, strtof, strtold (3) - convert ASCII string to double, float, or long
  double

strtok, strtok_r (3) - string tokens

strtol, strtoll, strtoimax, strtoq (3) - convert string value to a long,
  long long, intmax_t or quad_t integer

strtoul, strtoull, strtoumax, strtouq (3) - convert a string to an unsigned
  long, unsigned long long, uintmax_t or uquad_t integer

strxfrm (3) - transform a string under locale

stty (1) - set options for a terminal device interface

su (1) - substitute user identity

svc, ci, co, svclog (1) - shell version control system

svrctl (1) - send servers control messages

svrctl (2) - special server control functions

swab (3) - swap adjacent bytes

symlink (2) - make a symbolic link to a file

sync (8) - force completion of pending disk writes (flush cache)

sync, fsync (2) - update dirty buffers and super-block

synctree (1) - synchronize directory trees.

sysconf (3) - get configurable system variables

sysctl, sysctlbyname, sysctlgetmibinfo, sysctlnametomib (3) - get or set
  system information

sysenv (1) - request system boot parameter

syslog, syslog_r, vsyslog, vsyslog_r, syslogp, syslogp_r, vsyslogp,
  vsyslogp_r, openlog, openlog_r, closelog, closelog_r, setlogmask,
  setlogmask_r (3) - control system log

syslog.conf (5) - syslogd(8) configuration file

syslogd (8) - system logging daemon.

system (3) - pass a command to the shell

system.conf (5) - operating system service configuration

sz (1) - send a file using the zmodem protocol

tail (1) - display the last part of a file

tan, tanf (3) - tangent function

tanh, tanhf (3) - hyperbolic tangent function

tar (1) - tape archiver

tar (5) - format of tape archive files

tbl (7) - tbl language reference for mandoc

tcgetpgrp (3) - get foreground process group ID

tcgetsid (3) - get session ID associated with a controlling terminal

tcpd, tcpdp (8) - waits for a TCP connection request and starts a server

tcsendbreak, tcdrain, tcflush, tcflow (3) - line control functions

tcsetpgrp (3) - set foreground process group ID

tee (1) - pipe fitting

telnet (1) - user interface to the TELNET protocol

template, blueprint (1) - a blueprint for making manual pages

tempnam, tmpfile, tmpnam (3) - temporary file routines

term (1) - turn PC into a dumb terminal [IBM]

termcap (1) - print the current termcap entry

termcap (5) - terminal capability data base

terminfo (5) - terminal capability definition

test (1) - Runs tests

test, [ (1) - condition evaluation utility

test-filters (7) - Syntax of the command-line test filters

tetris (6) - the game of tetris

texi2dvi (1) - print Texinfo documents

texindex (1) - sort Texinfo index files

texinfo (5) - software documentation system

tget (1) - get termcap values

tgetent, tgetnum, tgetflag, tgetstr, tgoto, tputs
  (3) - terminal independent operation routines

tic (1) - terminfo compiler

time (1) - report how long a command takes

time (3) - get time of day

time, stime (2) - get/set date and time

time2posix, time2posix_z, posix2time, posix2time_z,
  (3) - convert seconds since the Epoch

times (3) - process times

timezone (3) - return the timezone abbreviation

toascii (3) - convert a byte to 7-bit ASCII

tolower (3) - upper case to lower case letter conversion

touch (1) - change file access and modification times

toupper (3) - lower case to upper case letter conversion

towctrans (3) - convert a wide character with a specified map

towlower (3) - wide character case letter conversion utilities

tput, clear (1) - terminal capability interface

tr (1) - translate characters

traceroute (8) - print the route packets take to network host

true (1) - return true value

trunc, truncf, truncl (3) - nearest integral value with magnitude less than
  or equal to |x|

truncate (1) - truncate or extend the length of files

truncate, ftruncate (2) - truncate a file to a specified length (may extend)

tsearch, tfind, tdelete, twalk (3) - manipulate binary search trees

tsort (1) - topological sort of a directed graph

tty (1) - return user's terminal name

tty, termios (4) - terminals

ttyaction (3) - ttyaction utility function

ttymsg (3) - ttymsg utility function

ttyname, ttyname_r, isatty, ttyslot (3) - get name of associated terminal
  (tty) from file descriptor

ttys (5) - terminal initiation information

ttytab (5) - table of login terminals

tzfile (5) - time zone information

tzset (3) - initialize time conversion information

ualarm (3) - schedule signal after specified time

uds (4) - unics domain sockets device

ul (1) - do underlining

ulimit (3) - get and set process limits

umask (2) - set file creation mode mask

umount (1) - unmount a mounted file system

uname (1) - Print operating system name

uname (2) - get system info

uname (3) - get system identification

ungetc (3) - un-get character from input stream

ungetwc (3) - un-get wide character from input stream

unifdef, unifdefall (1) - remove preprocessor conditionals from code

uniq (1) - report or filter out repeated lines in a file

units (1) - conversion program

unix (8) - Unix Domain Sockets (PF_UNIX) / Local Sockets (PF_LOCAL)

unlink (2) - remove directory entry

unlink (8) - call the unlink function

unlockpt (3) - unlock the slave pseudo-terminal device

unvis (1) - revert a visual representation of data back to original form

unvis, strunvis (3) - decode a visual representation of characters

unzip (1) - extract files from a ZIP archive

update (8) - periodically write the buffer cache to disk

uptime (1) - show how long system has been running

usage (8) - installing and using MINIX

user (8) - manage user login information on the system

useradd (8) - add a user to the system

userdel (8) - remove a user from the system

userinfo (8) - displays user information

usermgmt.conf (5) - user management tools configuration file

usermod (8) - modify user login information

users (1) - list current users

usleep (3) - suspend execution for interval of microseconds

util, libutil (3) - system utilities library

utime (2) - set file times

utime (3) - set file times

utmp, wtmp (5) - logged in users, login and logout history

uuencode (5) - format of an encoded uuencode file

uuencode, uudecode (1) - encode/decode a binary file

uuid_compare, uuid_create, uuid_create_nil, uuid_equal, uuid_from_string,
  uuid_hash, uuid_is_nil, uuid_to_string, uuid_enc_le, uuid_dec_le,
  uuid_enc_be, uuid_dec_be (3) - Universally Unique Identifier routines

uuidgen (1) - generate universally unique identifiers

valloc (3) - aligned memory allocation function

vbfs (8) - VirtualBox Shared Folder File System server

vipw (8) - edit the password file

virecover (8) - report recovered vi edit sessions

vis (1) - display non-printable characters in a visual format

vis, nvis, strvis, strnvis, strvisx, strnvisx, strenvisx, svis, snvis,
  strsvis, strsnvis, strsvisx, strsnvisx, strsenvisx
  (3) - visually encode characters

vndconfig (8) - configure vnode disks

vol (1) - split input on or combine output from several volumes

w (1) - who present users are and what they are doing

wait, waitpid (2) - wait for process to terminate

wall (1) - write a message to users

wargames (6) - shall we play a game?

wc (1) - word, line, and byte count

wcrtomb (3) - converts a wide character to a multibyte character (restartable)

wcscasecmp, wcsncasecmp (3) - compare wide-character strings, ignoring case

wcscoll (3) - compare wide strings according to current collation

wcsdup (3) - save a copy of a wide string

wcsftime (3) - convert date and time to a wide-character string

wcsrtombs (3) - converts a wide-character string to a multibyte character
  string (restartable)

wcstof, wcstod, wcstold (3) - convert string to float, double, or long double

wcstok (3) - split wide-character string into tokens

wcstol, wcstoul, wcstoll, wcstoull, wcstoimax, wcstoumax (3) - convert a
  wide-character string value to a long, unsigned long, long long,
  unsigned long long, intmax_t or uintmax_t integer

wcstombs (3) - converts a wide-character string to a multibyte character string

wcswidth (3) - number of column positions in wide-character string

wcsxfrm (3) - transform a wide string under locale

wctob (3) - convert a wide character to a single byte character

wctomb (3) - converts a wide character to a multibyte character

wctrans (3) - get character mapping identifier by name

wctype (3) - get character class identifier by name

wcwidth (3) - number of column positions of a wide-character code

what (1) - search files for SCCS identifiers

whatis (1) - describe what a command is

whereis (1) - locate programs

which (1) - locate a program file in the users $PATH environment variable

who (1) - display who is logged in

whoami (1) - display effective user id

whois (1) - Internet domain name and network number directory service

wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset, wcscat, wcschr, wcscmp, wcscpy,
  wcscspn, wcslcat, wcslcpy, wcslen, wcsncat, wcsncmp, wcsncpy, wcspbrk,
  wcsrchr, wcsspn, wcsstr wcswcs (3) - wide-character string manipulation
  operations

wordexp (3) - perform shell-style word expansions

worldstone (1) - shell script to consistently execute benchmarks

wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf
  (3) - formatted wide character output conversion

write (1) - send a message to another user

write (2) - write output

wscanf, fwscanf, swscanf, vwscanf, vswscanf, vfwscanf
  (3) - wide character input format conversion

xargs (1) - construct argument list(s) and execute utility

xstr (1) - extract strings from C programs to implement shared strings

xz, unxz, xzcat, lzma, unlzma, lzcat (1) - Compress or expand .xz and .lzma files

yacc (1) - an LALR(1) parser generator

yap, more (1) - yet another pager

yes (1) - be repetitively affirmative

zcmp, zdiff (1) - compare compressed files

zdump (8) - time zone dumper

zforce (1) - force gzip files to have a .gz suffix

zic (8) - time zone compiler

zlib (3) - general purpose compression library

zmore, zless (1) - view compressed files

znew (1) - convert compressed files to gzipped files

 

Robot or human visitors to CSS Dixieland are recorded in raw access log. This is a passive register purely for statistical purposes, no cookies are stored in the client computer.

  Go to top of this page Go to page with index, history, exchange policy, contact CSS Dixieland: Start

Hosted by Neocities:
https://www.neocities.org/