%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "fontSize":"16px"}}}%%
flowchart TD
VM("Virtual Machine")
Linux("Linux Distro 🐧")
HostSystem{"Host<br>Operating<br>System"}
CPU("Virtual CPU")
RAM("Virtual RAM 🧠")
Disk("Virtual Disk 💽")
HostSystem-->VM
VM-->Linux
VM-->CPU
VM-->RAM
VM-->Disk
style HostSystem fill:#fefefe,font-size:16px,stroke:#000,stroke-width:1px,rx:3,ry:3
style VM fill:#,font-size:15px,stroke:#000,stroke-width:2px
style Linux fill:#fefefe,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style CPU fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style RAM fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style Disk fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
Set-Ups
This section details the practical aspects of preparing your environment to work with a Linux system. We’ll cover options for setting up a virtual machine and working with shells and terminals.
Virtual Machines
Virtual Machines are software-based emulations of a physical computer that allow users to run Linux distributions in an isolated environment, utilizing virtualized hardware resources from the host system.
This chapter covers virtualization software options, various Linux distributions, and provides an example of setting up Ubuntu on VirtualBox.
Shells
Shells are the command-line interpreters that allow users to interact with the operating system by executing commands and running scripts.
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "fontSize":"16px"}}}%%
flowchart TD
Shell["Shell"]
Shell --> Exec("Executes Commands")
Shell --> Script("Runs Scripts")
Exec --> OS["Host Operating System"]
Script --> OS
style Shell fill:#fefefe,font-size:14px,stroke:#000,stroke-width:2px,rx:3,ry:3
style Exec fill:#fefefe,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style Script fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style OS fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
Terminals
Terminals are text-based interfaces that allow users to interact with the operating system by entering commands directly.
%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "fontSize":"16px"}}}%%
flowchart TD
User[User] --> Term["Terminal<br>Emulator"]
Term --> Shell["Shell<br>(Command<br>Processor)"]
Shell --> Prog["Other Programs"]
Shell --> Out["Returns Output"]
Prog --> Out
style User fill:#,font-size:16px,stroke:#000,stroke-width:1px
style Term fill:#fefefe,font-size:14px,stroke:#000,stroke-width:2px,rx:3,ry:3
style Shell fill:#fefefe,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style Prog fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3
style Out fill:#efefef,font-size:14px,stroke:#000,stroke-width:1px,rx:3,ry:3