Synopses & Reviews
Designed as one of the first true textbooks on how to use the UNIX operating system and suitable for a wide variety of UNIX-based courses, UNIX and Shell Programming goes beyond providing a reference of commands to offer a guide to basic commands and shell programming. Forouzan/Gilberg begin by introducing students to basic commands and tools of the powerful UNIX operating system. The authors then present simple scriptwriting concepts, and cover all material required for understanding shells (e.g., Regular Expressions, grep, sed, and awk) before introducing material on the Korn, C, and Bourne shells. Throughout, in-text learning aids encourage active learning and rich visuals support concept presentation. For example, sessions use color so students can easily distinguish user input from computer output. In addition, illustrative figures help student visualize what the command is doing. Each chapter concludes with problems, including lab sessions where students work on the computer and complete sessions step-by-step. This approach has proven to be successful when teaching this material in the classroom.
About the Author
Behrouz A. Forouzan has more than 32 years of electronics and computer science experience in industry and academia. His industry experience includes designing electronic systems. After leaving the industry, he joined De Anza College as a professor of computer science. In addition to this text, he has authored and co-authored nine other textbooks including: Computer Science: A Structured Approach Using C, Computer Science: A Structured Approach Using C++, and Data Structures: A Pseudocode Approach with C++.Richard F. Gilberg has more than 40 years of computer science experience in industry and academia. His industrial experience includes the development of large application systems, database administration, system testing, and data administration. After leaving the industry, he joined De Anza College as a professor of computer science. In addition to this text, he has also co-authored several others including Computer Science: A Structured Approach Using C, Computer Science: A Structured Approach Using C++, and Data Structures: A Pseudocode Approach with C++.
Table of Contents
PART I. 1. INTRODUCTION. Why Unix? Computer System. The UNIX Environment. UNIX Structure. Accessing UNIX. Commands. Common Commands. Other Useful Commands. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 2. BASIC vi EDITOR. Editor Concepts. The vi Editor. Modes. Commands. Two Practice Sessions. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 3. FILE SYSTEMS. Filenames. File Types. Regular Files. Directories. File System Implementation. Operations Unique to Directories. Operations Unique to Regular Files. Operations Common to Both. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions 4. SECURITY AND FILE PERMISSION. Users and Groups. Security Levels. Changing Permissions. User Masks. Changing Ownership and Group. Key Terms. Commands. Tips. Summary. Practice Set. Lab Sessions. 5. INTRODUCTION TO SHELLS. UNIX Session. Standard Streams. Redirection. Pipes. tee Command. Command Execution. Command-Line Editing. Quotes. Command Substitution. Job control. Aliases. Variables. Predefined Variables. Options. Shell/Environment Customization. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 6. FILTERS. Filters and Pipes. Concatenating Files. Display Beginning and End of Files. Cut and Paste. Sorting. Translating Characters. Files with Duplicate Lines. Count Characters, Words, or Lines. Comparing Files. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 7. COMMUNICATIONS. User Communication. Electronic Mail. Remote Access. File Transfer. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 8. vi AND ex. vi Editor. Local Commands in vi. Range Commands in vi. Global Commands in vi. Rearrange Text in vi. ex Editor. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 9. REGULAR EXPRESSIONS. Atoms. Operators. Key Terms. Tips. Commands. Summary. Practice Set. 10. grep. Operation. grep Family. Examples. Searching for File Content. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 11. sed. Scripts. Operations. Addresses. Commands. Applications. grep and sed. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 12. awk. Execution. Fields and Records. Scripts. Operations. Patterns. Actions. Associative Arrays. String Functions. Mathematical Functions. User-Defined Functions. Using System Commands in awk. Applications. awk and grep. sed and awk. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. PART II. 13. INTERACTIVE KORN SHELL. Korn Shell Features. Two Special Files. Variables. Output. Input. Exit Status of a Command. eval Command. Environmental Variables. Options. Startup Scripts. Command History. Command Execution Process. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 14. KORN SHELL PROGRAMMING. Basic Script Concepts. Expressions. Decisions: Making Selections. Repetition. Special Parameters and Variables. Changing Positional Parameters. Argument Validation. Debugging Scripts. Script Examples. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 15. KORN SHELL ADVANCED PROGRAMMING. Variable Evaluation and Substitution. String Manipulation. Here Document. Functions. Arrays. Signals. Built-in Commands. Scripting Techniques. Shell Environment and Script. Script Examples. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 16. INTERACTIVE C SHELL. C Shell Features. Two Special Files. Variables. Output. Input. Exit Status of a Command. eval Command. Environmental Variables. On-Off Variables. Startup and Shutdown Scripts. Command History. Command Execution Scripts. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 17. C SHELL PROGRAMMING. Basic Script Concepts. Expressions. Decisions: Making Selections. Repetition. Special Parameters. Changing Positional Parameters. Argument Validation. Debugging Scripts. Script Examples. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. 18. C SHELL ADVANCED PROGRAMMING. Variable Evaluation. String Manipulation. Here Document. Signals. Built-in Commands. Scripting Techniques. Shell Environment and Script. Arrays. Script Examples. Key Terms. Tips. Commands. Summary. Practice Set. Lab Sessions. Appendix A: ASCII Table. Appendix B: A Short History. Appendix C: emacs. Appendix D: Numbering Systems. Appendix E: Predefined Variables. Appendix F: UNIX Commands. Appendix G: Shell Metacharacters. Appendix H: Korn and C Shell Differences. Glossary.