This course is intended to teach those familiar with Microsoft Windows or other platforms the basics of the Unix operating system. The course teaches operating system fundamentals to enable a thorough understanding of the system, with the most emphasis on hands-on laboratory work.
UNIX Fundamentals
- A brief history of UNIX and Linux
- UNIX structure: shells, applications, and the kernel
- A brief history of shells
- Logging in
- Basic command structure
- Getting help in UNIX with man and info
- Navigating the filesystem
|
Managing Files
- File types in UNIX
- File properties
- Groups and users
- File access modes
- Changing file access modes and setting a default mode
- Working with directories
- Symbolic links
- Wildcards and shell globbing
- Manipulating plain files
- Viewing files
- Some file utilities: uniq, sort, cut, paste, and wc
|
Text Editing
- Available editors
- Starting vi
- Managing modes in vi
- Command mode basics
- Invoking insert mode
- Navigation commands
- Searching in vi
- Issuing ex commands
- Additional vi commands
|
Customizing the Shell
- Shell variables
- How strings are interpreted
- Double quotes and single quotes
- Advanced referencing
- Built-in shell variables
- Using and setting environment variables
- Defining aliases
- Setting options
- Command line editing and history
- Filename completion
|
Standard I/O
- The standard streams: in, out, and err
- Simple redirection
- Using pipes
- Additional redirection options
- Overwriting and the noclobber option
- Here documents
- The standard error stream
- Complex command forms
- Splitting a stream with tee
- Advanced redirections
- Reading input
|
Text Processing
- Pattern matching and regular expressions
- Metacharacters
- Search patterns
- Using grep
- When to use fgrep and egrep
- Replacement patterns
- Overview of sed
- sed command syntax
- Some useful sed commands and examples
- Overview of awk
- Built-in awk variables
- Some useful awk commands and examples
|
UNIX Processes
- Process ids and job numbers
- Background execution
- Basic job control
- Suspending processes
- Sending signals
- Handling and ignoring signals
- Coroutines
- Process synchronization
- Two-way pipes and asynchronous communication
- Sub-shells
|
|
This page is printer friendly.