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