<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on tplat</title>
    <link>/docs/projects_linux_linux.output/</link>
    <description>Recent content in Linux on tplat</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="/docs/projects_linux_linux.output/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Distributions</title>
      <link>/docs/projects_linux_linux.output/distributions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/projects_linux_linux.output/distributions/</guid>
      <description>&lt;h1 id=&#34;distributions&#34;&gt;Distributions&lt;a class=&#34;anchor&#34; href=&#34;#distributions&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;A Linux distribution (distro) is an operating system built on the Linux kernel, bundled with userland tools, package management, and system utilities.&lt;/p&gt;&#xA;&lt;p&gt;There are 600+ distributions, typically differentiated by:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Package management systems (e.g., APT, DNF, Pacman)&lt;/li&gt;&#xA;&lt;li&gt;Default toolchains and utilities&lt;/li&gt;&#xA;&lt;li&gt;Desktop environments / UI&lt;/li&gt;&#xA;&lt;li&gt;Target use case (desktop, server, embedded, security)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;popular-distributions&#34;&gt;Popular Distributions&lt;a class=&#34;anchor&#34; href=&#34;#popular-distributions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;general-purpose&#34;&gt;General Purpose&lt;a class=&#34;anchor&#34; href=&#34;#general-purpose&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ubuntu — beginner-friendly, strong desktop ecosystem&lt;/li&gt;&#xA;&lt;li&gt;Fedora — modern packages, upstream-focused&lt;/li&gt;&#xA;&lt;li&gt;Debian — stability-focused&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;enterprise&#34;&gt;Enterprise&lt;a class=&#34;anchor&#34; href=&#34;#enterprise&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Red Hat Enterprise Linux — commercial support, enterprise standard&lt;/li&gt;&#xA;&lt;li&gt;CentOS — RHEL-compatible (community-driven variants)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;security--offensive-tooling&#34;&gt;Security / Offensive Tooling&lt;a class=&#34;anchor&#34; href=&#34;#security--offensive-tooling&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kali Linux — extensive preinstalled security tools&lt;/li&gt;&#xA;&lt;li&gt;Parrot OS — security, privacy, development focus&lt;/li&gt;&#xA;&lt;li&gt;BlackArch — large penetration testing toolkit&lt;/li&gt;&#xA;&lt;li&gt;Pentoo — Gentoo-based security distro&lt;/li&gt;&#xA;&lt;li&gt;BackBox — Ubuntu-based security distro&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;specialized--other&#34;&gt;Specialized / Other&lt;a class=&#34;anchor&#34; href=&#34;#specialized--other&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Raspberry Pi OS — optimized for ARM devices&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;focus-debian&#34;&gt;Focus: Debian&lt;a class=&#34;anchor&#34; href=&#34;#focus-debian&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;overview&#34;&gt;Overview&lt;a class=&#34;anchor&#34; href=&#34;#overview&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Debian is a widely adopted distribution known for &lt;strong&gt;stability&lt;/strong&gt;, &lt;strong&gt;reliability&lt;/strong&gt;, and &lt;strong&gt;strict free software principles&lt;/strong&gt;. It is commonly used across:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Permissions</title>
      <link>/docs/projects_linux_linux.output/permissions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/projects_linux_linux.output/permissions/</guid>
      <description>&lt;h1 id=&#34;permissions&#34;&gt;Permissions&lt;a class=&#34;anchor&#34; href=&#34;#permissions&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Linux permissions control access to files and directories via a &lt;strong&gt;user–group–others&lt;/strong&gt; model. Each filesystem object is associated with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Owner (user)&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Permissions&lt;/strong&gt; defining allowed operations&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Users can belong to multiple groups, inheriting access rights accordingly.&lt;/p&gt;&#xA;&lt;h2 id=&#34;permission-types&#34;&gt;Permission Types&lt;a class=&#34;anchor&#34; href=&#34;#permission-types&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Symbol&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;Meaning&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Read&lt;/td&gt;&#xA;          &lt;td&gt;View file contents or list directory contents&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;w&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Write&lt;/td&gt;&#xA;          &lt;td&gt;Modify file or directory contents&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Execute&lt;/td&gt;&#xA;          &lt;td&gt;Run file or traverse directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;permission-scope&#34;&gt;Permission Scope&lt;a class=&#34;anchor&#34; href=&#34;#permission-scope&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Permissions are defined for three classes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Core Linux Commands</title>
      <link>/docs/projects_linux_linux.output/core-linux-commands/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/projects_linux_linux.output/core-linux-commands/</guid>
      <description>&lt;h1 id=&#34;core-linux-commands&#34;&gt;Core Linux Commands&lt;a class=&#34;anchor&#34; href=&#34;#core-linux-commands&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;man&#34;&gt;&lt;code&gt;man&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#man&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Display manual pages for commands:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;man ls&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Comprehensive reference (syntax, options, behaviour)&lt;/li&gt;&#xA;&lt;li&gt;Organized into sections (e.g., user commands, system calls)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;apropos&#34;&gt;&lt;code&gt;apropos&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#apropos&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Search manual page descriptions by keyword:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apropos network&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Useful when you don’t know the exact command name&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;external-resource&#34;&gt;External Resource&lt;a class=&#34;anchor&#34; href=&#34;#external-resource&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;explainshell — explains command syntax interactively&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;common-system-commands&#34;&gt;Common System Commands&lt;a class=&#34;anchor&#34; href=&#34;#common-system-commands&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Command&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;whoami&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Print current user&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;id&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show user and group IDs&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;hostname&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Get/set system hostname&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;uname&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;System/kernel information&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;pwd&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Print current directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;env&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show or set environment variables&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;networking&#34;&gt;Networking&lt;a class=&#34;anchor&#34; href=&#34;#networking&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Command&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ifconfig&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Configure/view network interfaces (legacy)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Modern network configuration tool&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;netstat&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Network status (legacy)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ss&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Socket inspection (modern replacement for netstat)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;process--system-inspection&#34;&gt;Process &amp;amp; System Inspection&lt;a class=&#34;anchor&#34; href=&#34;#process--system-inspection&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Command&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ps&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Process status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;who&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Logged-in users&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;lsof&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Open files by processes&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;hardware-inspection&#34;&gt;Hardware Inspection&lt;a class=&#34;anchor&#34; href=&#34;#hardware-inspection&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Command&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;lsblk&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Block devices (disks)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;lsusb&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;USB devices&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;lspci&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;PCI devices&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;file--path-utilities&#34;&gt;File &amp;amp; Path Utilities&lt;a class=&#34;anchor&#34; href=&#34;#file--path-utilities&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;ls&#34;&gt;&lt;code&gt;ls&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#ls&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;List directory contents:&lt;/p&gt;</description>
    </item>
    <item>
      <title>File Descriptors and Redirection</title>
      <link>/docs/projects_linux_linux.output/file-descriptors-and-redirection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/projects_linux_linux.output/file-descriptors-and-redirection/</guid>
      <description>&lt;h1 id=&#34;file-descriptors-and-redirection&#34;&gt;File Descriptors and Redirection&lt;a class=&#34;anchor&#34; href=&#34;#file-descriptors-and-redirection&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;a class=&#34;anchor&#34; href=&#34;#overview&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A &lt;strong&gt;file descriptor (FD)&lt;/strong&gt; is a kernel-managed handle that represents an open I/O resource (file, socket, pipe, etc.). It provides a uniform interface for reading and writing data streams.&lt;/p&gt;&#xA;&lt;blockquote class=&#39;book-hint &#39;&gt;&#xA;&lt;p&gt;Windows equivalent: &lt;em&gt;file handle&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id=&#34;standard-file-descriptors&#34;&gt;Standard File Descriptors&lt;a class=&#34;anchor&#34; href=&#34;#standard-file-descriptors&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;By convention, every process starts with three predefined descriptors:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;FD&lt;/th&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;STDIN&lt;/td&gt;&#xA;          &lt;td&gt;Standard input stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;STDOUT&lt;/td&gt;&#xA;          &lt;td&gt;Standard output stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;STDERR&lt;/td&gt;&#xA;          &lt;td&gt;Standard error stream&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;basic-redirection&#34;&gt;Basic Redirection&lt;a class=&#34;anchor&#34; href=&#34;#basic-redirection&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Redirection operators control where data flows between streams and files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH</title>
      <link>/docs/projects_linux_linux.output/ssh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/projects_linux_linux.output/ssh/</guid>
      <description>&lt;h1 id=&#34;ssh&#34;&gt;SSH&lt;a class=&#34;anchor&#34; href=&#34;#ssh&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Secure Shell (SSH) refers to a protocol that allows clients to access and execute commands or actions on remote computers. On Linux-based hosts and servers, as well as other Unix-like operating systems, SSH is one of the permanently installed standard tools and is the preferred choice for many administrators to configure and maintain a computer through remote access. It is an older and very proven protocol that does not require or offer a graphical user interface (GUI). For this reason, it works very efficiently and occupies very few resources.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Regular Expressions (Regex)</title>
      <link>/docs/projects_linux_linux.output/regular-expressions-regex/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/projects_linux_linux.output/regular-expressions-regex/</guid>
      <description>&lt;h1 id=&#34;regular-expressions-regex&#34;&gt;Regular Expressions (Regex)&lt;a class=&#34;anchor&#34; href=&#34;#regular-expressions-regex&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Regular Expressions (&lt;strong&gt;regex&lt;/strong&gt;) are patterns used to match and filter text. In Linux, they are commonly used with tools like &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;sed&lt;/code&gt;, and &lt;code&gt;awk&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;blockquote class=&#39;book-hint &#39;&gt;&#xA;&lt;p&gt;Practical note: Regex is dense but composable—focus on common patterns and reuse.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id=&#34;core-constructs&#34;&gt;Core Constructs&lt;a class=&#34;anchor&#34; href=&#34;#core-constructs&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Pattern&lt;/th&gt;&#xA;          &lt;th&gt;Meaning&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Any character&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;*&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;0 or more of previous&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;+&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1 or more of previous&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;0 or 1 of previous&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;^&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Start of line&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;$&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;End of line&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\b&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Word boundary&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\w&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Word character (&lt;code&gt;[a-zA-Z0-9_]&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Character class&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;()&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Grouping&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;|&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;OR operator&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;grep-modes&#34;&gt;&lt;code&gt;grep&lt;/code&gt; Modes&lt;a class=&#34;anchor&#34; href=&#34;#grep-modes&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Option&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;grep&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Basic regex&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;grep -E&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Extended regex (preferred; enables &lt;code&gt;+&lt;/code&gt;, `&lt;/td&gt;&#xA;          &lt;td&gt;`, etc.)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;grep -v&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Invert match&lt;/td&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;exercises&#34;&gt;Exercises&lt;a class=&#34;anchor&#34; href=&#34;#exercises&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-exclude-lines-containing-&#34;&gt;1. Exclude Lines Containing &lt;code&gt;#&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#1-exclude-lines-containing-&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cat /etc/ssh/sshd_config | grep -v &lt;span style=&#34;color:#5af78e&#34;&gt;&amp;#34;#&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-v&lt;/code&gt; → invert match (exclude comments)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-words-starting-with-permit&#34;&gt;2. Words Starting with &lt;code&gt;Permit&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#2-words-starting-with-permit&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grep -E &lt;span style=&#34;color:#5af78e&#34;&gt;&amp;#39;\bPermit\w*&amp;#39;&lt;/span&gt; /etc/ssh/sshd_config&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;\bPermit&lt;/code&gt; → word starts with &amp;ldquo;Permit&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\w*&lt;/code&gt; → remaining characters&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-words-ending-with-authentication&#34;&gt;3. Words Ending with &lt;code&gt;Authentication&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#3-words-ending-with-authentication&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grep -E &lt;span style=&#34;color:#5af78e&#34;&gt;&amp;#39;\w*Authentication\b&amp;#39;&lt;/span&gt; /etc/ssh/sshd_config&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;\w*&lt;/code&gt; → prefix&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Authentication\b&lt;/code&gt; → word ends with target&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;4-lines-containing-key&#34;&gt;4. Lines Containing &lt;code&gt;Key&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#4-lines-containing-key&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grep &lt;span style=&#34;color:#5af78e&#34;&gt;&amp;#39;Key&amp;#39;&lt;/span&gt; /etc/ssh/sshd_config&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;Simple substring match (no regex needed)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;5-lines-starting-with-password-and-containing-yes&#34;&gt;5. Lines Starting with &lt;code&gt;Password&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; Containing &lt;code&gt;yes&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#5-lines-starting-with-password-and-containing-yes&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;⚠️ Original pattern is incorrect (&lt;code&gt;^Password|yes&lt;/code&gt; = OR logic)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
