Set-Ups

Published

2025-06-25

Caution

This section is being revised. Thank you for your patience.

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.

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

Running Virtual Machines

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
    

Using Shells

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
    

Using Terminals

See a typo, error, or something missing?

Please open an issue on GitHub.