Skip to content

Linux Guide

πŸ“š Absolute Basics - Start Here If You're New!

What is a Terminal or Command Prompt?

Quote

The terminal is an interface in which you can type and execute text-based commands. Command prompt is the name of the terminal in Windows, otherwise, it is pretty much the same.

The operating principles of command prompt (let’s use cmd from now on) and the terminal are the same, but various commands might not be. Although a lot of Home Lab related projects can run on Windows, it's advised, if possible to run on Linux or macOS due to Networking differences.

Note

From now on, I’ll refer to both command prompt and the terminal as β€œterminal” unless I am highlighting specific differences between the two.

How to use a Terminal

There are two main ways to use a Terminal.

  • Directly on the Host system
  • Via SSH from a Remote System

#️⃣ Terminal Applications

The basic Terminal on Linux and macOS should provide all the functionality you would need as a beginner, but as you advance you may find some features lacking and that's where changing out your Terminal can boost your productivity or fix certain issues you may have along the way.

This isn't an exhaustive list, but some of the common Terminal Alternatives available are:

Terminal Name Operating System Installation Notes
See Notes Built-in Default on many Distro's GTK3: gnome-terminal - KDE: konsole
ptyxis Default on Fedora
Alacritty See GitHub Repo Precompiled for macOS and Windows available
Guake sudo apt install guake
Kitty sudo apt install kitty
Terminator sudo apt install terminator
Tilix See GitHub Repo
Warp Download from site Affiliate Link
XTERM sudo apt install xterm
Terminal Name Operating System Installation Notes
Terminal Built-in Default
Alacritty , , See GitHub Repo Precompiled for macOS and Windows available
iTerm2 Download from site
Kitty sudo apt install kitty
Warp Download from site Affiliate Link
Terminal Name Operating System Installation Notes
Command Prompt Built-in Default
Alacritty , , See GitHub Repo Precompiled for macOS and Windows available
Warp Windows Version Coming 2025 Affiliate Link
Windows Terminal Download in Microsoft Store
Windows Terminal Preview Download in Microsoft Store

No matter what you use, while on the Terminal, please don't blindly copy and paste commands you find on the internet... take some time to understand what you're trying to do. It's a lot easier to help someone that makes a simple typo than it is if the user accidentally formats their entire computer. πŸ˜‰

How to Copy/Paste in Terminal

Different Terminals have different ways of handling this and it even differs if you're on the Host or connected via SSH. The first thing to try is the normal shortcuts:

  • Ctrl C OR Cmd C for Copy
  • Ctrl V OR Cmd V for Paste

If the above doesn't work, the next thing to try is:

  • Ctrl Shift C OR Cmd Shift C for Copy
  • Ctrl Shift V OR Cmd Shift V for Paste

Another common way is to Right-Click for Paste

Understanding file paths and directories

You'll see many tutorials asking you to navigate around the system so there's a few quick things you should become familiar with.

On Linux and macOS, the Home Directory (sometimes called $HOME and often referred to as ~) is usually located at /home/<username> for Linux and /Users/<username> for macOS.

In many cases, especially for navigation you can use the shortcut of ~ with no issues, but you shouldn't use it in a docker-compose.yml file for example. Instead you would use the Absolute Path. You can find this with the command echo $PWD (which stands for "Print Working Directory")

Since a lot of HomeLab projects are Docker based, we recommend to keep everything organized by creating a singular folder (example: ~/docker) and you create your project folders inside of that.

Bash
~/docker
  β”œβ”€β”€ diun
  β”œβ”€β”€ dockge
  β”œβ”€β”€ <etc>

🐧 Linux Fundamentals

What is the difference between Desktop & Server Versions?

Desktop Linux is designed for everyday personal computer use - it comes with a graphical interface (GUI) that lets you click on things, browse the web, and use your computer just like Windows or Mac. It includes everyday software like web browsers, office programs, and media players, making it perfect for regular computer tasks.

Server Linux is built for running services and doesn't include a graphical interface by default - everything is controlled through text commands. It's stripped down to use fewer resources and runs without unnecessary programs, focusing instead on reliability, security, and the ability to run services (like websites or game servers) efficiently. While you can add a graphical interface to Server versions later, most people run them completely through command-line interface, often managing them remotely from another computer.