Unix Users's Guide


Permission to use, copy, modify and distribute the Unix User's Guide for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies.


Table of Contents

1. Introduction to Unix
1.1. Aw, Man... I have to Learn a Another Operating System?
1.2. What is Unix?
1.3. Self-test
1.4. Unix User Interfaces
1.5. Still Need Windows? Don't Panic!
1.6. Logging In Remotely
1.7. Unix Command Basics
1.8. Basic Shell Tools
1.9. Processes
1.10. The Unix File system
1.11. Unix Commands and the Shell
1.12. Unix Command Quick Reference
1.13. POSIX and Extensions
1.14. File Transfer
1.15. Environment Variables
1.16. Shell Variables
1.17. More Shell Tools
1.18. Process Control
1.19. Running a Desktop Unix System
1.20. Software Management
1.21. Advanced: Enabling Remote Graphics
1.22. Advanced: Running Multiple Operating Systems
1.23. Where to Learn More
2. Unix Shell Scripting
2.1. What is a Shell Script?
2.2. Scripts vs Programs
2.3. Why Write Shell Scripts?
2.4. Which Shell?
2.5. Writing and Running Shell Scripts
2.6. Shell Start-up Scripts
2.7. Sourcing Scripts
2.8. Scripting Constructs
2.9. Strings
2.10. Output
2.11. Shell and Environment Variables
2.12. Hard and Soft Quotes
2.13. User Input
2.14. Conditional Execution
2.15. Loops
2.16. Generalizing Your Code
2.17. Functions and Calling other Scripts
2.18. Alias
2.19. Shell Flags and Variables
2.20. Arrays
2.21. Good and Bad Practices
2.22. Here Documents
2.23. Common Unix Tools Used in Scripts

List of Figures

1.1. Sample of a Unix File system
1.2. Windows as a Guest under VirtualBox on a Mac Host

List of Tables

1.1. Partial List of Unix Operating Systems
1.2. Default Key Bindings in some Shells
1.3. Globbing Symbols
1.4. Special Directory Symbols
1.5. Common hot keys in more
1.6. Unix Commands
1.7. Common Extensions
1.8. Standard Streams
1.9. Redirection Operators
1.10. Pipe Operators
2.1. Conventional script filename extensions
2.2. Shell Start Up Scripts
2.3. Printf Format Specifiers
2.4. Special Character Sequences
2.5. Test Relational Operators
2.6.
2.7. C Shell Relational Operators
2.8. Shell Conditional Operators
2.9.

List of Examples

1.1. White space in an Argument
1.2. Pushing data with rsync
1.3. Pulling data with rsync
1.4. Simple Pipe
1.5. Filters
2.1. A Simple Bash Script
2.2. A Simple T-shell Script