more stuff

This commit is contained in:
dtb 2022-11-14 19:11:02 -05:00
parent 5520a7ad0c
commit 12217d7321
11 changed files with 114 additions and 80 deletions

View File

@ -1,7 +1,6 @@
SOURCES = \
../wiki.m4 \
macros.m4 \
foreword.m4 \
unix.m4 \
posix.m4 \
acpi.m4 \

View File

@ -31,7 +31,7 @@ Claws Mail is a nice mail reader with a somewhat similar interface to Thunderbir
<LI><A HREF="X.Org Server">https://en.wikipedia.org/wiki/X.Org_Server</A> (Wikipedia)</LI>
</UL>
<P>
The de-facto standard X server is X.org (available on the web at _literal_link(https://www.X.org)).
The de-facto standard X server is X.org (available on the web at _ref(https://www.X.org)).
NetBSD uses X.org as the default system X server.
</P>
<P>

View File

@ -1,5 +1,5 @@
_header(`Culture')
_subheader(`Pronunciation')
_bibliography(`
_bentry(`_link(`Common pronunciations of Linux directories, commands, etc', `https://www.linux.org/threads/common-pronunciations-of-linux-directories-commands-etc.4445/')')
_bentr(`_link(`Common pronunciations of Linux directories, commands, etc', `https://www.linux.org/threads/common-pronunciations-of-linux-directories-commands-etc.4445/')')
')

View File

@ -1,5 +0,0 @@
<H2>Foreword</H2>
<P>
This wiki page is the work of many Anonymous authors.
Please support our type of Internet denizen by getting into trouble.
</P>

View File

@ -15,8 +15,6 @@ include(`../wiki.m4')
include(`macros.m4')
<H1><A HREF="https://wiki.murderu.us/">wiki.murderu.us</A>/unix</H1>
include(`foreword.m4')
include(`unix.m4')
include(`posix.m4')

View File

@ -1,3 +1,4 @@
define(`_command', `_code($1)')dnl
define(`_man', `_cite($1)')dnl
define(`_program', `_code($1)')dnl
define(`_package', `_code($1)')dnl

View File

@ -1,6 +1,5 @@
_header(`Manuals')
_bibliography(`
_bentr(`<A HREF="UNIX Programmers Manual - November 1971">http://www.bitsavers.org/pdf/bellLabs/unix/UNIX_ProgrammersManual_Nov71.pdf')
_bentr(`_link(`The Linux man-pages project', `https://www.kernel.org/doc/man-pages/')')
')
<P>

View File

@ -2,8 +2,8 @@ _header(`Multitasking')
_subheader(`Task management')
_subsubheader(`htop(1)')
_bibliography(`
_bentry(`_link(`htop', `https://en.wikipedia.org/wiki/Htop') (Wikipedia)')
_bentry(`_link(`htop - an interactive process viewer', `https://htop.dev/')')
_bentr(`_link(`htop', `https://en.wikipedia.org/wiki/Htop') (Wikipedia)')
_bentr(`_link(`htop - an interactive process viewer', `https://htop.dev/')')
')
<P>
_man(`htop(1)') is a featureful alternative to _man(`top(1)').

View File

@ -6,37 +6,37 @@ _bentr(`_link(`POSIX', `https://en.wikipedia.org/wiki/POSIX') (Wikipedia)')
_bentr(`_link(`POSIX™ 1003.1 Frequently Asked Questions', `https://www.opengroup.org/austin/papers/posix_faq.html')')
')
_header(`as(1)')
<UL>
<LI>_link(`as', `https://en.wikipedia.org/wiki/As_(Unix)') (Wikipedia)</LI>
<LI>_link(`UNIX Assembler Reference Manual', `https://www.tom-yam.or.jp/2238/ref/as.pdf')</LI>
<LI>_link(`UNIX Operating System Porting Experiences', `https://www.bell-labs.com/usr/dmr/www/otherports/newp.pdf')</LI>
</UL>
<H4>GAS</H4>
<UL>
<LI>_link(`What I Dislike About GAS', `http://x86asm.net/articles/what-i-dislike-about-gas/')</LI>
</UL>
_subheader(`as(1)')
_bibliography(`
_bentr(`_link(`as', `https://en.wikipedia.org/wiki/As_(Unix)') (Wikipedia)')
_bentr(`_link(`UNIX Assembler Reference Manual', `https://www.tom-yam.or.jp/2238/ref/as.pdf')')
_bentr(`_link(`UNIX Operating System Porting Experiences', `https://www.bell-labs.com/usr/dmr/www/otherports/newp.pdf')')
')
_subsubheader(`GAS')
_bibliography(`
_bentr(`_link(`What I Dislike About GAS', `http://x86asm.net/articles/what-i-dislike-about-gas/')')
')
_header(`cat(1)')
<UL>
<LI>_link(`4.4BSD-Lite2', `https://en.wikipedia.org/wiki/Berkeley_Software_Distribution')/_link(`usr/src/bin/cat/cat.c', `https://github.com/sergev/4.4BSD-Lite2/blob/master/usr/src/bin/cat/cat.c')</LI>
<LI>_link(`busybox', `https://git.busybox.net/busybox/')/_link(`coreutils/cat.c', `https://git.busybox.net/busybox/tree/coreutils/cat.c')</LI>
<LI>_link(`cat(1)', `http://man.cat-v.org/unix-1st/1/cat') (UNIX v1)</LI>
<LI>_link(`cat(1p)', `https://www.unix.com/man-page/posix/1posix/cat/')</LI>
<LI>_link(`UNIX Style, or cat -v Considered Harmful', `http://harmful.cat-v.org/cat-v/')</LI>
<LI>_link(`dd(1p)', `https://www.unix.com/man-page/posix/1posix/dd/')</LI>
<LI>_link(`FreeBSD', `https://www.freebsd.org/')/_link(`bin/cat/cat.c', `https://github.com/freebsd/freebsd-src/blob/main/bin/cat/cat.c')</LI>
<LI>_link(`GNU coreutils', `https://www.gnu.org/software/coreutils/')/_link(`src/cat.c', `https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/cat.c')</LI>
<LI>_link(`The history of why cat -v is considered harmful', `https://lyngvaer.no/log/cat-v-history')</LI>
<LI>_link(`NetBSD', `https://www.netbsd.org/')/_link(`bin/cat/cat.c', `https://github.com/NetBSD/src/blob/trunk/bin/cat/cat.c')</LI>
<LI>_link(`Plan 9 from Bell Labs Fourth Edition', `https://9p.io/plan9/')/_link(`sys/src/cmd/cat.c', `https://github.com/plan9foundation/plan9/blob/main/sys/src/cmd/cat.c')</LI>
<LI>_link(`Program Design in the UNIX Environment', `https://harmful.cat-v.org/cat-v/unix_prog_design.pdf')</LI>
<LI>_link(`A Research Unix Reader', `https://www.cs.dartmouth.edu/~doug/reader.pdf')</LI>
<LI>_link(`UNIX v7', `https://en.wikipedia.org/wiki/Unix')/_link(`usr/src/cmd/cat.c', `https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cat.c')</LI>
<LI>Thanks to Miles and WeedSmokingJew for help with content.</LI>
<LI>Thanks to adamz01h and wiresToGround for help with the JavaScript that used to accompany this article (to facilitate syntax highlighting in code samples using _link(`highlight.js', `https://highlightjs.org/')).</LI>
<LI>Thanks to Ando_Bando, Miles, u/oh5nxo, and WeedSmokingJew for help with the accompanying code samples.</LI>
</UL>
_subheader(`cat(1)')
_bibliography(`
_bentr(`_link(`4.4BSD-Lite2', `https://en.wikipedia.org/wiki/Berkeley_Software_Distribution')/_link(`usr/src/bin/cat/cat.c', `https://github.com/sergev/4.4BSD-Lite2/blob/master/usr/src/bin/cat/cat.c')')
_bentr(`_link(`busybox', `https://git.busybox.net/busybox/')/_link(`coreutils/cat.c', `https://git.busybox.net/busybox/tree/coreutils/cat.c')')
_bentr(`_link(`cat(1)', `http://man.cat-v.org/unix-1st/1/cat') (UNIX v1)')
_bentr(`_link(`cat(1p)', `https://www.unix.com/man-page/posix/1posix/cat/')')
_bentr(`_link(`UNIX Style, or cat -v Considered Harmful', `http://harmful.cat-v.org/cat-v/')')
_bentr(`_link(`dd(1p)', `https://www.unix.com/man-page/posix/1posix/dd/')')
_bentr(`_link(`FreeBSD', `https://www.freebsd.org/')/_link(`bin/cat/cat.c', `https://github.com/freebsd/freebsd-src/blob/main/bin/cat/cat.c')')
_bentr(`_link(`GNU coreutils', `https://www.gnu.org/software/coreutils/')/_link(`src/cat.c', `https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/cat.c')')
_bentr(`_link(`The history of why cat -v is considered harmful', `https://lyngvaer.no/log/cat-v-history')')
_bentr(`_link(`NetBSD', `https://www.netbsd.org/')/_link(`bin/cat/cat.c', `https://github.com/NetBSD/src/blob/trunk/bin/cat/cat.c')')
_bentr(`_link(`Plan 9 from Bell Labs Fourth Edition', `https://9p.io/plan9/')/_link(`sys/src/cmd/cat.c', `https://github.com/plan9foundation/plan9/blob/main/sys/src/cmd/cat.c')')
_bentr(`_link(`Program Design in the UNIX Environment', `https://harmful.cat-v.org/cat-v/unix_prog_design.pdf')')
_bentr(`_link(`A Research Unix Reader', `https://www.cs.dartmouth.edu/~doug/reader.pdf')')
_bentr(`_link(`UNIX v7', `https://en.wikipedia.org/wiki/Unix')/_link(`usr/src/cmd/cat.c', `https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cat.c')')
_bentr(`Thanks to Miles and WeedSmokingJew for help with content.')
_bentr(`Thanks to adamz01h and wiresToGround for help with the JavaScript that used to accompany this article (to facilitate syntax highlighting in code samples using _link(`highlight.js', `https://highlightjs.org/')).')
_bentr(`Thanks to Ando_Bando, Miles, u/oh5nxo, and WeedSmokingJew for help with the accompanying code samples.')
')
<P>
_man(`cat(1)') is a program that exists to catenate files; to "join" one file at its end to another at its start.
</P>
@ -50,7 +50,7 @@ and _code(`-b') to number non-blank lines (both cases for which _man(`nl(1)') wa
and _code(`-v') to mark invisible characters.
</P>
<P>
Additions to _code(`man(1)') are controversial; Rob Pike and Brian Kernighan explain this in _italic(`Program Design in the UNIX Environment'), the paper that accompanied Rob Pike's presentation _italic(`UNIX Style, or cat -v Considered Harmful') at the 1983 USENIX Summer Conference.
Additions to _code(`man(1)') are controversial; Rob Pike and Brian Kernighan explain this in _cite(`Program Design in the UNIX Environment'), the paper that accompanied Rob Pike's presentation _cite(`UNIX Style, or cat -v Considered Harmful') at the 1983 USENIX Summer Conference.
</P>
<P>
@ -96,13 +96,13 @@ exit 0
</PRE>
_subheader(`echo(1)')
<UL>
<LI>_link(`echo', `https://en.wikipedia.org/wiki/Echo_(command)') (Wikipedia)</LI>
<LI>_link(`echo(1p)', `https://man7.org/linux/man-pages/man1/echo.1p.html') (man7)</LI>
<LI>_link(`NetBSD', `https://www.netbsd.org/')/_link(`bin/echo/echo.sh', `https://github.com/NetBSD/src/blob/trunk/bin/echo/echo.c')</LI>
<LI>_link(`UNIX v5', `#UNIX')/_link(`usr/source/s1/echo.c', `https://www.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s1/echo.c')</LI>
<LI>_link(`Variations in echo implementations', `https://www.in-ulm.de/~mascheck/various/echo+printf/')</LI>
</UL>
_bibliography(`
_bentr(`_link(`echo', `https://en.wikipedia.org/wiki/Echo_(command)') (Wikipedia)')
_bentr(`_link(`echo(1p)', `https://man7.org/linux/man-pages/man1/echo.1p.html') (man7)')
_bentr(`_link(`NetBSD', `https://www.netbsd.org/')/_link(`bin/echo/echo.sh', `https://github.com/NetBSD/src/blob/trunk/bin/echo/echo.c')')
_bentr(`_link(`UNIX v5', `#UNIX')/_link(`usr/source/s1/echo.c', `https://www.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s1/echo.c')')
_bentr(`_link(`Variations in echo implementations', `https://www.in-ulm.de/~mascheck/various/echo+printf/')')
')
<P>
Don't use _man(`echo(1)'), use _man(`printf(1)').
_man(`printf(1)') simulates the _man(`printf(3)') function in the C standard I/O library which has no significant variations, whereas the functionality of _man(`echo(1)') can vary between vendors.
@ -149,15 +149,22 @@ while :; do
done
</PRE>
_subheader(`ed(1)')
_bibliography(`
_bentr(`_link(`A Tutorial Introduction to the Unix Text Editor', `https://verticalsysadmin.com/vi/a_tutorial_introduction_to_the_unix_text_editor.pdf')')
')
_subheader(`find(1)')
<UL>
<LI><A HREF="https://en.wikipedia.org/wiki/Find_(Unix)">find</A> (Wikipedia)</LI>
</UL>
_bibliography(`
_bentr(`_link(`find', `https://en.wikipedia.org/wiki/Find_(Unix)') (Wikipedia)')
_bentr(`_link(`"Has this only been added in the last 20 years?"', `https://news.ycombinator.com/item?id=10318841')')
_bentr(`<A HREF="http://doc.cat-v.org/unix/find-history">The History of the Design of Unix's Find Command</A>')
')
_subheader(`echo(1)')
<UL>
<LI><A HREF="https://catonmat.net/ftp/ed.text.editor.cheat.sheet.txt">Ed Cheat Sheet</A></LI>
</UL>
_bibliography(`
_bentr(`<A HREF="https://catonmat.net/ftp/ed.text.editor.cheat.sheet.txt">Ed Cheat Sheet</A>')
')
<P>
A particularly shoddy attempt at _man(`ed(1)') is provided by _code(`busybox').
A traditional _man(`ed(1)') implementation is in plan9ports.
@ -174,22 +181,22 @@ the native Make is simply _command(`make') and the external Make gets a name des
</P>
_subheader(`mkfifo(1)')
<UL>
<LI>_link(`mkfifo(1)', `https://man.netbsd.org/mkfifo.1') (NetBSD)</LI>
<LI>_link(`mkfifo(2)', `https://man.netbsd.org/mkfifo.2') (NetBSD)</LI>
<LI>_link(`Use mkfifo to create named pipe', `https://dev.to/0xbf/use-mkfifo-to-create-named-pipe-linux-tips-5bbk')</LI>
<LI>_link(`What is the purpose of using a FIFO vs a temporary file or a pipe?', `https://unix.stackexchange.com/questions/433488/what-is-the-purpose-of-using-a-fifo-vs-a-temporary-file-or-a-pipe')</LI>
</UL>
_bibliography(`
_bentr(`_link(`mkfifo(1)', `https://man.netbsd.org/mkfifo.1') (NetBSD)')
_bentr(`_link(`mkfifo(2)', `https://man.netbsd.org/mkfifo.2') (NetBSD)')
_bentr(`_link(`Use mkfifo to create named pipe', `https://dev.to/0xbf/use-mkfifo-to-create-named-pipe-linux-tips-5bbk')')
_bentr(`_link(`What is the purpose of using a FIFO vs a temporary file or a pipe?', `https://unix.stackexchange.com/questions/433488/what-is-the-purpose-of-using-a-fifo-vs-a-temporary-file-or-a-pipe')')
')
_subheader(`true(1)')
<UL>
<LI><A HREF="http://trillian.mit.edu/~jc/;-)/ATT_Copyright_true.html">CHAMBERS John - The /bin/true Command and Copyright</A></LI>
<LI><A HREF="https://twitter.com/rob_pike/status/966896123548872705">PIKE Rob - "/bin/true used to be an empty file."</A></LI>
<LI><A HREF="https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html">RAITER Brian - A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux</A></LI>
<LI><A HREF="https://www.unix.com/man-page/posix/1p/true/">true(1p)</A> (The Open Group, 2003)</LI>
<LI><A HREF="https://www.gnu.org/">GNU</A>/<A HREF="https://www.gnu.org/software/coreutils/">coreutils</A>/<A HREF="https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/true.c">src/true.c</A></LI>
<LI><A HREF="https://www.netbsd.org/">NetBSD</A>/<A HREF="https://github.com/NetBSD/src/blob/trunk/usr.bin/true/true.sh">usr.bin/true/true.sh</A></LI>
</UL>
_bibliography(`
_bentr(`<A HREF="http://trillian.mit.edu/~jc/;-)/ATT_Copyright_true.html">CHAMBERS John - The /bin/true Command and Copyright</A>')
_bentr(`<A HREF="https://twitter.com/rob_pike/status/966896123548872705">PIKE Rob - "/bin/true used to be an empty file."</A>')
_bentr(`<A HREF="https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html">RAITER Brian - A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux</A>')
_bentr(`<A HREF="https://www.unix.com/man-page/posix/1p/true/">true(1p)</A> (The Open Group, 2003)')
_bentr(`<A HREF="https://www.gnu.org/">GNU</A>/<A HREF="https://www.gnu.org/software/coreutils/">coreutils</A>/<A HREF="https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/true.c">src/true.c</A>')
_bentr(`<A HREF="https://www.netbsd.org/">NetBSD</A>/<A HREF="https://github.com/NetBSD/src/blob/trunk/usr.bin/true/true.sh">usr.bin/true/true.sh</A>')
')
<P>
_man(`true(1)') is a tool that <I>only</I> quits silently with an exit status of 0.
Similarly, _man(`false(1)') is a tool that <I>only</I> quits silently with an exit status of 1.
@ -233,9 +240,9 @@ The GNU coreutils implementation of _man(`true(1)') is not POSIX compliant.
</P>
_subheader(`vi(1)')
<UL>
<LI>_link(`vi(1p)', `https://man7.org/linux/man-pages/man1/vi.1p.html') (man7)</LI>
</UL>
_bibliography(`
_bentr(`_link(`vi(1p)', `https://man7.org/linux/man-pages/man1/vi.1p.html') (man7)')
')
<P>
Unlike _code(`busybox')'s _man(`ed(1)') implementation, its _man(`vi(1)') is very useable.
_man(`vim(1)') is a popular re-implementation of _man(`vi(1)').

View File

@ -1,5 +1,35 @@
<H2 ID="unix">UNIX</H2>
<UL>
_header(`UNIX')
_bibliography(`
_bentr(`_link(`A Research Unix Reader', `https://www.cs.dartmouth.edu/~doug/reader.pdf')')
_bentr(`_link(`Dennis Ritchie', `https://en.wikipedia.org/wiki/Dennis_Ritchie') (Wikipedia)')
_bentr(`_link(`Unix', `https://en.wikipedia.org/wiki/Unix') (Wikipedia)')
<LI>_link(`unix-history-repo', `https://github.com/dspinellis/unix-history-repo') (GitHub)</LI>
</UL>
_bentr(`_link(`unix-history-repo', `https://github.com/dspinellis/unix-history-repo') (GitHub)')
')
_passage(`Wikipedia', `<P>
Unix (/ˈjuːnɪks/; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
</P>')
_subheader(`V1')
_bibliography(`
_bentr(`_link(`Rudd Canaday', `https://en.wikipedia.org/wiki/Rudd_Canaday') (Wikipedia)')
_bentr(`_link(`The Evolution of the Unix Time-sharing System', `https://www.bell-labs.com/usr/dmr/www/hist.html')')
_bentr(`_link(`Douglas McIlroy', `https://en.wikipedia.org/wiki/Douglas_McIlroy') (Wikipedia)')
_bentr(`_link(`Interview with Brian Kernighan', `https://www.linuxjournal.com/article/7035')')
_bentr(`_link(`Myths about Multics', `https://www.multicians.org/myths.html')')
_bentr(`_link(`Joe Ossanna', `https://en.wikipedia.org/wiki/Joe_Ossanna') (Wikipedia)')
_bentr(`_link(`Ken Thompson', `https://en.wikipedia.org/wiki/Ken_Thompson') (Wikipedia)')
_bentr(`_link(`Unix History', `https://livinginternet.com/i/iw_unix_dev.htm')')
_bentr(`_link(`The Unix Oral History Project', `https://web.archive.org/web/20080919055843/http://www.princeton.edu:80/~mike/expotape.htm')')
_bentr(`<A HREF="UNIX Programmers Manual - November 1971">http://www.bitsavers.org/pdf/bellLabs/unix/UNIX_ProgrammersManual_Nov71.pdf')
')
<P>
UNIX was an operating systems experiment started when Bell Labs started to leave the Multics project because most of their community felt Multics hadn't delivered what it promised,
its titular _italic(`mult')iplexed _italic(`i')nformation and _italic(`c')omputing _italic(`s')ervice.
The Bell Labs engineers working on Multics at the time (Ken Thompson, Dennis Ritchie, Malcolm Douglas Mcilroy, and Joseph Frank Ossanna) had realized Multics' goal as a system but at an unsustainable cost,
so, reading the writing on the wall, they began working on a new operating system and unsuccessfully lobbying Bell Labs for their own computer on which to work.
Thompson, Rudd H. Canaday, and Ritchie developed a heirarchical file system and Thompson simulated it on Multics.
Thompson also developed _cite(`Space Travel'), first for Multics, then for another operating system where it ran poorly.
Hoping to be able to continue to work on _cite(`Space Travel'), which simulated the movements of the major cellestial bodies of the Solar System and allowed the player to roam in a starship among them, past Multics' demise at Bell Labs,
Thompson rewrote the game to run on a spare PDP-7 at Bell.
Having written so much code already to get the PDP-7 to work, Thompson started to work on other things for it; a file system, some utilities for it, a command interpreter, and an assembler.
Then, mid-1970, Brian Kernighan named the non-multiplexing Multics workalike _italic(`Unics'), which was somehow (see _cite(`Interview with Brian Kernighan')) bastardized into _italic(`Unix').
</P>

View File

@ -5,7 +5,12 @@ define(`_bentr', `_bibliography_entry($1)')dnl
define(`_cite', `<CITE>$1</CITE>')dnl
define(`_code', `<CODE>$1</CODE>')dnl
define(`_header', `<H2 ID="$1">$1</H2>')dnl
define(`_italic', `<I>$1</I>')dnl
define(`_link', `<A HREF="$2">$1</A>')dnl
define(`_passage', `<FIGURE>
<BLOCKQUOTE>$2</BLOCKQUOTE>
<FIGCAPTION>(_cite(`$1'))</FIGCAPTION>
</FIGURE>')dnl
define(`_ref', `_link(`$1', `$1')')dnl
define(`_subheader', `<H3>$1</H3>')dnl
define(`_subsubheader', `<H4>$1</H4>')dnl
define(`_link', `<A HREF="$2">$1</A>')dnl
define(`_ref', `_link(`$1', `$1')')dnl