#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. #