[net.sources.mac] RasNIX.doc -- Pseudo-Unix DA

maclab@reed.UUCP (Mac Development Lab) (09/19/85)

Included in this file is documentation for the desk accessory 'RasNIX.'
RasNIX is a miniature pseudo-UNIX emulator, which allows you perform some 
simple commands to look at disks and files (ls, wc, cd, rm, etc.)  I will 
momentarily be posting a BinHexed RasNIX (as an Apple Font/DA Mover file), as 
well as the source code.  RasNIX was written entirely with The Rascal 
Development System.  For any of you Rascallers out there who might be reading 
this, I suggest you take a quick look at the source:  I rewrote RasNIX with 
an experimental version of Rascal (post A+ version), and it should give you a 
taste of some of the new features you can expect in the next release.

A few comments:
    
    1)  Note that Rascal can take the Compiler+Linker output of the
        RasNIX source and:
            (a) execute it within the development environment
            (b) turn it into a stand-alone application
            (c) turn it into a desk accessory
        No source modifications are required for any of these steps,
        although some source-level care must be taken to get step
        (c) to work.
        
    2)  No, it ain't UNIX, it's RasNIX.  Sorry, but I didn't have time
        to make a 4.2 BSD desk accessory.  In particular, I am sorry
        to say that I never got around to putting in wildcards.
        
    3)  It is pretty big for a desk accessory (about 9.3K).  It also wants
        another 1K of space for program globals when it is opened.  It
        should Beep and exit if there isn't enough memory.
        
    4)  RasNIX hasn't been extensively tested, so let me know if there are
        any problems.
        
Hope you enjoy it!  The source and desk accessory are in the public domain, 
so do with them what you will (but don't make a profit from them). 

Scott Gillespie
Reed College
Portland, OR  97202
 
-------------------------------------------


RasNIX.doc

RasNIX is a pseudo-UNIX emulator, which allows you to examine and manipulate 
(to some extent) the files on your disks.  Instead of being iconically 
oriented, RasNIX provides a command-line-oriented shell, and  supports 
several standard UNIX commands (as well as some Mac specific commands).

When you start up RasNIX (by selecting 'RasNIX' from the desk accessory menu) 
you will see the window divided into two sections by a horizontal line:  a 
small top section with prompt and cursor, and a large lower section.  You can 
type in RasNIX commands at the top, and any output (for instance when you 
list files) will appear in the bottom section.


Whenever you type any commands which cause RasNIX to list more files than 
will fit in the window, you will be prompted with the following line:
      More?
Type a 'y' or a <Return> to continue with the file listing, or type <Enter> 
to abort the listing.

RasNIX ignores case:  you can type commands or filenames with whatever 
combination of lower and upper-case characters you desire.

When in UNIX, one has a number of directories:  in RasNIX, each disk is seen 
as a directory.  Standard UNIX commands referring to directories (such as 
'cd') will refer to disks, in RasNIX.  When you first start up RasNIX, you 
are in the Home directory (where typing 'ls' will list all of the disk 
names).

You can specify a file from a different disk than the current directory by 
using the syntax:
    DiskName:FileName
(unlike UNIX's use of '/' to indicate pathnames).

Here is a summary of the current RasNIX commands:

ls      (List).  Ls lists all of the files in the current directory (disk).  
If you are in the home directory (see 'cd'), ls will cause all disk names to 
be listed (for those disks which have been inserted since RasNIX was started 
up.  If you type '-l' as an argument to ls:
      ls -l
the size (in bytes) of each file will be listed along with the filename.  If 
you are in the home directory, the number of used bytes will be listed for 
each disk (for floppies, 400K-Number listed = free space).

cd      (Change Directory). Cd causes the base directory to change to the 
disk specified by the argument accompanying Cd:
      cd A+
changes the base directory to the disk 'A+'.  After you type cd, you can type 
the name of any disk listed in the home directory.  If you just type cd (with 
no argument), you will go to the home directory.  In the home directory, 
typing 'ls' will cause all of the known disk names to be listed.  Another 
obscure option is to type a volume reference or drive number, preceded by a 
colon:
      cd :-2
The command above will change directories to the disk with a volume reference 
number of -2.  The following command:
      cd :2
will change directories to the external disk (positive numbers are drive 
numbers:  1=internal, 2=external, etc.).  See Inside Macintosh (File Manager) 
for details on volume reference and drive numbers.

pwd     (Print Working Directory).  When you type this command, RasNIX will 
print out the name of the current directory.

date    Print out the current date.

time    Print out the current time.

help    A brief summary of all possible RasNIX commands is displayed.

info    Information about RasNIX is displayed.

wc      Use this command to find out the size of any individual file, or of 
the current working directory (except Home).  If, for example, your working 
directory was 'Support', and you wanted to find out how big the file 
'aquarium.src' was, just type the following:
      wc aquarium.src
RasNIX will print the size of the file in bytes.  Just typing 'wc' with no 
arguments will cause RasNIX to print the size of the current working 
directory in bytes.

separ   (Separator). This is not a standard UNIX command.  Often, Macintosh 
file or disk names contain spaces.  RasNIX will understand any disk or 
filename typed *unless the name BEGINS with a space*.  If you want to refer 
to a disk or file that begins with a space, use this command to specify 
another character (e.g. comma (',')) to be the character that separates the 
command from its operand.  If you type 'separ' all by itself on the command 
line, the default (separate command/operand at spaces) will be set.  If you 
give a character as an argument to separ, all further parsing will be done by 
breaking the command line with that character.  For example, if you want to 
do a 'cd  MyDisk' (where ' MyDisk' begins with a space):

      separ ,      (Set the separator char to a comma)
      cd, MyDisk  ('cd' and ' My Disk' are each seen as separate words).
      separ  (Set the separator character to the default).
      
It is always o.k. for a filename to contain embedded spaces (e.g. 'Rascal 
Work File').

eject   'Eject' followed by a disk name, will cause the specified disk to be 
ejected (if it is currently mounted).  

forget  Same action as 'eject', plus makes the Macintosh forget about the 
disk (for experts, forget=unmount).  Don't 'forget' any disks that you might 
want to keep using.

rm      (Remove)  Causes the specified file to be deleted from disk:
      rm test.obj   (deletes test.obj).

logout  Causes RasNIX to halt:  the desk accessory will be closed.


----------------------------------