╔══════════════════════════════════════════════════════════════╗ 
                                                                   
          T H E    R E S I D E N T    F I L E    M A N A G E R     
        ════════════════════════════════════════════════════════   
      ╚══════════════════════════════════════════════════════════════╝ 

                 ┌────────────────────────────────────────┐ 
                 │ <shft> F1  =  Toggle to regular window │ 
                 └────────────────────────────────────────┘ 

    ┌──────────────────────────────────────────────────────────────────┐ 
                                                                     
          If you are reading this document for the first time and    
      are unfamiliar with the commands for scrolling the text, you   
      should be aware that <ctrl> ▲ (hold down the <ctrl> key and    
      push the cursor UP key) will scroll the text UP and <ctrl> ▼   
      will scroll the text DOWN.  You can also use the PageUp and    
      PageDown keys to scroll quickly through the document.          
                                                                     
    └──────────────────────────────────────────────────────────────────┘ 


1.1       The subject of managing files necessarily involves talking 
      about the Linux file system and how it differs from the Windows/DOS 
      system.  In Linux, the file system is one giant tree, the root of 
      which is a single slash "/".  If there are outboard disks present, 
      such as an "A:" floppy drive, or a Zip disk, or a CDrom, these are 
      "mounted" onto the file system by the superuser, usually at the 
      directory "/mnt".  

           A second difference between Linux and Windows/DOS is that 
      access to all Linux directories and files is governed by a set 
      of permissions.  For each file/directory, there are permissions 
      for read, write, and execute, for each of three catagories of 
      users, the owner, the group owner, and all other users.  For 
      example, the 9 byte permission string "rwxr.xr.x"  gives 
      read, write and execute permission to the file/directory owner 
      and only read and execute permission to others in the user 
      group and to all other users.  

           When Dmuse creates a directory or file, it always gives 
      the same permission (usually rwx) to all three groups.  It 
      can happen, however, that Dmuse is prevented from creating 
      a file or directory because it does not have permission to 
      write in the parent directory.  Or Dmuse may not be able to 
      read a directory or a file because the user does not have 
      read permission.  Permissions are valuable for security 
      reasons; but they can get in the way of ordinary work.  
      Dmuse tries to keep this problem to a minimum by allowing 
      as many permissions as makes sense.  

           One advantage that Windows/DOS has over Linux is that it 
      allows for multiple disk names (logical drives, labled A:, 
      B:, C:, ... up to Z:).  Each of these drives has current 
      working directory in Windows/DOS.  This makes it easy to 
      toggle back and forth between data sets on different drives.  
      In Linux, all data sets hang somewhere on the single file 
      tree.  There might be data in 

      /usr/local/apps/musedata/baroque/bach/bg/chorals/0386 

      that we would like to compare with data in 

      /home/wbh/trans/fromdos/chorals/0386 

      Since the Limux file system has only one current working 
      directory, this could involve a lot of typing.  To remove 
      this problem and to make Dmuse under Linux behave more like 
      Dmuse under DOS, a set of virtual disks has been created, 
      in which each disk letter a: to z: has the potential to 
      be assigned to a location on the Linux file system tree.  
      These assignments are contained in the INIT file (see 
      Help -- Advanced Topics).  

      Dmuse automatically assigns the disk c: to the Linux 
      root.  All other disk assignments are optional and are 
      contained in INIT (/usr/local/apps/disp/INIT).  When referring 
      to a file or directory name in Dmuse, you may use either 

         (1) the full path name, or  

         (2) the simple name, in which case the name will be 
      appended onto the current working directory of the currently 
      active disk letter, or 

         (3) a disk letter, followed by a colon, followed by a 
      name, in which case dmuse will switch to the new disk, and 
      appended the name onto the current working directory of the 
      new disk.

1.2       The Resident File Manager can be activated in two ways:  
      (1) You can push the <F2> key and use the <►> cursor to 
      highlight the Utilities box in the top menu bar.  Then use 
      the <▼> cursor to highlight the Resident File Manager and 
      push <Enter> to select this utility; OR (2) you can skip all 
      of this and just push <F4>.  


1.3   The Resident File Manager operates in a blue pop-up window which 
      accepts typed commands when the <Enter> key is pressed.  You can 
      get an abbreviated description of these commands by pressing ? 
      <enter>.  ?? <enter> will give you a second page of instructions.  
      A more detailed description of the commands and what they do 
      is given below.  


                             C O M M A N D S 
                           ─────────────────── 

     I. Commands which list or change directories 

      l              =  list the current directory in short format 

      ldu            =  list the current directory in short format 
                          with disk usage.  
      ll             =  list the current directory in long format 

      lldu           =  list the current directory in long format 
                          with disk usage.  
      ls             =  list the current directory in Linux format 

         Without an argument, each of these commands lists the current     
           directory.  If an argument is given, it is the directory to     
           list.  The argument "." is the current directory; the 
           argument ".." is the parent directory.  


      c <dir>        =  change to directory <dir>.  

      b              =  change to the directory which holds the current 
                          directory (parent directory).  

      1,2,3,... etc. =  if the number is next to a directory, change 
                          to the referenced directory inside the 
                          current directory.  

      <letter>:      =  change to referenced disk drive <letter> 

    II. Commands which load a file into the current window 

      1,2,3,... etc. =  if the number is next to a file name, load 
                          this file into the current window.  

   III. Commands for moving or deleting files and/or directories 

      ad <arg1>             = add new directory (<arg1>) inside current 
                                directory.  

      move <arg1> <arg2>    = move all material (files and/or 
                                directories) described by arg1 to 
                                the directory named by arg2.  

      smove <arg1> <arg2>   = save and move.  Similar to move, except 
                                that the source material is copied 
                                instead of moved.  The source continues 
                                to exist in its original location.  

      copy <arg1> <arg2>    = copy arg1 (directory or file) to arg2 (new 
                                name).  arg2 can only be a simple name 
                                (not a path).  The copy will appear in 
                                the same directory as the original.  
                                You can then use the "move" command to 
                                move it elsewhere if you choose.  

      ren <arg1> <arg2>     = rename <arg1> to new name <arg2>.  arg2 
                                can only be a simple name (not a path).  
                                The renamed file or directory does not 
                                move from its present directory.  

      del <file(s) or dir>  = move material to "the_dump".  The dump is 
                                set up by Dmuse as a directory in     
                                /usr/local/apps.  

      ddel <file(s) or dir> = blow material away!  it's gone.  

    IV. Commands for moving cursor, scrolling, paging, and 
           clearing the screen (blue box).                

               ▲ ▼ ◄ ►  =  move cursor 

            <ctrl> ▲ ▼  =  scroll up/down 

      <left><shft> ▲ ▼  =  scroll up/down 

                PageUp  =  scroll DOWN 24 lines 

              PageDown  =  scroll UP 24 lines 

            <KeyPad> -  =  clear line to the right of the cursor 

      <shft><KeyPad> -  =  clear screen below cursor 

    V. Commands that offer help

        ?  =  First help screen 
        ?? =  Second help screen 
        q  =  Gives full path of current disk drive 
        qq =  Lists all disk assignment paths.  


1.4       All alphanumeric commands must be entered using the     
      <enter> key.  Actually, pressing the <enter> key causes     
      the file manager to read the entire line that the cursor    
      is on and interpret its contents as a command.  This means  
      that the file manager is not paying attention to what you   
      type; it only responds to what's on the current line when   
      you press <enter>.  It makes no difference when and how the 
      the material got on that line.                              


    ────────────────────────────────────────────────────────────────── 


2.1       When the Resident File Manager lists the contents of the 
      current directory, it first does a sort on the contents of 
      the directory.  All sub-directories of the current directory 
      are listed first in alphabetical order.  This is followed by 
      a listing of the files sorted first by file extension and 
      then by file name.  

                       ┌───────────────────────────────┐ 
   ╔══════════════════►│About File Names and Extensions│◄════════════════╗ 
                     └───────────────────────────────┘                 
                                                                       
                                                                       
       The Dmuse program recognizes four special extensions.           
                                                                       
       .mpg     Music Page      This is a flat ASCII (text) file       
                  file            contain data used by Dmuse for       
                                  displaying or printing a page        
                                  of music.                            
       .cft     Compress Format This file contains one or more         
                  file            .MPG files in a compress format.     
                                                                       
       .z       Ibex source     This file will contain source code     
                  file            which can be compiled and run        
                                  by the Dmuse Ibex Interpreter        
       .w       Ibex compiled   This file will contain compiled        
                  intermediate    intermediate code which can be       
                  code            passed directly to the Dmuse         
                                  Ibex Interpreter                     
                                                                       
   ╚═════════════════════════════════════════════════════════════════════╝ 



2.2       The l (list) command tells you the number of bytes in 
      each file in the current directory, but it does not tell you 
      the number of bytes in each of the sub-directories.  For 
      this, you must use the ldu (list with disk usage) command.  
      The ldu command produces a listing with the same format as 
      the l command, but includes the number of bytes in each 
      sub-directory.  To make this listing, the program traces 
      down every branch of every sub-directory and gets the sizes 
      of all of the files contained in these sub-directories.  


2.3       There are three commands for changing the current directory.  
      The command, c <dir>, takes one argument.  Where it says <dir>, 
      you should specify the name of the directory you want to become 
      current.  The command, b (backup), will make the parent of the 
      current directory the new current directory.  If the current 
      directory is the root directory, no backup will occur (The root 
      has no parent).  If you type the number opposite a sub-directory 
      in a listing of the current directory, this sub-directory will 
      become the current directory.  For example, if the current 
      directory were the one shown below, typing the number 2 and 
      <Enter> would change the current directory to C:\DISP\HELP.  

                    q:\disp           
                    Name      Ext     Size 
                   ------------------------- 
                1   fonts     <dir> 
                2   help      <dir> 
                3   print     <dir> 
                4   spar      <dir> 


2.4       If you type a letter followed by a colon, the file manager 
      will attempt to make the disk drive represented by that letter 
      the active drive.  If the drive becomes active, its current 
      directory will become the system current directory.  


    ────────────────────────────────────────────────────────────────── 


3.1       The file manager has seven commands for moving, copying, 
      adding or deleting files and directories.  


3.2       The command ad <arg1> will create a new sub-directory 
      inside the current directory.  The name is specified in <arg1>.  
                                                               

3.3       The command move <arg1> <arg2> will move all of the files 
      and/or directories specified by <arg1> to the directory named 
      in <arg2>.  The "*" and "?" wildcards can be used in <arg1>.  
      The directory specified in <arg2> must exist.  If <arg2> = "." 
      (a dot), this indicates the destination of the move is the 
      current directory on the active drive.  If <arg2> = ".." (two 
      dots) this indicates the destination is the parent of the 
      current directory on the active drive.  If <arg2> = "a:", this 
      indicates the destination is the current directory on the 
      a: (virtual) drive.  

                       ┌────────────────────────────┐ 
   ╔══════════════════►│About The "*", "?" Wildcards│◄═══════════════════╗ 
                     └────────────────────────────┘                    
                                                                       
        The "*" wildcard character will match zero or more characters  
    in a string up to its end or until there is a specific match       
    with a specified character.                                        
                                                                       
        The "?" wildcard character represents exactly one character    
    position in a string.                                              
                                                                       
        The combination "*?", which would be absurb according to the   
    definitions above, has been given a special meaning.  It calls     
    for a match of zero or more characters but with no matches with    
    the dot "." character.  For example,                               
                                                                       
        *.* = string with at least one '.' character                   
        *.*? = string with exactly one '.' character                   
                                                                       
        Whereas the "?" is a wildcard for a single character of any    
    kind, a set designation allows us to designate a wildcard for      
    a limited set of characters.  [a-z] = match exactly one letter     
    with a member of the set [a-z].  [0-3,a,G,r-x] = another example   
    of a set.                                                          
                                                                       
                                                                       
   ╚═════════════════════════════════════════════════════════════════════╝ 


3.4       The command smove <arg1> <arg2> (smove = save and move) acts 
      much like the move command except that the material specified by 
      <arg1> is saved in the old location and copied into the new 
      location specified by <arg2>.  


3.5       The command copy <arg1> <arg2> will make a copy of the 
      directory or file specified by <arg1> and give it the name 
      specified by <arg2>.  Of course, the directory or file <arg1> 
      must exist, and the directory containing the new name <arg2> 
      must also exist.  Wildcard characters are not allowed in the 
      arguments to this command.  


3.6       The command ren <arg1> <arg2> will rename a sub-directory 
      or file within the same directory.  <arg1> may be any valid 
      path name (file or directory), but <arg2> must be a simple 
      name.  Wildcard characters are not allowed in the arguments 
      to this command.  


3.7       There are two delete commands, del and ddel.  Both take one 
      argument, which specifies the file(s) and/or directory(ies) to 
      be deleted.  The del command does not actually remove material 
      from the disk but simply moves it to a place called the dump.  
      the_dump, located in the directory, /usr/local/apps, has a set 
      of sub-directories representing the various dates when material 
      was deleted.  Each of these has sub-directories representing the 
      various times of the day when material was deleted.  Inside 
      these sub-directories is the actual deleted material.  The 
      purpose of the del command is provide you with a means of 
      removing files and directories from their place in the directory 
      structure without actually deleting them from the file system.  
      If you later decide you want them back, you can get them back 
      using the move command.  From time to time, the_dump will need 
      to be cleaned out; usually the passage of time will make clear 
      what material should be permanantly deleted. 


3.8       For large files and directories, I usually make a careful 
      decision to delete and use the ddel command.  The ddel command 
      will permanantly delete files and directories from the file 
      system.  You should exercise caution with the ddel command when 
      deleting directories, because it will recursively delete 
      everything inside a directory without showing you what it is 
      doing (the command does ask permission before proceeding).


    ──────────────────────────────────────────────────────────────────