Explore the concepts of Linux, system administration, and cloud infrastructure.
Kernel vs OS: The Kernel interacts directly with hardware. Distributions (Ubuntu, Arch, RHEL) bundle the kernel with tools (GNU) and UI (XFCE, GNOME) to make an OS.
Everything is a file: In Linux, hardware devices, processes, and sockets are treated as files (e.g., /dev/sda is a hard drive).
Root (/): The top of the filesystem tree. There are no drive letters.
GUI (Graphical User Interface): Visual elements like windows, icons, and buttons (like this simulated desktop). Great for everyday tasks and visual tools, but consumes more system resources.
CLI (Command Line Interface): Text-based interaction (like the Terminal). It is extremely lightweight, heavily automatable via scripts, and is the standard way to manage Linux servers globally.
Services (systemd): Modern Linux uses systemd to manage services. Use systemctl start/stop/status [service] to control daemons.
Logs: Critical for troubleshooting. Stored in /var/log. Use journalctl -xe to see systemd logs.
Package Managers: Tooling to install software safely. Debian/Ubuntu uses apt, Red Hat uses dnf/yum, Arch uses pacman.
SSH (Secure Shell): Standard for remote server management. Uses port 22. Relies heavily on public/private key pairs (~/.ssh/id_rsa) for passwordless, secure logins.
Containers (Docker): They isolate applications. Unlike VMs, containers share the host's kernel using Linux features like Namespaces (isolation) and cgroups (resource limiting).
Scaling: Using tools like Nginx or HAProxy to load-balance traffic across multiple Linux servers to handle massive web traffic.
Linux permissions define who can Read (4), Write (2), or Execute (1) a file. Check the boxes to calculate octal and symbolic modes.
| Command | Description |
|---|---|
cd | Change directory (e.g., cd /var/log) |
ls | List directory contents (-l for details, -a for hidden) |
pwd | Print working directory (current path) |
mkdir | Create a new directory |
touch | Create an empty file or update timestamp |
cat | Concatenate and display file contents |
echo | Print text to terminal or write to files |
grep | Search text for matching patterns |
awk / sed | Advanced text processing and manipulation |
tar | Archive files (e.g., tar -czvf archive.tar.gz /folder) |
find | Search for files in a directory hierarchy |
systemctl | Manage systemd services (start, stop, status) |
journalctl | Query systemd logs (e.g., journalctl -xe) |
df | Report file system disk space usage (-h for human-readable) |
du | Estimate file space usage (-sh for summary) |
chmod | Change file permissions |
chown | Change file owner and group |
sudo | Execute a command as superuser |
Root (Superadmin/Superuser): The omnipotent user in Linux. Root has absolute power to modify system files, install software, and manage all users. Due to security risks, you rarely log in directly as root.
Standard User: Restricted access. They can only modify their own files (usually in /home/username) and run non-administrative programs.
Every file/directory is owned by a User and a Group. If you are not the owner, your access falls under the "Public/Others" category. This strictly isolates data between different users on the same server.
sudo CommandStands for "Superuser DO". It allows a permitted user to execute a command as the superuser (root). It temporarily elevates your privileges for a single command, requiring your password to confirm identity.
$ sudo apt install nginx