╔══════════════════════════════════════════════════════════════╗ ║ ║ ║ 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). ──────────────────────────────────────────────────────────────────