Pods for Certs
Master the Certifications. Build the Career.
Studying for an IT certification can feel overwhelming. Hundreds of pages of study material, countless technical concepts, and limited time to fit it all into a busy schedule.
That's where this podcast comes in.
Each episode takes a focused section of an industry-recognized certification exam and transforms it into a practical, engaging discussion designed to help you learn smarter. Instead of trying to absorb an entire certification at once, you'll tackle one exam objective at a time—making it easier to understand, retain, and apply what you're learning.
From CompTIA A+, Network+, and Security+ to Linux Essentials, cloud technologies, networking, cybersecurity, and beyond, every episode is built around the official exam objectives published by the certification providers themselves. You'll get targeted coverage of the topics employers value and certification exams demand.
Whether you're studying during your commute, listening between projects, reinforcing classroom training, or preparing for exam day, this podcast helps you turn spare moments into productive learning opportunities.
No unnecessary fluff. No endless theory. Just focused, certification-aligned content designed to help you gain confidence, strengthen your technical knowledge, and move one step closer to your next certification.
If your goal is to break into IT, advance your career, increase your earning potential, or stay current in a rapidly changing technology landscape, subscribe now and start learning one objective, one episode, and one certification at a time.
Your next certification starts here.
Pods for Certs
Linux Essentials Topic 4: Linux OS Hardware, Filesystems, and Networking
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
The guide(s) referenced in this material can be found at the following link: https://www.etsy.com/shop/MountainRangeMedia
15% off at the shop on orders $25 or more! https://mountainrangemedia.etsy.com?coupon=MRMPODS15
New episodes release every Wednesday!
This study guide provides a comprehensive overview of the fourth section of the Linux Essentials certification exam, focusing specifically on how the operating system functions. The text compares Linux to other platforms while explaining the system life cycle and technical differences between graphical and command-line interfaces. It details how the software interacts with computer hardware, specifically outlining how storage disks are named and managed within the directory structure. Additionally, the source clarifies the organization of system data, including essential locations for configuration files, logs, and active processes. Finally, the guide covers fundamental networking concepts, teaching students how to identify IP addresses and manage internet connectivity using modern terminal commands.
Intro & Outro info:
Music Licensor's Username: paulyudin-27739282
Licensee: u_x32f6b3u3b
Audio File Title: Tech Corporate
Provided courtesy of: https://pixabay.com
Voice provided courtesy of: venice.ai voice - Callum
Podcast audio hosts provided courtesy of: Notebook LM
Disclaimer
Mountain Range Media is an independent publisher of educational content and is not affiliated with, endorsed by, or sponsored by the Linux Professional Institute (LPI), CompTIA, Anthropic, Google, OpenAI, Etsy, or any of their products, services, certification programs, or platforms. References to third-party trademarks, certifications, products, and services are for identification and educational purposes only and remain the property of their respective owners. All content reflects the views of Mountain Range Media alone. Use of these materials does not guarantee passing any examination, earning any certification, obtaining employment, or achieving any particular result.
Imagine an operating system where um a physical spinning hard drive made of magnetic metal, an active fiber optic connection to Tokyo, and like a microscopic slice of live memory are all treated exactly the same way. Right, as simple text files. Exactly. As simple text files. You don't need any uh proprietary software to interact with them. You don't need hidden registry keys or anything. You just open a file, read it, or write to it. Yeah, it really is a radical departure from how most people interact with technology today. I mean, we are moving from the realm of just clicking icons and blindly trusting the machine to actually opening up the hood. Taking the whole engine apart, really. Trevor Burrus, Jr. Yeah, taking it apart and understanding the raw plumbing of the cloud. Well, welcome back to the deep dive, everyone. This is the fourth deep dive in our special five-part series, and it's designed specifically for you, the listener, who is putting in the hours right now to study for and pass the Linux Essentials exam, specifically exam code 010-160. And today is entirely focused on exam topic four, which is Linux operating system. Which is huge. Let's establish the stakes right up front here because this isn't just some minor piece of trivia. This single topic carries a weight of eight out of the 40 questions on your exam. Yeah, that is 20% of your entire score, just sitting right here in the concepts we're about to unpack. It's massive. And we're using the in-depth study guide workbook V1.0 by Mountain Range Media as our roadmap today. It's the core of the certification for a reason, you know? I mean, if you want to work in systems administration or cloud engineering or uh cybersecurity, you can't just be a passenger. You have to be the mechanic. Right. You need to understand how the software actually talks to the physical metal, how that metal stores data, and then how that data is ultimately blasted out across the network. Exactly. So where should we start? Well, let's start with the very first decision any technologist makes before they even touch a server, choosing the operating system environment. Ah, yes. The landscape. Right. We have the big three operating systems out there. And to truly understand why Linux dominates the back end of the internet, we kind of need to understand what it isn't. So first up, we have Windows. Right. Windows is like the quintessential proprietary operating system. Microsoft owns the code, they compile it, lock it down, and they sell you a license to use the finished product. So it's a closed box. Yeah, entirely. You cannot peek under the hood to see how the engine was designed, let alone modify it. But you know, it commands a massive share of the desktop market and the PC gaming market. Trevor Burrus, Jr. Largely because of its historical dominance and its focus on the graphical user interface, the GUI. Exactly. You trust the manufacturer and just use the mouse. Then on the other hand, there's macOS, which powers Apple's laptops and desktops. And this is actually a really interesting hybrid. Because it's also a closed proprietary system, right? But it has a very different lineage under the hood. It does. Underneath that super polished Adle interface, Mac OS is actually Unix-based. So it shares a lot of philosophical DNA with Linux, actually. Oh, wow. I didn't realize they were that closely related. Yeah, they are. But the defining characteristic for our purposes for the exam is hardware exclusivity. Apple's proprietary OS is legally and technically engineered to run exclusively on Apple's proprietary hardware. Right. You buy the whole ecosystem, you can't just slap Mac OS on a random Dell server. Exactly. Which brings us to the start of the show, Linux. Linux, it just flips the entire proprietary model on its head, doesn't it? It really does. It is fundamentally free and it is open source. Anyone in the world can look at the raw code, they can modify it, improve it, and distribute it. And because it isn't chained to a specific corporate hardware manufacturer, it can run on virtually anything, right? That ubiquitous nature is exactly what you need to remember for the exam. You can run Linux on a massive array of supercomputers processing like climate models. You can run it on the cloud servers streaming this audio to you right now. Or even on a tiny embedded chip inside a smart thermostat. Yeah, exactly. But because it's open source, it's not a single product you buy in a shrink-wrapped box. And I know this is a concept that constantly trips up beginners. Oh, definitely. We really have to draw a hard line here between the kernel and a distribution. Yeah, it is the most fundamental architectural difference between Linux and Windows. The kernel is the absolute core program of the operating system. Its singular, highly privileged job is to talk directly to the physical hardware. So it manages the CPU, it manages the memory, it talks to the hard drives. Right. But the kernel by itself is just raw potential. I mean, you can't just boot up a bare kernel and start typing an email. Okay, let's use an analogy here because I think that helps. The kernel is like a car's engine. It's the beating heart, it generates the raw power, it interfaces with the physics of combustion and torque. Right, but you can't just sit on a V8 engine and drive it down the highway. Exactly. You need a steering wheel, a transmission, a dashboard, seats, and, well, a chassis. The engine alone is totally useless to the driver. So different organizations or communities of developers, they take that core Linux engine, the kernel, and they build an entire car around it. And they add different user interfaces, different package managers, different default software applications. Yes. And that completely packaged car is what we call a Linux distribution or a distro. So if I'm a developer who wants a really flashy, user-friendly desktop experience, I might choose a distribution like Ubuntu, right? Or Linux Mint. Yeah, because those come pre-packaged with beautiful graphical interfaces, web browsers, and media players out of the box. But if I'm setting up a back-end database server for a major bank, I don't want any of that flashy stuff. I want a stripped-down, rugged delivery truck of an OS. Exactly. For that, you might choose a distribution like Red Hat Enterprise Linux or maybe Debian. Those are configured purely for heavy-duty server performance, usually without any graphical interface at all. But they all share the exact same underlying Linux engine, the kernel. Yes. The vehicle built around it is just tailored for a highly specific use case. Now, once you pick your distribution, you have to decide what specific version of it you want to install. Because software is constantly evolving. And the way distributions release updates is heavily tested on the exam. Very heavily tested. You need to know the distinction between beta and stable releases, and especially this concept of LTS. The release cycle kind of dictates your risk tolerance, right? Like what is a beta release exactly? A beta release is a preview build. It contains the absolute bleeding edge features the developers just finished writing. But because it's brand new, it hasn't been subjected to years of real-world punishment. Right. It might have a memory leak, it might crash under heavy load. And as a system administrator, your absolute worst nightmare is your server crashing at 3 a.m. because you just had to have the newest version of a text editor. Yeah, you do not want that phone call. So for production, meaning the servers that actually run the business, you wait for the stable release. Okay. So stable means the software has been thoroughly tested, the known bugs have been squashed, it's reliable. It is reliable. But for enterprise environments, even a standard stable release changes too frequently. This is where LTS comes in. LTS, which stands for long-term support. Why is LTS such a massive deal? I mean, if stable is already bug-free, why do we need a separate category? It really comes down to predictability and dependencies. If you're managing a fleet of, say, a thousand cloud servers, you do not want the underlying software libraries changing every six months. Because even if the new version is stable, a changed feature might just completely break the custom code your company wrote. Exactly. An LTS release is a specific version where the developers make a concrete promise. They promise they will not introduce any new major features for a set period, usually five to ten years. So the software essentially freezes in time. Functionally, yes. But they do promise to continuously backport critical security patches and minor bug fixes to that frozen version. Oh, I see. So you trade the newest, shiniest features for half a decade of rock solid, secure predictability. Yeah, and that makes LTS the optimal professional choice for virtually all server deployments. Okay, so we've chosen our stripped down server-focused distribution. We've selected the LTS version for maximum stability. The next major hurdle is how we actually interface with it. The GUI versus the CLI. Right. The graphical user interface versus the command line interface. Now, Windows and Mac OS are entirely built around the GUI, clicking, dragging, visual menus. Linux obviously supports GUIs, but in the server world, the CLI is absolutely revered. Why do we abandon the mouse? Because a graphical user interface is incredibly expensive in terms of computer resources. How so? Well, to draw a desktop, render the fonts, calculate the drop shadows under the windows, and track the X and Y coordinates of a mouse cursor 60 times a second. The system has to run massive software packages like a display server. Right, and on a personal laptop, you have plenty of RAM and CPU to spare for that. But on a cloud server, your only job might be serving a massive database to thousands of users simultaneously. Every single megabyte of RAM spent drawing a pretty graphical desktop that nobody is even looking at is a megabyte stolen from your database's performance. It's just pure overhead. It's like leaving the air conditioning running on full blast in the back of an empty delivery truck. It's just burning fuel for absolutely no reason. Precisely. So the command line interface, the CLI, strips all of that away. It is pure raw text. You type a command, the kernel executes it, and it spits text back at you. It is incredibly lightweight. But resource efficiency is only half the story, right? The real power of the CLI is programmatic automation. Because you can't easily script a mouse. Exactly. If you have to configure a hundred servers, you cannot manually remote into each one, click the start menu, open a control panel, and check a box. It would take weeks. But with the CLI, because everything is just test commands, you can write a simple script, literally just a text file containing a list of commands, and execute it across 10,000 servers simultaneously in a matter of seconds. Wow. So the CLI is basically the fundamental enabler of cloud scale. It really is. It's why Linux runs the cloud. That makes total sense. Automation requires text, not clicks. So we've established the software landscape. We know why the Linux kernel, wrapped in an LTS distribution and driven via the command line, is the tool of choice. But this software is just ghosts in the machine until we have the physical metal for it to run on. Right. So let's transition from the code down to the silicon. The kernel's entire job is to talk to hardware. So we need to know exactly what hardware is sitting in that server rack. And for objective 4.2, the exam expects you to be completely fluent in the primary physical components of a computer. You need to know not just what they are, but how they interact with each other and with the operating system. Okay, let's strip the server down to the studs. The foundation of the entire system is the motherboard. It's the massive printed circuit board that everything else plugs into. Yeah, it's the central nervous system providing the physical pathways, the buses for data to travel between the components. And sitting right in the center of that motherboard is the CPU, the central processing unit. The brain. Right. And it doesn't store anything long-term, does it? Its only job is to execute mathematical instructions and logical operations at billions of cycles per second. Exactly. But to do that math, the CPU needs a workspace. It needs somewhere to hold the numbers it's currently calculating. Which brings us to RAM. Random access memory. Now, when we study RAM for this exam, the most critical concept to internalize is that RAM is volatile working memory. Let's really dig into what volatile means here, because it's a favorite topic for certification tests. Volatile memory requires continuous electrical current to maintain its state. Inside a RAM stick, data is essentially stored in microscopic capacitors that hold an electrical charge. So if you cut the power, those capacitors drain almost instantly. Right. All the ones and zeros just evaporate. So just to be clear, if you are editing a critical configuration file and it's currently loaded into RAM and someone trips over the server's power cord, it is gone. There is no getting it back. It is gone forever. RAM is incredibly fast because it's wired directly to the CPU, but it has absolutely no permanence. Which is why we require persistent storage. The hard disk drive, the HDD, or the solid state drive, the SSD. This is where your operating system, your logs, and your databases live permanently. Because they retain data even when the power is completely disconnected. And the distinction between HDD and SSD is mechanical, right? Yeah, an HDD actually has physical magnetic platters spinning around at thousands of RPMs, with a little robotic arm moving back and forth to read the magnetic states. Like a really fast record player. Exactly. Whereas an SSD has absolutely no moving parts. It uses NAND flash memory gates. It's vastly faster because you aren't waiting for a physical disk to spin into position. Okay, so rounding out the physical box, we have the power supply unit, the PSU, which takes alternating current from your wall outlet and steps it down into the precise direct current voltages the delicate motherboard components require. And finally, you have peripherals. That's anything external plugged into the system, like keyboards, external drives, or network cards. But here's the critical gap. I have a physical silicon CPU, and I just plugged a brand new, highly complex 3D printer into a USB port. The Linux kernel, which was written years ago, has no idea what this specific 3D printer is or what electrical signals it requires to move its mechanical arms. How do they talk? They need a translator. And that translator is called a driver. A driver. So it's a piece of software. Yes. A driver is a specific piece of software that knows how to speak the exact proprietary language of that specific piece of hardware. It sits right between the kernel and the device. So when the operating system wants to print a document, it sends a generic print command to the driver. Right. And the driver translates that generic command into the specific electrical impulses that the hardware actually requires to move. Okay. So we have the physical metal and we have the drivers translating for the kernel. But here is where Linux does something truly mind-bending. This is one of my absolute favorite concepts in all of computing, and it is a massive paradigm shift if you are coming from Windows. Oh, you're talking about the file philosophy. Yes. It's the philosophy that everything in Linux is represented as a file. It is a profound, unifying architectural decision. In other operating systems, hardware is treated as a mysterious, untouchable object managed by hidden background processes. But in Linux, the kernel creates special files that directly represent your physical devices. And it organizes all of these device files in a specific directory called dev. Dev standing for devices. So wait. If I plug a physical hard drive into the motherboard, Linux literally creates a text file inside the dev directory to represent that spinning metal platter. Yes, it creates what is called a block device file. Let me make sure I am fully grasping the implications of this. You're saying that by abstracting a piece of physical hardware into a file, an administrator can interact with the physical hard drive using the exact same standard text manipulation commands they would use to edit a grocery list. That is the brilliance of it. If you have the right administrative permissions, you can literally stream raw binary data directly into that device file in the dev directory. And the kernel will translate that action into physically writing magnetic bits onto the hard drive platter. You don't need a special proprietary hard drive manager program. Nope. You just need to know how to write to a file. It unifies the entire operating system interface. That is incredibly elegant. But because this dev directory is so powerful, the exam heavily tests your ability to understand exactly how Linux names these hardware files. Let's walk through the naming convention meticulously. If I rack a new server and plug in the very first SATA hard drive, what does Linux name that file? For almost all modern storage so SATA drives, SCSI drives, or even USB flash drives, Linux uses the prefix SSD. The very first physical disk the system detects during the book process will be named DevSda. DevSDA. The SDID stands for SCSI disk historically, and the A signifies it's the first one, so it's alphabetical. Correct. If you plug in a second physical hard drive, the kernel will generate a new file named DevSDB. And a third physical disk would be DevS DC. Exactly. The letter always, without exception, identifies the entire physical metallic disk. Okay, but let's push back on the practical application of this. I have a massive two-terabyte hard drive, DevSDA. I almost never want to format the entire physical disk as one giant bucket. I usually want to chop it up. Right, to separate things. Yeah, maybe I want the operating system on one section and user data on another section. So if the user data fills up completely, it doesn't crash the OS. We call those logical divisions partitions. So how does Linux name the partitions if the letter A is already taken by the physical disk? This is where the numbering system comes into play. The letter represents the physical disk, and the number represents the logical partition on that disk. So if devsda is your first physical disk, the first partition you carve out of it will be named devsda1. And the second slice, that same physical disk would be devsda2. Precisely. Okay, let's test this. If you are looking at a system and you see a file named devs DC3, what exact piece of storage are you looking at? Well, breaking it down, SDD means it's a storage disk. Okay. C is the third letter of the alphabet, so it's the third physical hard drive plugged into the motherboard. And the filter. The three means it's the third logical partition on that specific drive. That is exactly the logic you need for the exam. You will almost certainly be presented with the device name and asked to identify what it represents. Yeah, it's a very common question format. So we know how they are named, but if I log into a server blind, how do I actually map out the storage? I don't want to just blindly guess if Dev'sDB exists. We need tools to interrogate the hardware. We use list commands. The prefix LSS in Linux universally stands for list. The most important one for storage is LSBLK, which stands for list block devices. What happens when I run SBLK? Because raw output can sometimes be really overwhelming. LSB Elk is actually incredibly user-friendly. It prints out a visual, tree-like structure right in your terminal. Yeah. You'll see DevSda at the top level showing its total physical size. And then branching out underneath it, you'll see NISDA1 stay two showing the size of each individual partition. It instantly gives you a topographical map of your entire storage layout. It's the ultimate you are here map for your hard drives. Now what about hardware that isn't storage? What if I need to know what network cards are installed? For devices plugged into the motherboard's expansion slots, you use LCI. This lists all the PCI bus devices. So it will detail your graphics cards, your network interface controllers, and hardware RAID controllers. Exactly. And if I plug something into the outside of the case, like a USB. Then you run Elsys. It pulls the universal serial bus and lists every device attached from your keyboard to an external web camera. So between LSBLK, LSSPII, and LSIST, you have total visibility into the physical metal of the machine. You really do. Okay, so the hardware is mapped out as files in the dev directory, but dev is just one tiny corner of the operating system. When a Linux machine boots up, it has to organize thousands of software packages, configuration rules, system logs, and user passwords. It can't just throw them all into one giant folder. The file system has to have a rigid structure. And that brings us to objective 4.3, part one, the anatomy of the Linux directory tree. This specific topic is heavily weighted on the exam. You cannot just sort of know this. You need absolute certainty. Right, because the Linux file system is standardized, meaning whether you are running Ubuntu, Red Hat, or some obscure security distribution, the core directories are always in the same place and serve the same purpose. I've always conceptualized the Linux file system as a massive, highly regulated corporate office building. Oh, I like that. Let's walk through it. You walk in the front door, which in Linux is the root directory, represented by a simple forward slash. And from there, every department has its own highly specific floor. Let's walk through the critical directories and see how the corporate analogy holds up. Let's start with the most important administrative directory, et cetera. It's spelled ETC. Historically it stood for, etc., but its function today is the absolute core of the system. It is the location for all system-wide configuration files. Yes. In our corporate office building, et cetera, is the compliance and human resources department. It's where the massive binding corporate policy manuals are kept. So if you want to change the rules of the building, say dictating that user passwords must be 12 characters long or changing the IP address of the server, you don't write a new program. No, you go into the Et cetera directory, you open a plain text file, change a rule, and save it. It dictates the behavior of the entire environment. The corporate policy rulebook works to a point, but we have to stress that et cetera is far more rigid. If you misspell a single word in a corporate manual, employees can still infer what you meant. But if you make a typo in a critical network configuration file inside et cetera, the entire server might just drop off the network and refuse to boot. It is completely unforgiving. Point taken. The rules are absolute. Okay, next up we have varlog. The var directory stands for variable data things that change constantly. And varlog specifically is the destination for all the log files written by. The system and its running services. So Varlog is the security guard's desk in the lobby. It's the permanent chronological ledger noting absolutely every event that occurs in the building. Exactly. User Dave logged in at 9.0 so 2 a.m. The web server experienced a critical failure at 2.14 PM. An external USB drive was connected at 4 BOPM to the historical record. When a system crashes or gets hacked, I imagine a system administrator's very first instinct is to run straight to var log and start reading the ledgers to reconstruct the timeline of what happened. Oh, 100%. It's the first place you look. Now what about the boot directory? The name implies it handles the startup process. This does. Boot contains the actual compiled kernel image we talked about earlier, as well as the bootloader files. The bootloader is that tiny piece of software that runs immediately after the motherboard turns on, right? Whose only job is to find the kernel and load it into RAM. That's the one. I've heard people compare boot to the physical key to the front door of the office, but that doesn't quite sit right with me because a key implies access control, like a password. Yeah, you're right to reject that analogy. Access control is handled elsewhere, mostly back in et cetera. Think of boot more like the architectural blueprints of the building itself. Okay, blueprints. When you turn on a server, it is completely dumb. It doesn't know it's a server. The bootloader reads the files in boot to essentially construct the operating system in memory. So if you accidentally delete the boot directory, the building literally cannot be constructed. You hit the power button and the screen just stays black. It forgets how to exist. That is a much better way to visualize the stakes. Do not mess with the blueprints. Now the final two directories we need to cover represent a massive conceptual leap. We have proc and sys. These are arguably the most fascinating directories in Linux. They're what we call virtual file systems. Virtual file systems. The proc directory exposes running processes and kernel information while sys exposes hardware objects. But we really need to unpack the word virtual here. Because a standard directory, like varlog, takes up physical space on the hard drive platter. If a log file has a million lines of text, it consumes megabytes of real storage capacity. So what makes proc and sys virtual? This goes back to our opening premise. Everything is a file. When you navigate into the proc directory and list the contents, you'll see hundreds of folders and files. But here is the trick. None of those files actually exist on your hard drive. Wait, really? They consume zero bytes of permanent storage. Zero. They are an illusion. They are a live interface into the RAM. The kernel takes the live hypervolatile data currently running in the memory, the actual state of the processor at that exact millisecond, and it formats that data to look like a standard text file. So going back to the corporate office analogy, if varilog is the written historical ledger at the security desk, then proc is the bank of live security camera monitors. You're watching the employees, the running programs working in real time. Yes. And if an employee finishes their task and leaves the building media the program closes, their corresponding virtual file in proc instantly vanishes. It is a real-time matrix. That's wild. For example, if you want to know exactly what CPU is installed in your server, you don't need a diagnostic tool. You just run a command to read the text file located at ProcPuinfo. The kernel instantly queries the physical processor and prints the live specs to your screen as text. That is incredible. And Sys does the exact same thing, but specifically for the live state of the hardware devices rather than the software processes. For the exam, it sounds like you need to have flashcard level recall of these locations. Absolutely. The test will describe a scenario and ask where you look. System-wide settings, historical logs, bar law, live process data, hardware representation. Exactly. You must know the map of the building perfectly. But you know, watching the live security cameras in proc is only half the job of an administrator. Sometimes an employee goes rogue. A program starts consuming all the resources in the building, and you have to intervene. You have to monitor the system's health, and sometimes you have to terminate a program. And that leads us directly into objective 4.3 part two, how we manage processes and memory. To manage a system, you first have to understand what a process actually is from the kernel's perspective. Simply put, a process is an instance of a running program. And the moment the kernel launches a program, it assigns it a highly specific tracking number called a PID or process ID. So if I type a command to start a web server, the kernel loads the web server code from the hard drive into RAM, starts it running, and slaps a sticky note on it that says, you are PID132. Exactly. And that PID is how you, the administrator, will interact with that program from then on. You don't tell the kernel stop the web server, you tell the kernel terminate PID2042. Now to find those PIDs, we use monitoring tools. The most fundamental tool is the PS command, which stands for process status. But I'm sure you've noticed if you just log in and type piece by itself, it's pretty useless. Yeah, it usually just shows me the two or three commands I just typed in my current window. It doesn't show me the web server or the databases running in the background. Right. Default PPs is scope limited. The exam expects you to know the powerful flags you attach to it. The gold standard is PSO. Let's break down those letters, A, U, X, because it's not just a random string. Historically, A tells it to show processes for all users, not just you. E tells it to display the output in a user-oriented format, giving you columns for CPU and memory usage. And X tells it to show processes that aren't attached to a terminal, meaning the invisible background services driving the server. So PO prints out the ultimate master list. It shows every single program running on the entire system, who started it, how much memory it's eating, and its PID. But there is a crucial limitation here. PS is static. Yes. Think of PAs as a high-resolution photograph. The moment you press enter, it captures the exact state of the system at the precise millisecond, prints the text to your screen, and then completely stops. So if a database process suddenly spikes to 100% CPU utilization two seconds after you ran the command, the text on your screen will not change to reflect that. Exactly. A photograph is great for a static record, but if my server is actively crashing and I'm trying to figure out why, I don't want a photograph. I want a live video feed. I want to see the numbers moving. And for that live video feed, we use the top command. When you execute top, it takes over your entire terminal window. It continuously pulls the kernel every few seconds and redraws the screen, constantly sorting the most resource-hungry, aggressive processes to the absolute top of the list. Hence the name pop. So ETS is the static photograph, top is the live surveillance monitor. That distinction is guaranteed to be tested. Now processes consume CPU, but they also consume memory. How do I know if I'm running out of RAM? We use the free command. It queries the kernel and tells you exactly how much total RAM is installed, how much is actively used, and how much is available. But if you just type free, Linux gives you the answer in raw bytes. Which is incredibly frustrating. Trying to count the commas in a 12-digit number just to figure out if you have enough gigabytes of memory is a terrible user experience. Which is why the exam specifically highlights the AH flag. Running Free H tells the command to output the data in a human readable format. It does the math for you and prints out the values in megabytes or gigabytes. Instantly comprehensible. Now, free also shows something called swap memory. Yeah. What happens when the RAM gets completely 100% full? Does the system just explode? This is a vital stability mechanism. If your volatile RAM gets completely full, the kernel panics. To prevent the entire system from crashing, the kernel will carve out a section of your physical slow hard drive and pretend that it's RAM. Oh, so it swaps stagnant data out of the fast RAM and writes it to the slow hard drive to make room for active calculations? Precisely. But hard drives are vastly slower than RAM. So if a system starts heavily using swap space, performance is going to absolutely plummet. We call it thrashing, right? Yeah, thrashing. The system spends all its time just moving data back and forth between the hard drive and the RAM, and no actual work gets done. Seeing high swap usage in your free itch output is a massive red flag that you need to upgrade your physical memory or kill some processes. Okay, so we have these incredible commands, PISO to list thousands of processes. But this brings up a logistical problem. If I run PISO on an enterprise server, it might spit out a list of 2,000 running processes. It will just blur past my screen like the matrix. It's totally unreadable. How do we filter that massive amount of text? This introduces one of the most elegant foundational philosophies of Linux and Unix: piping. The pipe character is the vertical bar in your keyboard. Piping allows you to take the output of one command and feed it directly into the input of a completely different command. It's the ultimate assembly line. Instead of one massive program trying to do everything, Linux favors dozens of tiny specialized tools that you chain together to build complex workflows. Let's use the exact example from the exam objectives. Piso Grow. Okay, let's break down the assembly line. Station one is PIGO. It gathers the master list of all 2000 processes. But instead of dumping that massive list onto my screen, the pipe symbol acts as a funnel. It catches all 2,000 lines of text and feeds them invisibly into station two. And station two is grep. Grep is a powerful text searching tool. Its only job is to scan through lines of text and filter out everything except the lines that match a specific word. In this case, the word shh. So the result is that instead of 2,000 lines blurring past my eyes, the assembly line processes the data, and my screen only shows the one or two specific lines containing the process information for the SSH service. I instantly found the needle in the haystack. It is incredibly efficient, and you can chain as many pipes together as you want. Let's look at the other piping example you must know: Damask less. Before we explain the pipe, we need to understand what DMSC actually is, because it's a critical troubleshooting tool. DMS sounds like diagnostic messages. Close. It stands for display message, specifically targeting the kernel ring buffer. When a Linux server first powers on, before any user interfaces load, the kernel wakes up and starts intensely interrogating the physical hardware. It checks the CPU flags, initializes the USB controllers, spins up the hard drives, and loads the drivers. Right, and Damask allows you to read the raw microscopic transcript of that entire hardware startup sequence. And I imagine that transcript is incredibly dense. It is thousands upon thousands of lines of highly technical hardware initialization logs. If you just type D-Misc, it will flood your terminal, and all you will see is the very bottom of the log. Which is where the pipe comes in. By typing DMisk Less, we catch that flood of text before it hits the screen, and we feed it into a tool called Less. What does LESS do? LESS is a pager program. It takes a massive text document, pauses the output, and displays it to you exactly one screen height at a time. It gives you back control. Oh, that's handy. Yeah, you could use your keyboard arrows to scroll up and down page by page, reading the hardware logs at your own pace without being overwhelmed. Okay, let's pull all of this together and put you in the hot seat. Let's run a real-world scenario. You are a system administrator, your pager goes off at 2.00 PM. Users are complaining that the main company application is completely unresponsive. You SSH into the server, you have a blank command prompt. Walk me through your thought process using the tools we just discussed. It is a systematic process of elimination. The very first command I type is free H. I need to immediately rule out a memory crisis. Is the RAM at 100% capacity? Is the swap space thrashing? Okay, you run free H. The output shows you have plenty of available RAM. Memory is not the issue. What is step two? Step two is CPU and process behavior. I run top. I want the live video feed. I am watching the columns to see if a single process is locked up and is consuming 99% of the processor cycles. The top screen refreshes. You look at the very top line, you see that PID 8042, which corresponds to the web server application, is absolutely pinned at 100% CPU. Okay, so I've identified the culprit. I know it is failing. The web server is locked in some kind of infinite loop. But top only shows me the resource usage. It doesn't tell me why the web server is crashing. To figure out the why, I need to read the application's internal diaries. I need the system logs. Now, we established earlier that logs live in varlog. And historically, if I wanted to read the system log, I would just use a text reader to open a flat text file called varlog slog or varlog messages. But the exam highlights a massive shift in how modern Linux handles logging. We need to talk about journal effectival. Why did we move away from simple text files? Because simple text files don't scale well in massive complex environments. If 10 different services are all frantically writing text to the same file at the exact same millisecond, the log file becomes a chaotic, tangled mess. Modern Linux distributions use a system manager called Systemed, and System handles logs completely differently. Instead of letting every program write raw text to a file, system forces all programs to send their logs to a central, highly structured database called the journal. The journal stores the logs in a binary format, not plain text. Which means it is highly indexed and incredibly fast to search. And the command we use to search that database is journal.palal. So it's the difference between flipping through a giant stack of disorganized paper receipts versus querying a structured SQL database. That makes total sense. So back to our crashing server scenario. I know the web server, let's call the service njinx is the problem. I don't want to read logs about the USB ports or the SSH logins. I only want the web server's logs. I would execute journal petala. What does the UFLAG do? It stands for unit. It instructs the general database to filter out millions of log entries and only show me the specific diary entries generated by the NGINC software unit. It is laser-focused troubleshooting. In seconds, I might see an error log stating that the web server lost its connection to the back-end database, causing it to lock up. That is the power of the command line. You use free to check the physics of the memory, top to identify the rogue process in the live matrix, and GNOADL to extract the exact error message from the historical database. It's a complete diagnostic toolkit. And mastering that flow is exactly what the Linux Essentials exam is trying to validate. Okay. We have looked incredibly deeply inside the machine. We know the hardware layout, the file system rules, and the live process monitoring, but a server sitting in a dark, climate-controlled data center that only talks to itself is basically a very expensive space heater. Yeah, it is completely useless unless it can communicate with the outside world. This brings us to the final critical piece of topic four: networking. Networking is how the magic actually happens. A server's entire purpose is to receive requests over a network and send data back. And the absolute foundation of that communication is the IP address. The internet protocol address. It is the unique numerical label assigned to a device. It's a digital street address for your server. Now, the exam expects you to know the difference between the two versions of this address system, IPv4 and IPv6. This is a crucial historical and architectural distinction. IPv4 is the legacy system that built the internet. It uses a 32-bit addressing scheme, which creates those familiar four sets of numbers separated by dots like 192.168.1.9ro. But 32 bits is a mathematical limitation. Two to the power of 32 only equals about 4.3 billion unique combinations. When they designed IPv4 in the 1970s, 4 billion computers seemed impossible. But today, every single person on Earth has a laptop, a smartphone, a smartwatch, and a smart refrigerator. We literally ran out of numbers. Exactly. We exhausted the entire address space. For years, engineers have used clever band-aids like network address translation or NAT to hide multiple devices behind a single public IP address just to keep the internet functioning. But the true permanent solution is IPv6. And how does IPv6 fix the math? By vastly expanding the address space. IPv6 uses a 128-bit scheme. Visually, it looks completely different. It's composed of eight groups of four hexadecimal characters separated by colons. It includes letters from A to F as well as numbers. Hexadecimal means base 16 instead of base 10. So how many addresses does 128 bits give us? The number is so astronomically large it defies human comprehension. It's roughly 340 undecilian addresses. Wow. Yeah. To put that in perspective, we could assign a unique public IPv6 address to every single atom on the surface of the Earth, and we would still have plenty left over. It permanently solves the scarcity problem. That is staggering. Okay, so my Linux server has a unique IP address. It knows who it is. But right now, it can only talk to other computers plugged into the exact same physical network switch inside the same room, the local area network, or LAN. What happens when my server needs to send a packet of data to a database located in Tokyo? It realizes that the Tokyo IP address is not on its local subnet. So the server packages up the data and sends it to the default gateway, commonly known as a router. The gateway is exactly what it sounds like. It's the exit door from your local network. Yes. The server essentially hands the data packet to the router and says, This destination isn't in my building. You have the map of the outside world. Please forward this closer to its destination. The router then passes it to the next router, and the next hopping across the global internet until it reaches Tokyo. IP addresses and gateways are great for machines because machines love routing raw numbers. But humans are terrible at remembering 12-digit strings of numbers. I don't type 142.250.190.46 into my browser. I type google.com. And this brings us to DNS, the domain name system. DNS is the global phone book of the internet. It translates human readable domain names into the machine-writable IP addresses. But the exam doesn't just want you to know what DNS is, it requires you to understand the exact step-by-step order of operations the Linux machine goes through to resolve a name. If I am at the command line and I type a command to connect to example.com, what exactly does the kernel do first? Because it doesn't immediately yell out to the global internet. No, it doesn't. And this is a major exam tip. Step one the Linux system always checks a local text file located on its own hard drive first. That file is Echosts. Okay, another critical file in the et cetera configuration directory. Let's use an analogy. I think of the ECOSTS file like a personal handwritten address book sitting right on your physical desk. If you want to call your friend Dave, the very first thing you do is flip open your own little notebook. If you physically wrote Dave's phone number in there last week, you just dial it immediately. You don't need to call the global operator. That is a perfect mapping of the mechanism. System administrators can manually edit the Echhosts file to create custom hard-coded shortcuts for their local servers. If a name is found in that file, the search stops immediately. The system uses that IP address. But what if I want to connect to a server I've never heard of before? The name is not in my personal desk notebook. What is step two? If the kernel searches Echosts and comes up empty, only then does it reach out to the network. But to do that, it needs to know who to ask. So it opens a second configuration file, eCresolve.com. Resolve.conf? Resolution configuration. What's inside that file? Not the answers. The eccresolve.conf file contains the IP addresses of the actual DNS servers, the global operators that the system has configured to trust. The system reads that file, finds the IP address of the DNS server, and sends a query out the gateway asking, what is the IP address, for example.com? So ECHOS is my personal desk notebook. If it fails, I check eCresolve.com to find the phone number of the global operator, and then I call the operator to get the final answer. Exactly. And understanding that order localhosts file first, an external DNS via resolve.com- is fundamental for troubleshooting. If an administrator accidentally puts the wrong IP address into the local ECHOS file, the server will connect to the wrong destination, even if global DNS is working perfectly. Okay, so we understand the architecture, we know the concepts, but we need to know the actual commands to view and change these network settings. And here's where things get a bit frustrating and where the exam gets very specific. There has been a massive transition in the Linux world from legacy networking commands to modern command suites. Let's start with the most basic task. How do I find out what my IP address is? Historically, for over 20 years, every single Unix and Linux administrator on Earth used the command ifconfig. It stood for interface configuration. Look, I am genuinely frustrated by this. I finally built the muscle memory for ifconfig. It's burned into my brain. But the study guide says it is officially deprecated its legacy. Why did the Linux developers completely change the syntax and break a tool that was working perfectly fine? It is a common frustration among veteran administrators. But you have to understand the architectural limitations of the old tools. Ifconfig was part of an ancient package called NetTools. It was written in an era when networking was simple. But modern cloud infrastructure requires incredibly complex maneuvers. Policy-based routing, network namespaces, virtual tunnels. The old ifconfig code fundamentally could not interface with the modern kernel features required to do those things. It hit a hard, evolutionary dead end. So it wasn't just changed for the sake of changing it, it was replaced by a completely new, vastly more capable engine. Yes. It was replaced by a suite called IProot 2. It provides a unified, mathematically consistent syntax for managing every single aspect of the network stack. So the modern replacement for finding your IP address is the command ipadder show. Ipadder Show. Okay. I will update my flashcards. What about the routing table? How do I find out the IP address of my gateway, my exit door to the internet? The legacy command was simply route. The modern unified replacement in the new suite is IPRouteShow. It will list all the paths your computer knows, and the line that begins with default via will list the IP address of your gateway router. And the third major pair. How do I see what ports are open on my server to know what network connections are currently active? The legacy command was NetStat, standing for network statistics. The modern replacement is SS, which stands for socket statistics. SS is vastly faster at querying the kernel for massive amounts of connections. The exam tip highlights a specific combination of flags. SSTune. Let's break those down like we did for PayO. PIA stands for PCP ports. U stands for UDP ports. S has to totally show listening ports, meaning the doors that are actively propped open waiting for incoming traffic. And forces it to display raw numeric IP addresses and port numbers instead of trying to resolve host names, which makes the CAN run much faster. So S-Toon gives you an instantaneous map of every open door on your server. Now the obvious question. If config, route, and netstat are dead, why does the exam still force us to learn them alongside the modern IP commands? Because the real world is messy. While every modern Linux distribution uses the new iProot 2 suite, enterprise environments are full of technical debt. You will absolutely find yourself logging into a legacy server sitting in a closet that hasn't been updated in 12 years. If you only know the modern commands and that server only has if config, you will be completely paralyzed. A true professional must be bilingual. That is a fair point. Okay, finally, the study material gives us two active testing tools. I know my IP, I know my gateway, but the network is broken. How do I systematically test reachability? Yeah, you start with the most famous networking command in existence. Ping. Everyone knows ping. But how does it actually work under the hood? It's not just sending a blank text file. No, it uses a specific protocol called ICMP, the Internet Control Message Protocol. It packages an echo request and sends it to the target IP. If the target is online and his firewall allows it, it is obligated by the protocol to send an echo reply back. The exam guide gives the specific example, ping NAMS 48.8.8.8. The address 8.8.8.8 is a highly reliable public DNS server run by Google. What does the NASC4 parameter do? In Linux, unlike Windows, if you just type ping and an IP address, it will send packets infinitely until you force it to stop with a keyboard interrupt. The NASC stands for count. Ping NASC4 tells the kernel to send exactly four ICMP echo requests, wait for the replies, and then cleanly terminate the program and prints a statistical summary of packet loss and latency. So I run that and I get four successful replies. I have instantly proven that my physical network cable is plugged in, my IP address is valid, my gateway is routing traffic, and the global internet knows how to route traffic back to me. It verifies the entire physical and routing chain. But what if ping works, but I still can't load a website? Then you have isolated the problem to the translation layer. The routing works, but the phone book is broken. To test the phone book directly, we use the host command. So I would type something like host www.lpi.org. Exactly. The host command ignores ICMP completely. It strictly formulates a DNS query, sends it to the server listed in your edCresolve.conf, and asks for the IP address. If it returns an error, you know your DNS configuration is broken. It's all about systematic isolation. You test the local configuration, you ping an external IP to test the routing, and you use host to test the name resolution. It completes the picture. We have successfully traced the architecture from the physical metal of the motherboard up through the drivers into the kernel, organized it in the file system, managed the live processes and memory, and routed the data out the gateway across the globe. It is a remarkable journey of layered abstraction, and understanding every single layer of that stack is the definition of a true Linux professional. Which brings us to the end of our deep dive today. Let's do a quick recap because we have covered a massive amount of ground. We started by contrasting the open source Linux kernel against proprietary systems and broke down how distributions wrapped that kernel in tools, prioritizing LTS releases for enterprise stability. We stripped the hardware down to the CPU, volatile RAM, and persistent storage, and explored the brilliance of the Dev Directory, where the kernel maps physical hard drives to simple text files like DevSDAT1. We walked through the corporate office of the file system, the strict rulebook in et cetera, the historical ledgers in varlog, the critical blueprints in boot, and the live matrix of running memory exposed in the proc virtual file system. We discuss how to manage the employees in that building, the processes, using PISO for a static photograph, TOP for a live video feed, and free HH to ensure the memory isn't thrashing into swamp space. We chain commands together using the pipe, filtering the kernel ring buffer with DMS less, and we search the modern binary databases with journaled cap. And finally, we connected the server to the world. We contrasted the limitations of 32-bit IPv4 against the infinite hexadecimal expanse of IPv6. We traced the DNS resolution path from the local ECHOS fileout to the global servers in ecresolve.conf, and we learned to navigate both the legacy of config tools and the modern EPR2 suite, systematically troubleshooting the connection with paying in host. Remember the stakes. This single topic represents 20% of your exam score. You cannot passively consume this information. The most crucial advice we can give you is to build muscle memory. Spin up a virtual machine. Do not just memorize the text on a flashcard, sit at a terminal and physically type SSBLK, type ep at our show. Force your brain to process the live output. Absolutely. Let the keyboard teach your hands. Knowledge of the CLI is only valuable when it becomes an unthinking reflex. Now before we sign off, I want to leave you with a final provocative thought to mull over. Something that builds on the fundamental philosophy we discussed today. Oh, I'm ready. What is it? We spent a significant amount of time marveling at the Unix philosophy that everything is a file. Your physical spinning hard drives are text files in dev, your live, volatile memory processes are text files in proc, your network configurations are text files in dev, etc. Right, it's all just text. Exactly. So if absolutely everything, hardware, active running memory, network connections, security rules, can all be treated simply as text files within a directory tree. How does that unified philosophy fundamentally change the way we can use Cluid to manage infrastructure? If building a server doesn't require clicking through hidden proprietary graphic menus, but merely involves writing text into a file, what happens when you write a script that generates those text files automatically across 10,000 servers in a fraction of a second? It ceases to be server administration and it becomes infrastructure as code. It is the architectural secret that makes the modern cloud possible. Think about the staggering power of that simplicity. Next time, we will be back for the fifth and final deep dive in our Linux Essentials series, covering the very last pieces of the puzzle you need to ACE exam 010 160. We are moving from the anatomy and physiology of the machine into the actual day to day security, permissions, and script execution that keeps the environment safe. Until then, get on the command line and keep digging under the hood.