⣿ ZOTHOS × 1NC0GN30 30 DAYS OF LINUX FUNDAMENTALS · TUI (./control-panel) + WEB GUI · 90 MISSIONS
← Back to 30-Day Curriculum

WEEK 3 · SECURITY & WORKFLOWS · TUI: ./control-panel --day 20

Day 20: Shell Environment Customization, Aliases & Dotfiles

Configure persistent environment variables, PATH exports, productivity aliases, and custom prompts in ~/.bashrc.

XP 0
Streak 0
Command Mastery 0%
Study Music

YouTube Study Radio

Pick a track or paste any YouTube URL.

🍳 Breakfast (Syntax) Session

Type commands, build streaks, and then review the source guide.

Live Terminal Drill

Re-type the command exactly to clear each challenge.

target$ loading...

0 / 12 mastered

    Command Board

    Tap a command when you practiced it in your own terminal.

    Command Intel

    Meaning

    Command explanation will appear here.

    Sample Output

    Output preview will appear here.

    Useful Fun Fact

    Fun facts about the active command will appear here.

    Last Run Output

    Run a command to see result feedback.

    Knowledge Boost

    Faster learning with topic cues, mini-missions, and external docs.

    Key Topics

    ⚡ 60-Second Mental Model (Student Digest)📌 Review Variables and Loops📌 Conditionals in Scripts📌 Handling Input and Output📚 Resources

    Mini Missions

    • Mission 1: Run export and explain the output in one sentence.
    • Mission 2: Run env and explain the output in one sentence.
    • Mission 3: Run alias and explain the output in one sentence.
    • Mission 4: Run mkdir -p /tmp/linux-dojo-day-20 && cd /tmp/linux-dojo-day-20 and explain the output in one sentence.

    📖 Digestible Study Guide & Visual Architecture

    Source: day-20-breakfast-guide.md · Synced with ./control-panel --day 20

    Day 20 · Breakfast — Shell Environment Customization, Aliases & Dotfiles



    ZothOS × 1nc0gn30 Linux Dojo · Phase: Week 3 (Security & Workflows) · Session: Breakfast (Morning Foundation & Core Command Syntax)

    Core Commands: export, env, alias, ~/.bashrc, ~/.profile, source


    ⚡ 60-Second Mental Model (Student Digest)



    ╔══════════════════════════════════════════════════════════════════════════════╗
    ║  ZOTHOS × 1NC0GN30 // DEFENSE-IN-DEPTH & STREAM PIPELINE ARCHITECTURE        ║
    ╠══════════════════════════════════════════════════════════════════════════════╣
    ║                                                                              ║
    ║  [ INBOUND PACKET ] ──► [ Netfilter: iptables / nftables ]                   ║
    ║                                │ (ACCEPT)                                    ║
    ║                                ▼                                             ║
    ║                         [ Hardened SSHD + Fail2Ban ]                         ║
    ║                                │                                             ║
    ║                                ▼                                             ║
    ║                         [ DAC: chmod/chown ] ──► [ MAC: SELinux / AppArmor ] ║
    ║                                │                                             ║
    ║                                ▼                                             ║
    ║                         [ Auditd & Log Pipelines: grep | awk | sed ]         ║
    ╚══════════════════════════════════════════════════════════════════════════════╝


    Learning PillarHow to Practice This Session
    1. Native TUI (./control-panel)Run ./control-panel from repo root → Select Week 3 → Day 20 → Breakfast to drill interactive C lessons & quizzes.
    2. Web Workstation (astro-ui)Open /day/20 → Select Breakfast tab → Type each target command in the live Mission Terminal to earn XP & streak mastery.
    3. Safe Local SandboxRun mkdir -p /tmp/linux-dojo-day-20 && cd /tmp/linux-dojo-day-20 to test every flag below without touching production files.




    📌 Review Variables and Loops



    for i in {1..5}; do echo "Number: $i"; done


  • Declare variables without spaces: name=zoth

  • Access them with
    name

  • Loops: for, while, until

  • Useful for batch automation and command sequences





  • 📌 Conditionals in Scripts



    if [ "$USER" = "root" ]; then echo "Admin"; else echo "User"; fi


  • Use [ or [[ for conditions

  • Operators: =, !=, -lt, -eq, -f, -d

  • Always quote variables inside conditionals





  • 📌 Handling Input and Output



    read -p "Enter your name: " name
    echo "Hello $name" >> greetings.txt


  • read: Get user input

  • > overwrites files; >> appends

  • tee can write to file and print to screen





  • 📚 Resources



  • https://linuxize.com/post/bash-if-else-statement/

  • https://opensource.com/article/19/9/getting-started-bash-scripting