Code Monkey home page Code Monkey logo

beroot's Introduction

BeRoot

Are you ready to unlock the full potential of the Linux command line? Your journey begins here!

BeRoot is your comprehensive guide to mastering the Linux Shell, designed to take you from a beginner to an advanced user. It's crafted with love for the Open Source community at Ain Shams University and the wider FOSS community.

No matter your skill level, BeRoot has something for you.

Table of Contents

Session 1

FOSS ❱ Closed Source Software
Paid Proprietary Software Freeware Source Available Software
❱ Free and Open Source Software (FOSS)
The FOSS Definition FOSS vs Free Software
❱ How do FOSS projects make money?
❱ Open Source History
❱ Types of open source licenses
Copyleft Licenses Permissive licenses
❱ Importance of Open Source
❱ OSS Examples
Introduction to Linux ❱ Introduction to Operating Systems
❱ GNU/Linux
❱ Linux Distribution Families
❱ What makes Linux great and why to use it?
❱ Installing software on Linux
❱ Get yourself a Linux Machine
❱ Dual Boot VS Live Boot VS Virtual Machine
Linux Desktop ❱ Linux Desktop
❱ Display Server
❱ Display Manager
❱ Desktop Environment
❱ Window Managers

Session 2

CLI & Linux File System ❱ The Shell
❱ Terminal vs Shell vs Prompt
❱ The Command Line Syntax
❱ File Systems
❱ Windows Directory Structure
❱ Linux File System Hierarchy
❱ Linux Virtual Top-Level Directories
❱ Navigating through the File System
❱ The . and .. Links
❱ Relative and Absolute Paths
❱ File Extensions in Linux
❱ Types of Files
❱ Command-line File Management
❱ Creating Directories
❱ Creating Files
❱ Copying Files & Directories
❱ Renaming & Moving Files
❱ Removing Files and Directories
❱ Useful Command-line Editing Shortcuts
❱ TAB Completion
❱ Continuing a long command on another line
❱ Command history
- - - - - - - - - - - - - - - - - - - - - - - - -
❱ Terminal Types
Virtual Console Pseudo Terminal (PTY) Serial Port Terminal
Environment & Startup Files ❱ Environment
❱ What Is Stored In The Environment?
Environment Variables Shell Variables Aliases Functions
❱ How Is The Environment Established?
❱ Shell Types and Difference Between Them
❱ Startup files
❱ How to make Environment configurations permanent?
❱ How to organize Environment configurations?
❱ For Your Knowledge
Explore Different Shells How to customize bash prompt

Session 3

Git ❱ What's Git?
❱ How To Save Changes?
❱ How To Undo Changes?
❱ How To Work With Branches

Session 4

GitHub ❱ Remote Repository
❱ Issues
 ❱ Labels
 ❱ Milestone
❱ Contributors
❱ Fork
❱ Pull Requests
❱ Releases
❱ Wiki
❱ Pages

Session 5

Simple Commands ❱ GETTING HELP
Man Pages Common Sections of the Linux Manual
Navigating Man Pages Searching for a Command What a command does
❱ Basic Command Syntax
❱ Bash Logical Operators
Logical AND Logical OR
Viewing Files ❱ cat Command
❱ less Command
❱ head & tail Commands
❱ file Command
Nano ❱ Opening and Creating Files
❱ Saving and Exiting
❱ Editing Files
❱ Customizing Nano (nanorc)
❱ Set Nano as the Default Text Editor
Creating Links Between Files ❱ Inode
❱ Inode Table
❱ What are Links?
❱ Creating Hard Links
❱ Deleting Links
Finding Files ❱ Find Command
❱ Locate Command
File Compression and Archiving ❱ gzip
❱ bzip2
❱ zip
❱ tar
Redirecting Output ❱ Unix Philosophy
❱ Standard Input, Standard Output & Standard Error
❱ I/O Redirection Examples
❱ Pipeline `|`
❱ Pipeline Examples
❱ Pipelines, Redirection, and the tee Command
❱ Pipelines, and the wc Command

Session 6

Files Permissions & Ownership ❱ Linux File Ownership
❱ Linux File Permissions
❱ Changing Permissions
❱ Changing Ownership and Group
Dealing with Users & Groups ❱ Superuser
❱ System User
❱ Regular User
❱ UID Ranges
❱ Group
❱ id Command
❱ /etc/passwd File
❱ /etc/shadow File
❱ /etc/group File
❱ Gaining Superuser Access
❱ sudo Command
❱ Switching Users su
❱ su vs. su -
❱ Sudo vs. Su
❱ Creating Users/Groups, Removing Users/Groups & Changing Passwords
❱ Why Not Just Use One Account?
❱ Creating Users "useradd"
❱ Setting/Changing Passwords "passwd"
❱ Creating Groups "groupadd"
❱ Add an Existing User Account to a Group "usermod"
❱ Removing Users "userdel"
❱ Removing Groups "groupdel"

Session 7

Shell Scripting ❱ Definitions
Shell Bash Shell Scripts Bash Process
❱ Shebang
❱ Script Execution
❱ Bash Parameters
❱ Bash Parameters
❱ Variables
❱ Scope of Variables
❱ Parameter Expansion
❱ The Difference between ' ' and " "
❱ Positional Parameters
❱ Special Parameters
❱ Arithmetic Expansion
expr Command let Command
❱ Taking Input from Terminal
Command Line Arguments read Command
❱ Shell Variable Types
Local Variables Global or Environment Variables Shell Variables
❱ Comments #
❱ Command Substitution
❱ If Statements
❱ Conditions
Comparing Numerical Variables Comparing String Variables Boolean Conditions File Conditions
❱ Case Statements
❱ Loops
For Loops While Loops Until Loops Break & Continue Statements
❱ Functions
Passing Arguments to a Function The Fork Bomb

Session 8

Boot Process ❱ The Boot Process
❱ BIOS Stage
❱ Boot loader Stage
❱ Kernel Stage
Kernel Initialization The Startup Process systemd

Session 9 & 10

Networking ❱ Introduction to computer networks
❱ Network Tools
ping traceroute ifconfig ip nmap dig wget & curl ssh

Session 11

Processes ❱ Processes
❱ Foreground and Background Processes
❱ Process Relationships
Parent Process Child Process Orphan Process Zombie Process
❱ ps Command
❱ Process States
Running Waiting Stopped Zombie
❱ Process Codes
❱ top Command
❱ htop Command
❱ Signals
❱ kill & killall Commands
❱ Change priority of a process
Package Managers ❱ Package Managers
❱ What is a Package
❱ Contents of Packages
❱ Package Dependencies
❱ Package Repositories
❱ How does the package manager work
❱ Functions of a Package manager
❱ Different kinds of package managers
❱ Architecture of Package managers
❱ Compile Source Code

Session 12

Text Processing ❱ Sort
❱ Cut
❱ Uniq
❱ tr
❱ paste
❱ Regex
❱ Grep
❱ Sed
❱ Awk
File Globbing ❱ Glob Patterns
❱ Basic Patterns
❱ Extended Globbing (extglob)
❱ Globstar
❱ Glob – Filename Pattern Matching vs. Regexp
❱ Exercises

Session 13

VIM ❱ What is Vim
❱ Why to learn VIM ?
❱ Installation
❱ VIM Modes

Session 14

Job Scheduling ❱ At
❱ Cron
❱ Crontab

Contribution

We encourage everyone to contribute to this guide and help make it even more comprehensive and valuable for learners. If you have any corrections, additions, or suggestions, feel free to submit a pull request.

beroot's People

Contributors

ahmedsiam0 avatar ahmedyasserm avatar ali-osama-ali avatar badr-1 avatar dimitry-bit avatar mostafa-farahat avatar muhammads25 avatar salmaalassal avatar tenafrangelos avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.