#ar
ar -- maintain archives
Usage:	ar option[modifier] [ position ] archive [ member ... ]

Options:
	d	Delete given members
	m	Move member to indicated position (default: end)
	p	Print each member
	q	Quick append--put members at end with no checking
	r	Replace each member specified in the archive
	t	Print a table of members (default: all)
	x	Extract the specified members (default: all)

Modifiers:
	a	Place new member after 'position' in archive
	b	Place new member before 'position' in archive
	c	Suppress message when new archive is created
	i	Insert new member before 'position' in archive
	k	Preserve modify time of file (with options r, q, or x)
	s	Update ranlib header even if not present (with options r, m, d)
	u	Update--replace members only if newer than those in archive
	v	Print extra information when used with certain options
#as
as -- assembler for 68000
Usage:	as [ options ] file ...

Options:
	-g	Make all undefined symbols global
	-l	Output assembly listing to standard output
	-o dest	Rename output file 'dest' (default: 'l.out')
	-x	Strip local symbols from symbol table
#cat
cat -- concatenate/print files
Usage:	cat [ -u ] [ file ... ]

Option:	-u	Do not buffer output in 512-byte blocks
File '-' indicates the standard input.
If no 'file' is specified, the standard input is used.
#cc
cc -- C compiler
Compiles or assembles source files; links object modules.
See Lexicon entry for full list of options.
Usage:	cc [ options ] file ...
Options:
	-c		Compile only--no link
	-Dname[=value]	Tell cpp to define 'name' with 'value'
	-E		Run cpp only and send its output to stdout
	-f		Include floating point output routines in link
	-I\name\	Look for cpp include files in directory 'name'
	-K		Keep intermediate files
	-lname		Pass LIBPATH\libname.a to linker; goes at end of
			cc command line
	-N[p012sdlrt]string
			Rename specified pass to 'string';
			'p' indicates preprocessor, etc.
	-p		Compile and/or link for profiling
	-q[p012s]	Quit after specified pass
	-Q		Quiet option:  suppress all messages
	-S		Produce assembly language output
	-Uname		Tell cpp to remove any initial definition of 'name'
	-V		Run verbosely; send to stdout messages on each phase
	-Vname		Toggle variant 'Vname'.
#cd
cd -- change directory
Usage:	cd [ directory ]
If no directory specified, $HOME is assumed.
msh executes cd directly.
#cmp
cmp -- compare bytes of two files
Usage:	cmp [ -ls ] file1 file2 [ skip1 skip2 ]

Options:
	-l	Print byte number and the bytes at each difference
	-s	Return status (do not print anything)

If 'file1' is '-', use standard input.
If 'skip1' and 'skip2' are present, they indicate the number of bytes
to skip before comparing in 'file1' and 'file2', respectively.
#cp
cp -- copy files

Usage:	cp oldfile newfile
	cp file ... directory

The first usage copies 'oldfile' to 'newfile'; if newfile exists, its
contents are replaced with those of 'oldfile'.
The second usage usage copies a number of files into 'directory'; each
file retains its old name.
#cpp
cpp -- C preprocessor
Usage:  cpp [ option ] [ file ... ]

Options: -Dname[=value]
		Define 'name' to equal 'value'; same as '#define' directive.
	 -E	Strip comments and line numbers from source.
	 -Idirectory
		Look for header files in 'directory'
	 -o name
		Write output into file 'name'.  Default is 'l.out'.
	 -Uvariable
		Undefine 'variable'; same as '#undefine' directive.
#crashdmp
crashdmp -- display base page for debugging purposes after system error occurs

Usage:  crashdmp
#date
date -- print/set date and time of day

Usage:	date [ -u ] [ [yymmdd]hhmm[.ss] ]
Option:	-u	Print/set date in Greenwich Mean Time

When used with no arguments, 'date' prints the time and date.  When used
with arguments, it resets the date; for example, to reset the date and
time to July 15, 1986, 2:47 PM, type: 'date 8607151447'.
#db
db -- assembler-level symbolic debugger
Usage: db [ options ] [ datafile ]

By default, `datafile' is assumed to be an object file.

Options:
	-f	Map `datafile' as binary data
	-r	Access all files read-only
#diff
diff -- summarize differences between two files
Usage:	diff [ -b ] [ -c sym ] file1 file2

Options:
	-b	Ignore trailing blanks; all strings of blanks are equal
	-c sym	Produce C pre-processor input conditionalized on 'sym'

If either 'file1' or 'file2' is '\-', the standard input is used.
If one of the files is a directory, then the other file name
within that directory is used.
#drtomw
drtomw -- convert objects or archives from DRI to Mark Williams format
Usage:  drtomw file ...
#echo
echo -- print/expand arguments
Usage:	echo [ -n ] [ argument ... ]

Option:	-n	Do not print terminal newline

Copies all command arguments to the standard output.  Metacharacters
and variables are expanded.
#egrep
egrep -- extended pattern search
Usage:	egrep [ option ... ] [ pattern ] [ file ... ]

Options:
	-b	Each output line has the block number of the match
	-c	Print only a count of the number of matching lines
	-e	The next argument is the pattern
	-f	The next argument is a file containing one pattern per line
	-h	Suppress the printing of file names on matched lines
	-l	Print only the names of files containing matches
	-n	Print line number of file with each matched line output
	-s	Suppress output, just return status
	-v	Negate the sense of the match
	-y	Lower-case letters in the pattern match upper- and lower-case

If no 'file' is specified, the standard input is used.
#exit
exit -- exit from msh
Usage:	exit [ status ]
exit closes the micro-shell msh and returns to the program that invoked
it: the GEM desktop, another copy of msh, or a utility (e.g., MicroEMACS).
The previous status is retained if none is specified.
msh executes exit directly.
#file
file -- guess type of a file
Usage:	file name ...
#gemprg
gemprg -- execute GEM-DOS program under msh
Usage:  gemprg program options
'program' is the full path name of the file to be executed.
'options' are passed to the program being invoked.
#help
help -- print concise command description
Usage:	help [ command ... ]
#ld
ld -- link relocatable object files
Usage:	ld [ option ... ] file ...

Options:
	-d	Define commons (even if undefined symbols)
	-e ent	Set entry point to given symbol or octal number
	-i	Bind output sepid
	-lname	Use standard library libname.a; e.g., -lm calls 'libm.a'
	-n	Bind output shared, force -i option
	-o file	Write output into 'file' (default: 'l.out')
	-r	Retain relocation information
	-s	Discard symbol table
	-u sym	Undefine 'sym' (forcing library search)
	-X	Discard C internal local symbols
	-x	Discard all local symbols
#ls
ls -- list directory contents
Usage:	ls [ -adlrt ] [ file ... ]
When used without options or arguments, ls prints on stdout the names
of all files in the current directory, sorted alphabetically.  If used
with argument 'file', it prints only 'file' if found, or an error message
if not.

Options:
	-a	List all files (including '.' and '..')
	-d	Treat directories like files
	-l	Use long format; give full information on file type and date
	-r	Reverse the order of all sorting
	-t	Sort by times, normally newest first (default: sort by name)
#make
make -- program building discipline
Usage:	make [ option ... ] [ argument ... ] [ target ... ]
make can also be invoked from the GEM-DOS desktop.  It reads and
executes the instructions in 'makefile', and cannot accept options.

Options:
	-d	Debug: verbose description of everything it does.
	-f file	Make instructions are in 'file' (default: [mM]akefile)
	-i	Ignore command error returns
	-n	Test: do all but execute commands
	-p	Print macro definitions and target descriptions
	-q	Only return exit status (zero if files up to date)
	-r	Ignore built-in rules
	-s	Do not print command lines when executed
	-t	Update times of files without regenerating object modules
#me
MicroEMACS -- interactive screen editor
Usage:	me [ file ]
For a summary of commands, see the Lexicon.
#mkdir
mkdir -- make a new directory
Usage:	mkdir directory ...
#msh
msh -- command processor
Usage: command [ arguments ] [ redirection ]
The characters * ? [ ] specify patterns that match file names.
Each 'token', unless quoted, is checked for substitutions.
#mv
mv -- move/rename files and directories
Usage:	mv oldfile newfile
	mv file ... directory
The first usage renames 'oldfile' to 'newfile'; if 'newfile' already exists,
it is removed and 'oldfile' given its name.
The second usage moves one or more files into 'directory'; each file retains
its old name.
#nm
nm -- print symbol table for executable program or archive
Usage:	nm [ options ] [ file ... ]

Options:
	-a	Print all symbols
	-d	Print only definitions
	-g	Print only global symbols
	-n	Sort numerically (default: sort by name)
	-o	Prepend file or member name to each line
	-p	Print in symbol table order (no sort)
	-r	Reverse order of sort
	-t	Append type string to each symbol
	-u	Print undefined symbols
	-x	Print numeric values in octal (default: hexadecimal)
#od
od -- file dump
Usage:	od  [ options ]  [ file ]  [ [ + ] offset[.][b] ]

Options:
	-b	Dump bytes in the hexadecimal
	-c	Dump bytes as ASCII characters
	-d	Dump words in decimal
	-o	Dump words in octal
	-x	Dump words in hexadecimal

The offset must be preceded by '+' if 'file' is omitted.
The offset is decimal if '.' is present;
'b' implies 512-byte blocks instead of bytes.
#pr
pr -- paginate and print files
Usage:	pr [ options ] [ file ... ]

Options:
	+n	Skip the first 'n' pages of input before printing
	-n	Print the input in 'n' columns
	-h	The next argument is the header (default: file name)
	-ln	Page size is set to 'n' lines (default: 66)
	-m	Print each input 'file' in a separate column
	-n	Number the output lines
	-sc	Separate each column with character 'c'
	-t	Suppress top and bottom margins and header
	-wn	Page width is set to 'n' columns (default: 80; maximum: 256)

A 'file' named '-' means standard input.
#pwd
pwd -- print current working directory
Usage:	pwd
#rm
rm -- remove files
Usage:	rm file ...
#rmdir
rmdir -- remove directory
Usage:	rmdir directory ...
#set
set -- set/display an msh variable
Usage:  set [ VARIABLE=value ]
Using 'set' without an argument displays all msh variables already set.
msh executes set directly.
#setenv
setenv -- set/display an environmental variable
Usage:  setenv VARIABLE=value
Using 'setenv' without an argument displays all environmental variables
already set.
msh executes setenv directly.
#size
size -- print size of an object file
Usage:	size [ -ctx ] [ file ... ]

Option:	-c	Print size of common areas
	-t	Print total size of each segment summed over all files
	-x	Print the total size in octal rather than hexadecimal
#sleep
sleep -- stop executing for a specified time
Usage:	sleep seconds
msh executes sleep directly.
#sort
sort -- sort lines of text
Usage:	sort [ options [modifiers] ] [ [ +beg [ -end ] ] ... [ file ... ]
Options:
	-c	Check if input is already ordered
	-m	Merge already-sorted input files
	-o name	Write output into 'name' rather than standard output
	-tc	Use 'c' to separate columns rather than white space
	-u	Output only records for which keys are unique
Options for key variables:
	-b	Ignore leading white space in fields
	-d	Dictionary ordering for keys
	-f	Fold upper case into lower case in key comparison
	-i	Ignore control characters in key comparison
	-n	Numeric comparison
	-r	Reverse sort ordering, i.e., sort from largest to smallest
Position:
	+m.nf	Key starts 'm' fields into record and 'n' characters
		into that field;  'f' may contain optional flags from
		the above key options which apply only to that positional
	-m.nf	Optional ending position of key (same form as above)
If no position options are used, entire line is used as key.
If no 'file' is given, the standard input is sorted.
#strip -- strip symbols tables from files
Usage:  strip [ -drs ] [ file ... ]a

Options: 
	-d	keep debug information
	-r	keep relocation information
	-s	keep symbols
strip can be used to remove symbol tables from fully linked programs,
when space is a concern.
strip should not be used with unlinked object modules.
#tail
tail -- print the end of a file
Usage:	tail [ +n[bcl] ] [ file ]
	tail [ -n[bcl] ] [ file ]

Options:
	+n	Print first 'n' lines of a file
	-n	Print last 'n' lines of a file
	b	'n' is in blocks rather than in lines
	c	'n' is in characters (bytes) rather than lines
	l	'n' is in lines (default)
If no option is specified, tail prints the last ten lines of 'file'.
#tos
tos -- execute program that uses unredirected GEM-DOS file handles
Usage: tos [ program ] [ options ]
`options' is a list of options that are passed directly to
`program'.
#touch
touch -- update modification time of a file
Usage:	touch [ -c ] file ...
Option:	-c	Do not create 'file' if it does not exist
#uniq
uniq -- remove/count repeated lines in a sorted file
Usage:	uniq [ options ] [ infile [ outfile] ]

Options:
	-c	Print duplication count with lines
	-d	Print only duplicated lines
	-u	Print only non-repeated lines
	-n	Skip 'n' fields during comparison
	+n	Skip 'n' characters (after skipping fields)
By default, uniq behaves as if both -d and -u were specified.
#unset
unset -- erase an msh variable
Usage: unset variable
#unsetenv
unsetenv -- erase an environmental variable
Usage: unsetenv variable
#version
version -- read/create a version number
Usage:  version file ...
	version directory sourcefile ...
In the first usage, version reads an executable 'file' and prints its
version number on stdout.
In the second usage, version looks in 'directory' for 'sourcefile',
then writes in 'directory' a brief assembly-language program that, when
assembled and linked with 'sourcefile', inserts a unique version number
into the executable file.
#wc
wc -- count words, lines, and characters in files
Usage:	wc [ -clw ] [ file ... ]

Options:
	-c	Print count of characters
	-l	Print count of lines
	-w	Print count of words

If no 'file' is given, wc uses the standard input.
If more than one 'file' is given, wc also prints a total for all files.
#
