Operating System User's Guide

About this book
        How this book is organized
        How can we improve this book?

Using SCO Shell
        Starting SCO Shell
                What the SCO Shell screen areas do
                Using menus in SCO Shell
                Canceling an operation
                Error messages
                Getting help in SCO Shell
                Using the accelerator keys
                Using a mouse
                Quitting SCO Shell
        Managing files with SCO Shell
                Files and directories
                Using subdirectories
                The current directory
                Naming and organizing files and directories
        Using the Manager menu
                Selecting files
                        Choosing files
                        Changing directories
                        Using wildcard characters
        Using the Manager menu options
                Looking at a file
                Changing the appearance of windows
                        Changing the content of the File window
                Editing a file
                        Editing commands
                        Pop-up list of extra edit-mode commands
                Managing files
                        Copying files
                        Renaming and moving files
                        Removing files
                        Finding files
                        Managing file permissions
                        Recovering erased files
                Managing directories
                        Changing the current directory
                        Creating a new directory
                        Removing an empty directory
                        Changing directory permissions
                Copying files to and from tape or disk
                        Preparing to use removable media
                        Formatting a disk or tape
                        Copying files to disk or tape
                        Listing files on disk or tape
                        Extracting files from disk or tape
                        Specifying the type of format for archiving
                        Specifying the archive device address
                Using the clipboard from the Manager menu
                Setting preferences for text editing
                Exiting the Manager menu
        Running utilities and applications
                What utilities are available
                        Adding a utility to the list
                What applications are available
                        Adding an application to the list
                Copying items between applications with the clipboard
        Printing files
                Displaying or canceling print jobs
                Selecting a printer

SCO Shell accessories
        Using the Calendar
                Starting the Calendar
                Quitting from the Calendar
                Moving between days
                        After selecting the new date
                        Returning to the current date
                Scheduling a meeting or event
                        Scheduling single events
                        Scheduling repeating events
                        Selecting Public or Private access
                        Notifying invitees about an event
                        Changing or deleting a repeating event
                        Searching for free time
                        Choosing a free time
                        Resolving scheduling conflicts
                        Scheduling timeless events
                        Scheduling durationless events
                Adding ``To do'' items to the Calendar
                Changing an event
                Deleting an event
                Viewing the Calendar
                        Viewing an event
                        Viewing a week
                        Viewing a month
                        Viewing a range of dates
                        Viewing a free-time list
                Printing the calendar
                        Printing an event
                        Printing calendars for a day, week, or month
                        Selecting an alternative printer
                Transferring information from the Calendar to other applications
                        Transferring an event
                        Transferring events for a day, week, or month
                        Transferring events from a range of dates
                Setting Calendar options
                        Accessing other calendars
                        Creating a new calendar
                        Setting calendar preferences
                        Setting permissions on the current calendar
                        Deleting a calendar
                        Renaming a calendar
                        Managing aliases
                Adding an alternative calendar to your Application List
                Resolving problems with Calendar information
        Using the Calculator
                Starting the Calculator
                Calculator commands
                Using the Calculator's features
                        Simple arithmetic
                        Scrolling the tape
                        Storing numbers in memory
                        Negative numbers
                        If you enter the wrong number
                        Exiting the Calculator

Working with files and directories
        Getting to the command prompt
        Files and directories
                Using files
                Using directories
                File and directory attributes
                How the system manages files and directories
                Filenaming conventions
        Managing directories
                How directories are organized
                An example: what the system contains
                Creating a directory
                Listing the contents of a directory
                Renaming a directory
                Copying a directory
                Removing a directory
                Comparing directories
        Navigating the filesystem
                Finding out where you are in the system
                Changing directory
                Returning to your home directory
        Creating links to files and directories
                Creating a link to a file
                Finding out whether a file has hard links
                Creating a link to a directory
                Navigating symbolic links
        Mounting a filesystem
        Managing files
                Finding out what type of data a file contains
                Looking at the contents of a file
                Finding out how much text is in a file
                Looking at the beginning and end of a file
                Copying a file
                Moving or renaming a file
                Removing a file
                        Removing files with difficult names
                Comparing files
                Sorting the contents of a file
                Searching for text in a file
                Finding files
                Retrieving deleted files
                        Keeping old versions of files
                        Undeleting files
                        Cleaning up your filesystem
        Specifying command input and output
                Forcing a program to read standard input and output
        Running a sequence of commands
                Entering commands on the same line
                Running commands in a pipeline
        Access control for files and directories
                Changing file permissions
                Setting the default permissions for a new file
                Giving a file to someone else
                Finding out your group
                Changing your current group
                Changing the group of a file
        Printing a file
                Printing several copies of a file
                Selecting a printer
                Displaying a list of current print jobs
                Canceling a print request
        Getting help on the command line
                Getting help when you are uncertain of the topic

Editing files
        A quick tour of vi
                Starting vi
                Entering text
                What to do if you get stuck
                Saving files and quitting vi
                Moving around a file
                Deleting and restoring text
                        Restoring deleted text
                        Using the deletion buffers
                Searching for text
                Replacing and modifying text
                Substituting text
                        Performing global substitutions
                        Specifying addresses
                        Confirming substitutions
                Repeating and undoing commands
                Including the contents of another file
                Accessing the shell
                Editing more than one file
                Using buffers to cut and paste text
                Placing markers
        Using keyboard shortcuts
                Running other programs from inside vi
                Sending text through a filter
                Defining abbreviations
                Storing a command in a buffer
                Mapping key sequences
                        Assigning commands to a key sequence
                        Assigning insertions to a key sequence
                        Changing modes within a mapped command
        Configuring vi
                Saving frequently used commands
        Using ed
                Starting ed
                Saving files and quitting ed
                Moving around in ed
                Editing text in ed

Controlling processes
        What is a process?
        Finding out what processes are running
        Background jobs and job numbers
                Waiting for background jobs to finish before proceeding
                Finding out what jobs are running
        Killing a process
                Suspending a job
                Moving background jobs to the foreground
                Moving foreground jobs to the background
        Keeping a process running after you log off
        Using signals under the UNIX system
        Reducing the priority of a process
                Identifying the niceness of a process
        Scheduling your processes
                Running processes at some time in the future
                Executing processes at regular intervals
                Delaying the execution of a process

Working with DOS
        DOS devices under the UNIX system
        DOS filenames
                Listing DOS files in standard DOS format
                Listing DOS files in a UNIX system format
        Copying DOS files between DOS and SCO OpenServer systems
        Displaying a DOS file
        Converting DOS files to and from UNIX system file format
                Automatic file conversions when using DOS utilities
        Removing a DOS file
        Creating a DOS directory
        Removing a DOS directory
        Formatting a DOS floppy
        Using mounted DOS filesystems
                Accessing DOS partitions on a second disk
                Points to note when using files on a mounted DOS filesystem

Working with disks, tapes, and CD-ROMs
        Using UNIX devices
                Identifying device files
                Default devices
        Using floppy disk drives
                Formatting floppy disks
                Determining how many disks you need for a backup
        Using tapes
                Formatting tapes
                Rewinding, erasing, and retensioning tapes
        Using CD-ROMs
        Creating a backup with tar
                Listing the files in a tar backup
                Extracting files from a tar backup
        Creating a backup with cpio
                Listing the files in a cpio backup
                Extracting files from a cpio backup

Using UUCP and dialup commands
        Transferring files between UNIX systems
                Using the uucp command
                        Transferring files to systems that are not connected directly to your own
                        Checking the status of pending file transfers
                        Transferring files to a public directory using uuto
                        Retrieving files from the public directory
        Executing commands on remote UNIX systems
        Dialing up remote systems
                Connecting to a remote terminal
                Using two computers at the same time
                Transferring text files with take and put

Using a secure system
        How system security works
        Login security
        What to do if you cannot log in
        Password security
        Changing your password
                If you are not allowed to change your password
                If you are allowed to change your password
        File security
                Security for files in sticky directories
        Other security tips
        Using su to access another account
        Using commands on a trusted system
                Listing authorizations and running authorized commands
        Data encryption
                crypt--encode/decode files

Configuring and working with the shells
        What is a shell?
        What the different shells are for
                Identifying your login shell
                What happens when you log in
        Understanding variables
                Setting shell variables
                Setting environment variables
                Exporting variables to the environment
                A sample login script
                Resetting the environment
        Some features to make life easier
                Making your prompt tell you where you are
                Adding a logout script
                Recalling and editing previous commands
                        Korn shell history editing
                        C shell history editing
        Using aliases
                How aliases are executed
        How the shell works
                How the shell executes commands

Automating frequent tasks
        Creating a shell script
                Running a script under any shell
                Writing a short shell script: an example
                Passing arguments to a shell script
                Performing arithmetic and comparing variables
                Performing arithmetic on variables in the Korn shell
        Sending a message to a terminal
                The echo command
                The print command (Korn shell only)
                More about redirecting input and output
        Getting input from a file or a terminal
                Reading a single character from a file or a terminal
                Attaching a file to a file descriptor
        What to do if something goes wrong
                Solving problems with the environment
                Solving problems with your script
                What to do if your shell script fails
        Writing a readability analysis program: an example
                How to structure a program
                Making a command repeat: the for loop
                Getting options from the command line: getopts
                Repeating commands zero or more times: the while loop
                Repeating commands one or more times: the until loop
                Making choices and testing input
                Choosing one of two options: the if statement
                Different kinds of test
                Testing exit values
                The && and || operators
                Making multiway choices: the case statement
                Generating a simple menu: the select statement
                Expanding the example: counting words
                Making menus
                Assigning variables default values
        Tuning script performance
        How programs perform
        How to control program performance
                Number of processes generated
                Number of data bytes accessed
                Shortening data files
                Shortening directory searches
                Directory-search order and the PATH variable
                Recommended ways to set up directories
        Putting everything together
                Readability analysis
                Extending the example
        Other useful examples
                Mail tools
                        Count the number of messages in MMDF mail folder
                        Print the header lines of every message in a folder
                        Mail a large file, in pieces
                File tools
                        Return the total size of a group of files
                        Compress a batch of files concurrently
                Useful routines
                        Locking files
                Context sensitive scripts

Regular expressions
        Literal characters in regular expressions
        Metacharacters in regular expressions
        Wildcard characters
        Editor regular expressions
                Escaping metacharacters
                Regular expression grouping
                Precedence in regular expressions
                Regular expression summary
        Korn shell regular expressions

Using awk
        Basic awk
                Program structure
                Running awk programs
                Formatting awk output
                Field variables
                Built-in variables
                User-defined variables
                Number or string?
                A handful of useful one-liners
        Error messages
                Using simple patterns
                BEGIN and END
                Relational operators
                Regular expressions
                Combining patterns
                Pattern ranges
                Performing arithmetic
                Using arithmetic functions
                Using strings and string functions
        Control flow statements
                if statements
                while statements
                for statements
                Flow control statements
                User-defined functions
                Some lexical conventions
        awk output
                The print statement
                Output separators
                The printf statement
                Output into files
                Output into pipes
                Files and pipes
                Input separators
                Multiline records
                Multiline records and the getline function
                Command-line arguments
        Using awk with other commands and the shell
                The system function
                Cooperation with the shell
        Spanning multiple lines
        Example applications
                Generating reports
                Word frequencies
                Random choice
                Shell facility

Manipulating text with sed
        What is sed?
        Using sed
                Writing sed commands
                How sed commands are carried out
                Line addresses
                Context addresses
                Whole-line oriented functions
                Substitute functions
                The transform function
                Input-output functions
                Multiple input-line functions
                Hold and get functions
                Flow-of-control functions
                Comments in sed
                Miscellaneous functions

An overview of the system
        Origins of the UNIX system
        The design of the UNIX operating system
                The applications level
                The system utilities
                System services
                The UNIX system kernel
        How multi-tasking works
                Memory management
                The UNIX system life cycle
        Understanding filesystems and devices
                Files and filesystems
                Device files
        How to think about system tools

vi commands

DOS command equivalents

Sample shell startup files
        The Bourne shell .profile
        The Korn shell .profile and .kshrc
        The C-shell .login and .cshrc

Further reading
                Learning awk
                Learning sed
                Learning the shells
                Learning the C programming language
                Understanding the UNIX system