%%{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