TEACH FILES Aaron Sloman July 1988 Files are used to store text, programs, images and other information on a computer. This teach file gives a brief introduction to files and what you can do with them. CONTENTS - (Use g to access required sections) -- Different kinds of computer memory -- Files on magnetic disks -- Operating systems manage file stores -- File name formats -- Ownership of files -- File versions -- File Type -- Operating system commands concerned with files -- Giving DCL or SHELL commands from inside Pop-11 or VED -- Files available when you start -- Additional reading -- Different kinds of computer memory --------------------------------- The computer has two main forms of memory that we could characterize as the short term memory and the long term memory. The short term memory is used for running programs and its contents change rapidly from moment to moment under the control of the computer itself. The long term memory usually remains unchanged unless users request specific changes. On most computers the short term memory is manufactured out of solid state electronics and the long term memory uses magnetic disks. There may also be very long term memory on magnetic tapes, copied from the disks for "backup" purposes. The electronic memory is very fast, disk memory relatively slow, and tapes even slower. -------------- -------- | computer | -------- ----- |USER's |--<--|VED|short term|--<--|magnetic|-->--|tapes| |terminal|-->--| | memory |-->--| disks |--<--| | -------- -------------- -------- ----- If you are using a machine that is managed by a computing service you will not have to think about tapes - they are handled by the operator who regularly makes copies from the disks to the tapes. This means that if files are accidentally lost on the disks they can sometimes be retrieved from tapes by the operator. -- Files on magnetic disks -------------------------------------------- Information in the long term memory is organized into 'files' which usually contain 'text', e.g. programs, teaching files, etc. They can also contain other things that may not be readable by people, e.g. image data and compiled programs. Various things can be done to files. A file can be displayed for reading on the screen of a terminal (perhaps with the help of a TEACH file); it can be read and "obeyed" by a programming system like POP-11 or Lisp, or Prolog (in which case the file should contain instructions), it can be printed on paper, or it can be used to prepare a new version using an editor (like VED the POPLOG editor which you are probably using now to read this "teach" file). A very common activity is to edit a file, either in order to create an entirely new file, or to extend or modify an existing file stored on the disk. When a file is altered using the editor there comes a point when you "write" or "save" it. At that point it gets copied from the short term to the long term memory on the disk, replacing the old version if there was one. (On some systems the old version is saved in case you have made a dreadful mistake and want to get its contents back.) -- Operating systems manage file stores ------------------------------- The management of files and the sharing of the computer between different users is the task of an "operating system". POPLOG and its editor VED can be used on a variety of computers, with different OPERATING SYSTEMS. Operating systems have many functions - looking after files, controlling how programs or users communicate with other local or remote computers (the electronic mail system) and how we run different devices (printers, robots, cameras, etc.). Different operating systems may differ in HOW they perform these jobs. The two main operating systems that POPLOG runs on are versions of VMS and UNIX. (Note: VMS is a trade mark of Digital Equipment Corporation, and UNIX is a trade mark of ATT). We communicate with the VMS operating system in a language called DCL which gives the '$' prompt and with the UNIX operating system in a language called SHELL which gives the '%' prompt. For more information about these languages see the operating system user guides. The Poplog User Guide and the VED User Guide also give some information. If you are a Poplog user, most of the time you can avoid using either DCL or the Shell, since Poplog provides many of the facilities you will need. -- File name formats -------------------------------------------------- The computer's disk contains your 'files' and other's files. The organisation of these files is determined by the operating system. How they are grouped into different collections and what their names look like will vary from one operating system to another, though most systems group files together into directories. A directory can contain several files, including directories that contain more files, etc. In principle, in order to specify a file, you may have to specify a whole range of things, e.g. - which machine it is on (the "host"), - which disk it is on, - which directory it is in, and finally - the name of the file. However, it is normally possible to avoid all except the file name, by working within a directory, known as the "current working directory" or the "default directory". Then if you simply name a file without specifying a directory the computer will assume you mean the current directory. Here are examples of file names showing directory and file names [POP.TEACH]FILES;23 (VMS) /pop/teach/files (UNIX) The directory part is "[POP.TEACH]" in VMS and "/pop/teach/" in Unix. Poplog allows you to use the Unix format whether you are using VMS or not. OWNER, a NAME, possibly a TYPE, and a VERSION number or marker. In the VMS version the ";23" bit means this is version 23 of the file. -- Ownership of files ------------------------------------------------- Files have 'owners'. The file you are currently reading is called 'files' and is owned by the system administrator responsible for managing the Poplog system. - this means that you can read it and change its appearance on the screen, but you can not make any permanent changes to it. You can, of course, make changes to files which you own. The owner of a file can specify its "protection", i.e. whether other users can read or alter it. For details consult user guides for your operating system. -- File versions ------------------------------------------------------ The file in the above example is called 'files' and it is the 23rd version 'files'. In VMS the version is marked by a number. In UNIX the version of the file, if produced by Poplog, is marked by dashes, the more dashes the older the version of the file e.g. /usr/fred/files is a more recent version than /usr/fred/files- is a more recent version than /usr/fred/files-- Unix Poplog will normally produce only two versions of a file, the most recent and the previous version. However, you can use the variables pop_file_versions and vedversions to control the number of backup versions saved. If you keep all old versions, you'll run out of disk space so later you will have to learn how to delete old files. If you give a file name to VMS without specifying the version it assumes you mean the latest version. If you want an older version then you must specify the version number (in VMS) or add the correct number of dashes to the name (in UNIX). -- File Type ---------------------------------------------------------- Files can also have a 'type'. E.g. if you create and edit a file file called TEST, with type P, the 13th version, after several edits would then have the name TEST.P;13 on VMS, whereas on Unix the name would simply be test.p The file type can help to remind you (or a program) what sort of thing the file contains. E.g. '.p' files should contain POP-11 programs, '.txt' files might contain essays etc. Poplog uses the following conventions for file types Type Programming language used in file .p POP-11 .pl PROLOG .lsp COMMON LISP .ml Standard ML There are other conventions used by operating systems, e.g. to indicate "object" files, "runnable" files, command files, etc. The type of a program file is used by Poplog to decide which compiler to associate with it and to indicate to the editor how to behave. -- Operating system commands concerned with files --------------------- One of the most frequently used commands concerned with files is the command to print out information about files in your current directory. On VMS the command is $ DIRECTORY which can be abbreviated to "DIR". On Unix the command is % ls Both files have a variety of more elaborate formats described in online documentation that comes with the operating system. To read the online help file, do: on VMS $ HELP DIRECTORY on UNIX % man ls There are many more commands for copying files, printing them, re-naming them, moving them to another directory, joining them together, deleting them, altering their protection, etc. etc. A subset of such commands is described in Poplog help files: on VMS HELP * DCL on UNIX HELP * SHELL -- Giving DCL or SHELL commands from inside Pop-11 or VED ------------- POP-11 and the VED editor have been modified to understand DCL and SHELL commands provided that you type in the dollar or percent yourself. In order to get a directory listing, you can do the following in VED: on VMS $ dir on UNIX % ls This means that the contents of your directory will be printed out. Then VED will tell you to press RETURN to get back to VED. Try that. Other operating system commands can be given on the command line in the same way. -- Files available when you start ------------------------------------- If you are using a VMS operating system then, at this stage, you may find that you only have one file: LOGIN.COM;1 The name of the file is LOGIN, of type COM, and it is version 1. That file has commands which are obeyed when you log in. Without it, various things would not work for you, so when you later learn to delete files you no longer need, don't delete this one! If you are using UNIX then it may appear that you have no files - actually you do have a "login" file which performs a similar job to the VMS version. However your file's name is called ".login", or, on some Unix systems ".profile". The "." makes a file invisible to a simple "%ls" command. You may also have other "invisible" files on a unix system, e.g. .cshrc .plan .mailrc .rootmenu Additional files available when you start may be vedinit.p - setting up the editor VED init.p - setting up Pop-11 to suit your use init.pl - initialising Poplog Prolog init.lsp - initialising Poplog Common Lisp For more information on initialisation, see HELP * INITIAL When you have finished reading this file, press the ESC key then Q to Quit and return to whatever you were doing before. -- Additional reading ------------------------------------------------- To read one of these files, type n to get to the "next" asterisk, then h to get the relevant file. You can quit each file after reading it by typing q. HELP *SHELL - a summary of SHELL commands (if you have a UNIX operating system) HELP *DCL - a summary of DCL commands (if you have a VMS operating system) TEACH *TEACHFILES - an overview of TEACH files HELP *HELPFILES - an overview of HELP files HELP *DOCUMENTATION - overview of means of accessing documentation DOC *SYSSPEC - an overview of the files supplied with the Poplog system. --- C.all/teach/files -------------------------------------------------- --- Copyright University of Sussex 1988. All rights reserved. ----------