Annotation of researchv10dc/man/man0/intro, revision 1.1.1.1

1.1       root        1: .SP .5i
                      2: .TL
                      3: INTRODUCTION
                      4: .SP 2
                      5: .LP
                      6: This volume describes facilities of the version of the
                      7: .SM UNIX
                      8: operating system that is used
                      9: at the system's original home, the
                     10: computing science research center of AT&T Bell Laboratories.
                     11: Volume 2 discusses certain aspects of the system in more detail.
                     12: For tutorial information, consult a standard reference such as
                     13: .I "The Unix Programming Environment
                     14: by Kernighan and Pike.
                     15: .LP
                     16: Within the area it surveys, this volume attempts
                     17: to be timely, complete and concise.
                     18: Where the latter two objectives conflict,
                     19: the obvious is often left unsaid in favor of brevity.
                     20: It is intended that each program be described
                     21: as it is, not as it should be.
                     22: Inevitably, as snapshots of a living system, some of
                     23: the descriptions may soon go out of date.
                     24: When that happens, users may find the latest word in
                     25: an on-line form of this book.
                     26: .LP
                     27: The volume is divided into sections;
                     28: each section consists of a number of independent pages.
                     29: (Some `pages' spill over beyond one sheet of paper.)
                     30: The name of a page is in its upper corners 
                     31: together with the section number.
                     32: Sections 3 and 9 have further substructure as described in
                     33: their respective introductions.
                     34: Pages are arranged alphabetically within sections.
                     35: Here and in much other documentation,
                     36: the notation
                     37: .I man (1)
                     38: refers to the page for the
                     39: .I man
                     40: command in section 1.
                     41: (This particular command prints selections from the on-line manual.)
                     42: .LP
                     43: There are nine printed sections and one unprinted appendix.
                     44: .DS
                     45: 1.     Commands
                     46: 2.     System calls
                     47: 3.     Subroutines
                     48: 4.     Devices, line disciplines, and file systems
                     49: 5.     File formats and conventions
                     50: 6.     Language conventions
                     51: 7.     Information sources
                     52: 8.     Maintenance commands and procedures
                     53: 9.     Teletype 5620-related software
                     54: A.     Other facilities
                     55: .DE
                     56: Section 1 describes
                     57: programs intended to be invoked directly by
                     58: the user, in contradistinction to subroutines, which are
                     59: intended to be called by the user's programs.
                     60: Essential commands generally reside in directory
                     61: .CW /bin
                     62: (for
                     63: .I bin \|ary
                     64: programs) or
                     65: .CW /usr/bin .
                     66: These directories are searched automatically by command interpreters.
                     67: .LP
                     68: Section 2 describes
                     69: entries into the
                     70: .UX
                     71: kernel
                     72: as expressed in C, the primary implementation
                     73: language of the system.
                     74: .LP
                     75: Section 3 discusses
                     76: an assortment
                     77: of subroutines, mostly for use with C.
                     78: The primary libraries in which they are kept are described in
                     79: .I intro (3).
                     80: Fortran users should consult the
                     81: .I port (3)
                     82: mathematical library.
                     83: .LP
                     84: Section 4 discusses `files'
                     85: that actually refer to I/O devices,
                     86: processing modules that modify the behavior
                     87: of some devices,
                     88: and `file systems'
                     89: that aren't just files on a disk.
                     90: .LP
                     91: Section 5 gives the structure of particular
                     92: kinds of files, for example, the form of the output of the loader and
                     93: assembler.
                     94: Files internal to only one command
                     95: are excluded,
                     96: for example compiler intermediate files.
                     97: .LP
                     98: Section 6 lists 
                     99: macro packages, fonts, mail addressing conventions, etc.
                    100: .LP
                    101: Section 7 is a miscellaneous collection of information sources:
                    102: library orders, news, astronomy, geography, calendar, etc.
                    103: .LP
                    104: Section 8 discusses commands and procedures not intended
                    105: for use by the ordinary user.
                    106: Most of the commands and files described here
                    107: are kept in directory
                    108: .CW /etc.
                    109: .LP
                    110: Section 9 describes software intended for use with the Teletype
                    111: 5620 terminal.
                    112: In this category fall utilities that exploit the terminal and
                    113: tools for writing code to run with or on it.
                    114: .LP
                    115: Appendix A contains information about obsolescent or 
                    116: specialized programs.
                    117: It is not printed, but is accessible on line through
                    118: .I man (1).
                    119: .LP
                    120: Not all facilities are available across all computers.
                    121: Pages for programs with limited distribution
                    122: are marked at the top
                    123: with the name of at least one computer 
                    124: at the home site where
                    125: they are known to reside.
                    126: .LP
                    127: All pages are based on a common format,
                    128: not all parts of which necessarily appear.
                    129: .RS
                    130: .LP
                    131: The
                    132: .I NAME
                    133: subsection lists the exact names of the commands and subroutines
                    134: covered
                    135: and
                    136: a very short description of their purpose.
                    137: .LP
                    138: The
                    139: .I SYNOPSIS
                    140: subsection summarizes the use of the
                    141: program being described.
                    142: .LP
                    143: The
                    144: .I DESCRIPTION
                    145: subsection discusses in detail the subject at hand.
                    146: .LP
                    147: The
                    148: .I EXAMPLES
                    149: subsection illustrates interesting usage.
                    150: .LP
                    151: The
                    152: .I FILES
                    153: subsection gives the names of files which are
                    154: built into the program.
                    155: .LP
                    156: The
                    157: .I
                    158: SEE ALSO
                    159: .R
                    160: subsection gives pointers to related information.
                    161: .LP
                    162: The
                    163: .I DIAGNOSTICS
                    164: subsection discusses
                    165: the diagnostic indications which may be produced.
                    166: Messages which are intended to be self-explanatory
                    167: are not listed.
                    168: .LP
                    169: The
                    170: .I BUGS
                    171: subsection gives
                    172: known bugs and sometimes deficiencies.
                    173: Occasionally also the suggested fix is
                    174: described.
                    175: .br
                    176: .RE
                    177: .LP
                    178: The following conventions are used, particularly in 
                    179: section 1:
                    180: .RS
                    181: .LP
                    182: .CW "Program font"
                    183: shows literals, file names, and examples.
                    184: .LP
                    185: .I Italics
                    186: designate parameters or arguments.
                    187: In descriptions italics also name programs, as a sign that the
                    188: programs can be found described in this manual, and as a reminder
                    189: that the name is probably a shorthand, 
                    190: not a real file name.
                    191: .LP
                    192: Square brackets [ ] around an argument
                    193: indicate that the argument is optional.
                    194: .LP
                    195: Ellipses `.\|.\|.' indicate that the previous item
                    196: may be repeated.
                    197: .LP
                    198: A final convention is used by the commands themselves.
                    199: An argument beginning with a minus sign 
                    200: .CW -
                    201: usually means a command option
                    202: even if it appears in a position where a file name
                    203: could appear.
                    204: Therefore, it is unwise to have files
                    205: whose names begin with 
                    206: .CW - .
                    207: .br
                    208: .RE
                    209: .LP
                    210: Following this introduction are a classified table of contents,
                    211: a permuted index, and a glossary.
                    212: .SH
                    213: HOW TO GET STARTED
                    214: .LP
                    215: This section sketches the basic information
                    216: you need to get started on
                    217: .UX :
                    218: how to log in and log out,
                    219: how to communicate through your terminal,
                    220: and how to run a program.
                    221: See Kernighan and Pike for a more complete introduction.
                    222: .LP
                    223: .I
                    224: Logging in.\ \ 
                    225: .R
                    226: You must call
                    227: .UX
                    228: from an appropriate terminal.
                    229: Most any \s8ASCII\s0 terminal capable of full duplex operation and generating
                    230: the entire character set can be used.
                    231: You must also have a valid user name,
                    232: which may be obtained, together with necessary telephone numbers
                    233: or computer names,
                    234: from the system administrator.
                    235: After a data connection is established,
                    236: the login procedure depends on what kind of terminal
                    237: you are using.
                    238: .LP
                    239: .I
                    240: .I
                    241: Dial-up terminals:\ \ 
                    242: .R
                    243: If there is a half/full-duplex switch, set it at full-duplex.
                    244: When you have established a data connection,
                    245: the system types out a few characters, intended to be
                    246: .CW login: .
                    247: If they appear as gibberish, the computer is sending at the wrong 
                    248: baud rate.
                    249: Depress the `break'
                    250: key;
                    251: this is a signal
                    252: that a different speed terminal
                    253: is in use.
                    254: The system will type
                    255: .CW login:
                    256: at another
                    257: speed.
                    258: Continue depressing the break key
                    259: until
                    260: .CW login:
                    261: appears, then respond with your user name.
                    262: End each line you type with a carriage return.
                    263: .LP
                    264: .I
                    265: Hard-wired terminals.\ \ 
                    266: .R
                    267: Hard-wired terminals usually begin at the right
                    268: speed, up to 19200 baud; otherwise the preceding instructions
                    269: apply.
                    270: .LP
                    271: .I
                    272: Datakit\(rg terminals.\ \ 
                    273: .R
                    274: Make sure that any on-line/off-line switch is turned to on-line.
                    275: If the terminal types gibberish, depress the `break' key repeatedly
                    276: until you see the prompt
                    277: .CW "Number please:"
                    278: or
                    279: .CW "Destination please:"  .
                    280: Respond with the name of the computer you wish to connect to, 
                    281: followed by a carriage return.
                    282: When the computer prompts
                    283: .CW login:
                    284: proceed as above.
                    285: .LP
                    286: For all terminals, it is important
                    287: that you type your name in lower case if possible.
                    288: If you type
                    289: upper-case letters, the system
                    290: will assume that your terminal cannot generate lower-case
                    291: letters and will translate all subsequent upper-case
                    292: letters to lower case.
                    293: .LP
                    294: Upon logging in you may be presented with a `message of
                    295: the day'.
                    296: You may also be notified of incoming mail.
                    297: The final evidence that you have successfully
                    298: logged in is that a shell program
                    299: will type a prompt (normally 
                    300: .CW $  )
                    301: to you.
                    302: (The shell is described below under
                    303: `How to run a program.')
                    304: .LP
                    305: Terminals come with a bewildering variety of capabilities,
                    306: which the system may have to be aware of.
                    307: Get somebody who knows to help customize a 
                    308: .CW \&.profile
                    309: description of your terminal to set things properly
                    310: upon logging in.
                    311: For more information, consult
                    312: .I sh (1)
                    313: about profiles,
                    314: .I environ (5)
                    315: about environments, and
                    316: .I tabs (1),
                    317: .I stty (1),
                    318: .I tty (4),
                    319: and
                    320: .I ttyld (4)
                    321: about terminal settings.
                    322: .LP
                    323: .I
                    324: Logging out.\ \ 
                    325: .R
                    326: There are two ways to log out:
                    327: .IP
                    328: Type an end-of-file indication
                    329: (EOT character, 
                    330: control-\f(CWd\fP)
                    331: to the shell.
                    332: The shell will terminate and a
                    333: .CW login:
                    334: or
                    335: .CW "Number please:"
                    336: message
                    337: will appear again.
                    338: .IP
                    339: Simply hang up or turn your terminal off.
                    340: .LP
                    341: .I
                    342: How to communicate through your terminal.\ \ 
                    343: .R
                    344: When you type characters, a gnome deep in the system
                    345: gathers your characters and saves them in a secret
                    346: place.
                    347: The
                    348: characters will not be given to a program
                    349: until you type a return.
                    350: .LP
                    351: .UX
                    352: terminal I/O is full-duplex.
                    353: It has full read-ahead, which means that you can
                    354: type at any time,
                    355: even while a program is
                    356: typing at you.
                    357: If you type while the computer is printing,
                    358: the input may appear interleaved with the output.
                    359: However, whatever you type will be saved
                    360: up and interpreted in correct sequence.
                    361: .LP
                    362: In typed input, the character
                    363: .CW @
                    364: kills all the preceding characters in the line, so
                    365: typing mistakes
                    366: can be repaired.
                    367: A backspace
                    368: erases the last character typed.
                    369: Successive backspaces
                    370: erase characters back to, but
                    371: not beyond, the beginning of the line.
                    372: .CW @
                    373: and backspace can be transmitted to a program
                    374: by preceding them with
                    375: .CW \e .
                    376: (So, to erase
                    377: .CW \e ,
                    378: you need two backspaces.)
                    379: .LP
                    380: The `delete' or `rubout' key causes an
                    381: .I
                    382: interrupt signal,
                    383: .R
                    384: as does the
                    385: `break' key.
                    386: This signal
                    387: generally causes whatever program
                    388: you are running to terminate.
                    389: It is typically used to stop a long printout that
                    390: you don't want (with varying degrees of promptness).
                    391: However, programs can arrange either to ignore
                    392: this signal altogether,
                    393: or to be notified, instead of being killed, when it happens.
                    394: The editor,
                    395: .I ed (1),
                    396: for example, catches interrupts and
                    397: stops what it is doing,
                    398: instead of terminating, so that an interrupt can
                    399: be used to halt an editor printout without
                    400: losing the file being edited.
                    401: .LP
                    402: It is also possible to suspend output temporarily by typing
                    403: control-\f(CWs\fP
                    404: and later resume output with 
                    405: control-\f(CWq\fP.
                    406: .LP
                    407: The
                    408: .I quit ""
                    409: signal is generated
                    410: by typing 
                    411: control-\f(CW\e\fP
                    412: or
                    413: control-\f(CW|\fP.
                    414: It not only causes a running program to terminate
                    415: but also generates a file with the core image
                    416: of the terminated process.
                    417: Quit is useful
                    418: for debugging.
                    419: .LP
                    420: .I
                    421: How to run a program; the shell.\ \ 
                    422: .R
                    423: When you have successfully logged in, a program
                    424: called the shell is listening to your terminal.
                    425: The shell reads typed-in lines, splits them up
                    426: into a command name and arguments, and executes the command.
                    427: A command is simply an executable program, which the
                    428: shell finds by looking in several standard places.
                    429: You can 
                    430: place commands in your own directory and have the shell find them there.
                    431: There is nothing special about system-provided
                    432: commands except where they live.
                    433: .LP
                    434: The command name is always the first word on an input line;
                    435: it and its arguments are separated from one another by
                    436: spaces.
                    437: .LP
                    438: When a program terminates, the shell will ordinarily regain control and type 
                    439: a prompt at you to indicate that it is ready for another command.
                    440: .LP
                    441: The shell (and the underlying system) has a distinctive
                    442: ability to combine programs by piping the output of one into the
                    443: input of another.
                    444: In general, programs have been designed to be usable in pipelines
                    445: as well as on their own.
                    446: The shell has many other capabilities, which are described in detail in
                    447: .I sh (1).
                    448: .LP
                    449: .I
                    450: Bitmap terminals.\ \ 
                    451: .R
                    452: To get the most out of the Tenth Edition system, you will probably
                    453: wish to use a Teletype 5620 or 630 terminal, run with
                    454: .I mux (9.1).
                    455: This provides
                    456: mouse control, graphics, and multiple layers, each of which acts like
                    457: a separate, simultaneously running
                    458: .UX
                    459: terminal, complete with its own shell.
                    460: Text in a
                    461: .I mux
                    462: layer can be edited on screen.
                    463: The editor
                    464: .I sam (9.1)
                    465: and the typesetter simulator
                    466: .I proof (9.1)
                    467: are particularly useful programs that run only under
                    468: .I mux.
                    469: .LP
                    470: .I
                    471: The current directory.\ \ 
                    472: .R
                    473: .UX
                    474: has a file system arranged in a hierarchy of directories.
                    475: When you were given a user name by a system administrator,
                    476: you were also given a home directory (ordinarily
                    477: with the same name as your user name).
                    478: When you log in, any file
                    479: name you type is by default
                    480: in this directory.
                    481: Since you are the owner of this directory, you have
                    482: full permission to read, write, alter, or destroy
                    483: its contents.
                    484: Permissions to have your will with other directories
                    485: and files will have been granted or denied to you
                    486: by their owners.
                    487: As a matter of observed fact, few users
                    488: protect their files from perusal by other users.
                    489: .LP
                    490: You need not do all your work in the home directory.
                    491: To switch to another directory use the change directory
                    492: command
                    493: .I cd,
                    494: described in
                    495: .I sh (1).
                    496: .LP
                    497: .I
                    498: Path names.\ \ 
                    499: .R
                    500: To refer to files not in the current directory, you must
                    501: use a path name.
                    502: Full path names begin with
                    503: .CW / ,
                    504: the name of the `root' of the
                    505: whole file system.
                    506: After the slash comes the name of a subdirectory, another slash
                    507: and a sub-subdirectory, and so on
                    508: until finally a
                    509: file name is reached.
                    510: For example,
                    511: .CW /usr/lem/filex
                    512: refers to the file
                    513: .CW filex
                    514: in the directory
                    515: .CW lem ;
                    516: .CW lem
                    517: is itself a subdirectory of
                    518: .CW usr ;
                    519: .CW usr
                    520: .R
                    521: springs directly from the root.
                    522: .LP
                    523: If your current directory has subdirectories,
                    524: the path names of files therein begin with
                    525: the name of the subdirectory with no initial 
                    526: .CW / .
                    527: .LP
                    528: A path name may be used anywhere a file name is
                    529: required.
                    530: .LP
                    531: Important commands which modify the contents of files
                    532: are
                    533: .I cp (1),
                    534: .I mv 
                    535: (described in
                    536: .I cp (1)),
                    537: and
                    538: .I rm (1),
                    539: which respectively copy, move (i.e. rename) and remove files.
                    540: To find out the status of files or directories, use 
                    541: .I ls (1).
                    542: See
                    543: .I mkdir (1)
                    544: for making directories.
                    545: .LP
                    546: For a fuller discussion of the file system, see
                    547: Kernighan and Pike.
                    548: It may also be useful to glance through
                    549: section 2 of this manual, which discusses
                    550: system calls, even if you don't intend
                    551: to deal with the system at that level.
                    552: .LP
                    553: .I
                    554: Environment.\ \ 
                    555: .R
                    556: Many things can be changed in the environment:
                    557: the already-mentioned erase
                    558: character, properties of your terminal, directories from which
                    559: you wish to execute commands, news notification, etc.
                    560: Your
                    561: .CW \&.profile
                    562: file can make these settings automatically upon login.
                    563: .LP
                    564: .I
                    565: Writing a program.\ \ 
                    566: .R
                    567: The principal language processors are
                    568: .I cc (1)
                    569: for C,
                    570: .I f77 (1)
                    571: for Fortran, and
                    572: .I awk (1).
                    573: Processors for Basic, Pascal, Snobol, Lisp, Macsyma, ML, and others are available.
                    574: For compile-before-run languages
                    575: enter the text of a source program into a
                    576: file, using one of the editors,
                    577: .I ed (1),
                    578: .I sam (9.1),
                    579: or
                    580: .I vi (1).
                    581: By convention C programs are stored in files with names
                    582: ending in
                    583: .CW .c ,
                    584: Fortran programs in 
                    585: .CW .f .
                    586: After the program text has been entered through 
                    587: the editor
                    588: and written on a file, you can give the file
                    589: to the appropriate language processor as an argument.
                    590: The output of a compiler
                    591: will be left in a file named
                    592: .CW a.out
                    593: in the current directory.
                    594: (If the output is precious, use
                    595: .I mv
                    596: to move it to a less
                    597: exposed name soon.)
                    598: .LP
                    599: When you have finally gone through this entire process
                    600: without provoking any diagnostics, the resulting program
                    601: can be run by giving its name (\c
                    602: .CW a.out
                    603: if you've not arranged otherwise)
                    604: to the shell
                    605: in response to the shell prompt.
                    606: .LP
                    607: Your programs can receive arguments from the command line
                    608: just as system programs do,
                    609: see
                    610: .I exec (2).
                    611: .LP
                    612: .I
                    613: Text processing.\ \ 
                    614: .R
                    615: Almost all text is entered through the editors.
                    616: The commands most often used to display text are
                    617: .I cat (1),
                    618: .I pr (1),
                    619: and
                    620: .I troff (1).
                    621: .LP
                    622: The
                    623: .I cat
                    624: command simply dumps text
                    625: on the terminal, with no processing at all.
                    626: The
                    627: .I pr ""
                    628: command paginates the text, supplies headings,
                    629: and has a facility for multi-column output.
                    630: .LP
                    631: .I Troff
                    632: prepares documents for a
                    633: phototypesetter.
                    634: Used naked, it requires careful forethought, but for
                    635: ordinary documents it has been tamed; see
                    636: .I ms (7).
                    637: It was used to produce this manual.
                    638: Its output can drive various devices including
                    639: laser printers and graphic terminals; see
                    640: .I lp (1)
                    641: and
                    642: .I proof (9).
                    643: .LP
                    644: .I
                    645: Status inquiries.\ \ 
                    646: .R
                    647: .I Who (1)
                    648: prints a list of users presently logged in.
                    649: .I Date (1)
                    650: prints the current time and date.
                    651: .I Pwd (1)
                    652: tells what directory you're working in;
                    653: .I where ,
                    654: described on the same page,
                    655: tells what machine you're on.
                    656: .I Ls (1)
                    657: will list the files in your directory or give
                    658: status information about particular files.
                    659: .LP
                    660: .I
                    661: Surprises.\ \ 
                    662: .R
                    663: Certain commands provide inter-user communication.
                    664: Even if you do not plan to use them, it would be
                    665: well to learn something about them, because someone else may
                    666: aim them at you.
                    667: .LP
                    668: To communicate with another user currently logged in,
                    669: .I write (1)
                    670: may be used, but
                    671: .I mail (1)
                    672: is both more polite and more reliable.
                    673: .I Mail
                    674: leaves a message that will be announced
                    675: to another user at next login, if not sooner.
                    676: .I Vismon (9.1)
                    677: and
                    678: .I sh (1)
                    679: provide ways to monitor incoming mail continuously.
                    680: .LP
                    681: .I
                    682: Multiple machines.\ \ 
                    683: .R
                    684: Tenth Edition systems have tentacles to many other 
                    685: machines.
                    686: The file systems of other
                    687: .UX
                    688: systems may be accessible through
                    689: directory 
                    690: .CW /n .
                    691: Thus you may change current directory to one of these machines, although
                    692: computing on your behalf is still being done on the machine you
                    693: logged into.
                    694: You may transmit data among such machines just as within one machine by using
                    695: .I cp (1)
                    696: or I/O redirection in the shell.
                    697: You may also log into a remote machine to do processing there with
                    698: input and output passing through the
                    699: local machine; see
                    700: .I con (1).
                    701: .LP
                    702: Datakit connections exist throughout Bell Laboratories.
                    703: File transmission, over Datakit and over dialup lines to
                    704: even more remote machines, is provided by
                    705: .I uucp (1).
                    706: Mail extends all over the world.
                    707: See
                    708: .I mail (6)
                    709: for how to send mail to destinations on networks such
                    710: as the ARPA Internet, Bitnet, or ACSnet (in Australia.)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.