Description
In this course, you will :
- Learn about the operating system from the ground up.
- Learn the fundamentals of Bash.
- Discover how to use the Bash commands in a shell.
- Investigate the benefits of Bash scripts.
- Learn how to use bash scripts to automate your daily tasks.
Syllabus :
1. Introduction
- Who Is This Course For?
- Hurdles in Learning
- An Insight on Existing Learning Material
- Why This Course?
2. Origins of the OS
- Operating Systems
- Electromechanical Computer
- Relay Computers
- Electrical Computers
- OS in Commercial Computers
3. Operating Systems
- How the OS Works
- Application Programming Interface
- Computer Devices
- OS Features
- Multitasking
- Multiprogramming
- GUI: An Overview
- GUI: TTY and CLI
- GUI: TUI and Xerox
- OS Versions
- OS: Windows
- OS: Linux
4. Application
- Computer Program
- Levels of Computer Memory
- Machine Code
- Source Code
- Compiler
- Interpreter
5. Bash Shell
- Development Tools
- Command Interpreter
- Command-line Interface
6. File System
- Directory Structures
- File System Navigation Commands
- Command pwd
- The ls Utility
- The mount Utility
- Command cd
- Command history
- The find Utility
- Using Glob Pattern with the find Utility
- Advanced Usage of the find Utility
- Logic Expressions
- The grep Command
- echo and grep
7. Command Information
- Man Page System and Command help
- Info System and Brief Help
8. Files and Directories
- Actions on Files and Directories
- The mkdir Utility
- The rm Utility
- The cp and mv Utilities
- Exercise: Commands
- File System Permissions
- Unix Permissions
- File Execution
- Installing and Running Applications in Bash
9. Bash Extra Features
- Unix Design Philosophy
- GNU Utilities
- I/O Redirection
- Pipelines
- Advanced Pipeline Example
- Limitations of the find Utility
- The xargs Utility
- Pipeline Pitfalls
- Logical Operator AND
- More on Operators
- Combining Commands
10. Scripts Features
- Why Do We Need Scripts?
- Backup Command Example
- Verifying the Backup Command
- Poor Technical Solution
- Using Bash Script
- Commands Sequence
- Script Parameters
- Script with Other Commands
11. Variables and Parameters
- What are Variables?
- Classification of Variables
- Declaration Mechanism: User-Defined Variables
- Bash Expansions
- Exercise: Writing a Bash Script
- Declaration Mechanism: Internal Variables
- Declaration Mechanism: Special Parameters
- Scope: Environment Variables
- Scope: Local Variables
- Type Systems
- Content Type: Variable Attributes
- Declaring Variables with Attributes
- Composite Type: Indexed Arrays
- Using Indexed Arrays
- Composite Types: Associative Arrays
12. Conditional Statements
- If Statement
- If-else Statement
- Exercise: If Statement
- The [[ Operator
- Advanced Features of the [[ Operator
- Operator [[ and Integers
- Case Statement
- if and case Statements
- Exercise: Case Statement
- Alternative to the Case Statement
13. Arithmetic Expressions and Operations
- Integer Representation
- Sign-magnitude Representation
- One's Complement
- Two's Complement
- Converting Numbers
- The (( Operator
- Operations in the Arithmetic Expressions
- Arithmetic Operations
14. Bitwise Operations
- Bitwise negation
- Exercise: Bitwise NOT
- Bitwise AND, OR and XOR
- Exercise: Bitwise AND, OR, and XOR
- Bit Shifts
- Changing Byte Order Using Bitwise Operations
- More on Using Bitwise Operations
15. Logical Operations and Increments
- Logical Operations
- Increment and Decrement
- Ternary Operator
16. Loop Operators
- Loop Constructs
- While Statement
- Infinite Loop
- Reading a Standard Input Stream
- Script for Managing the Contacts
- For Statement: The First Form of For
- Files Processing
- For Statement: The Second Form of For
- Controlling the Loop Execution: break
- Controlling Loop Execution: continue
- Exercise: Loop Constructs
17. Functions
- Programming Paradigms
- Using Functions in Shell
- Functions and Aliases
- Difference Between Functions and Aliases
- Using Functions in Scripts
- Returning a Function Result
- Variable Scope
- General Recommendations on Functions
18. Package Manager
- Repository
- Operating on Packages
19. Bash Scripts Tools
- Tools Needed for Bash
- Source Code Editor
- Launching the Editor
- Background Mode