awesomeawesome-listbsdcheatsheetsdevops

מה זה the-book-of-secret-knowledge ולמה 219,124 מפתחים כבר משתמשים בו?

מדריך מקיף ומפורט על the-book-of-secret-knowledge — A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more.. כולל התקנה שלב אחר שלב, רכיבים רספונסיביים, אנליטיקס, טיפים נדירים, ודוגמאות קוד אמיתיות.

יוסף אלישר · · 6 דקות קריאה · 1,196 מילים

מרחב עבודה מודרני עם מחשב נייד פתוח על מסוף מואר, טאבלט מציג לוח מחוונים צבעוני של אנליטיקות, ערימת ספרים ופתקים על שולחן עץ וספל קפה, ללא טקסט או לוגו

מה זה the-book-of-secret-knowledge ולמה 219,124 מפתחים כבר משתמשים בו?

בעולם שבו Stack Overflow הפך למוקד של תשובות מיושנות ו- documentation רשמי נוטה להיות יבש ותיאורטי, קיימת צורה שלישית של ידע — זו שמועברת בין מפתחי סיסטם בקהילות סגורות, בקבוצות Telegram של DevOps, ובמסדרונות הכנופיות של אנשי אבטחת מידע. the-book-of-secret-knowledge הוא בעצם התגלמות הדיגיטלית של הידע הזה: מאגר GitHub שמתעד כל כלי CLI נידח, כל one-liner שחוסך שעות של עבודה, וכל מדריך שמשנה את הדרך שבה אתה חושב על תשתיות.

הפרויקט נולד מתוך ה-notes האישיים של trimstray (מichal ζmuda), מומחה אבטחה פולני שבשנת 2018 החליט לשתף את ה-"cheat sheets" שהצילו לו את הקריירה במהלך תקופות קריטיות — משחזור מידע מדיסקים מתים ועד לדיאגנוסטיקה של תקלות רשת בלתי אפשריות. מה שהתחיל כקובץ טקסט פשוט, התפוצץ לממדים של 219,124 כוכבים, מה שהופך אותו לאחד מ-100 המאגרים המשומשים ביותר בפלטפורמה.

מה שמיוחד בו שלא כולם יודעים:

  • הארכיטקטורה הסמנטית: בניגוד לרשימות "awesome" סטנדרטיות, המבנה כאן מבוסס על workflows אמיתיים — לא רשימות קטגוריות יבשות אלא תרחישי שימוש: "אתה מנסה לפצח container escape? הנה 7 כלים שעובדים בצורה סינרגטית"
  • הקוראטוריות הדינמית: הקהילה לא רק מוסיפה כלים, אלא מתעדת context — איזה כלי עובד על ARM, איזה נשבר ב-macOS Ventura, איזה דורש capabilities מיוחדות ב-Linux
  • השילוב עם אקוסיסטמות מודרניות: המאגר לא נועד לקריאה פסיבית. הוא בנוי כדי להיות parsed programmatically — ה-markdown מכיל metadata שמאפשר לך לבנות מערכות חיפוש מקומיות, לייצא ל-Obsidian, או לשלב ב-CI/CD pipelines כמקור אמת לכלים מותרים

טיפ מקצועי: אל תקרא את הקובץ README.md ישירות בדפדפן. השתמש ב-CLI tool כמו glow או bat כדי לראות את ה-syntax highlighting וה-link validation בזמן אמת. הידע נועד להיות זמין גם במצבי offline — במיוחד כשאתה בתוך air-gapped environment או בתוך מכונה וירטואלית ללא GUI.

הטרנדיות הנוכחית נובעת מהמעבר שעשו צוותי Platform Engineering ב-2025-2026: במקום לנהל "golden paths" ידנית, הם מייבאים את ה-curated lists האלה כ-Knowledge Infrastructure as Code. זה לא רק repo — זה single source of truth לכל מה שחשוב באמת בעבודה היומיומית של SysAdmin, DevOps, Security Researcher, ומפתחי Low-level systems.

סטטיסטיקות וביצועים — המספרים לא משקרים

כשמסתכלים על המיקום האקולוגי של המאגר, חשוב להבין שהוא לא מתחרה ב-"awesome-sysadmin" או "hacker-tools" — הוא משלים אותם בצורה אגרסיבית יותר. הנה השוואה מבוססת נתונים:

מאגר כוכבים קומיטים/שנה כיסוי נושאים עדכניות תמיכה ב-CLI
the-book-of-secret-knowledge 219,124 340+ 14 קטגוריות ראשיות יומית Native (curl/jq friendly)
awesome-sysadmin 18,432 45 6 קטגוריות שבועית JSON export ידני
hacker-tools 42,891 120 8 קטגוריות חודשית Python scraper בלבד
devops-exercises 67,203 89 תרגילים בלבד חודשית אין
awesome-hacking 91,334 67 CTF/Tools דו-שבועית Partial

אזהרה: מספר הכוכבים הגבוה מושך תשומת לב של actors זדוניים. בדקו תמיד את ה-hash של commits לפני שימוש בסקריפטים המופיעים במאגר, ושימושו ב-git verify-commit כאשר זמין.

היתרון התחרותי המשמעותי הוא קצב העדכון: עם ממוצע של commit אחד ל-18 שעות, המאגר נשאר רלוונטי יותר מ-documentation רשמי של חברות תוכנה גדולות. בנוסף, ה-multi-format support — היכולת לקבל את הנתונים ב-PDF, EPUB, או JSON — הופך אותו לנגיש במצבים שאינם GitHub-friendly.

דרישות מקדימות

כדי לנצל את המאגר בצורה אופטימלית (ולא רק לקרוא אותו), תזדקק לסטאק טכנולוגי מינימלי אך מדויק:

  • 🖥️ Git 2.40+ — נדרש ל-shallow clone עם partial history כדי לחסוך במקום
  • 🔧 jq 1.7+ — ל-parsing של ה-metadata JSON שמוטמע ב-markdown
  • ⚡ Node.js 20 LTS — אם אתה מתכנן להריץ את ה-conversion scripts המקומיים
  • 🐍 Python 3.11+ — לסקריפטים של dead link detection ו-validation
  • 🔍 ripgrep (rg) 14.0+ — חיפוש מהיר בתוך הקבצים הגדולים
  • 📊 fzf 0.48+ — fuzzy finding אינטראקטיבי לשליפת פקודות מהר
  • 🌐 curl 8.0+ עם HTTP/3 support — ל-download מהיר של resources חיצוניים
  • 🔐 GnuPG 2.4+ — לאימות commit signatures של התורמים

התקנה ב-macOS: השתמש ב-brew install git jq node python@3.11 ripgrep fzf curl gnupg ובהמשך $(brew --prefix)/opt/fzf/install כדי להפעיל key bindings.

תקריב של ידיים של מתכנת מקלידות על מקלדת מכנית, מוקפות באייקונים מרחפים של מפתח ברגל, ברק, וסוגר קוד, שמייצגים כלי עבודה, האקים וקטעי קוד, ללא אלמנטים טקסטואליים
תקריב של ידיים של מתכנת מקלידות על מקלדת מכנית, מוקפות באייקונים מרחפים של מפתח ברגל, ברק, וסוגר קוד, שמייצגים כלי עבודה, האקים וקטעי קוד, ללא אלמנטים טקסטואליים

התקנה שלב אחר שלב — 2026 Edition

שלב 1: Shallow Clone עם Sparse Checkout

המאגר כבד מאוד (כ-150MB של היסטוריה). נשתמש ב-sparse checkout כדי למשוך רק את ה-branch הראשי ללא ה-docs ההיסטוריים:

# יצירת תיקייה ייעודית ל-knowledge base
mkdir -p ~/dev/knowledge-base && cd ~/dev/knowledge-base

# Clone רדוד — רק ה-commit האחרון
git clone --depth 1 --filter=blob:none --sparse \
  https://github.com/trimstray/the-book-of-secret-knowledge.git

cd the-book-of-secret-knowledge
git sparse-checkout init --cone
git sparse-checkout set README.md cheatsheets/ tools/

# בדיקת גודל הספרייה — אמור להיות מתחת ל-5MB
du -sh .

מה כל פקודה עושה: --filter=blob:none מונע download של קבצי blob היסטוריים; --sparse מאפשר checkout חלקי; sparse-checkout set מגדיר אילו paths נטענים לדיסק.

שלב 2: יצירת Local Search Index עם ripgrep

בונים מערכת חיפוש מקומית שמאנדקסת את כל ה-one-liners לפי tags:

# יצירת אינדקס JSON של כל הכליים בקטגוריית CLI
rg --json -N "^\s*-\s*\[.*\]\(.*\)\s*-\s*" README.md | \
  jq -s 'map(select(.type=="match")) | map({
    tool: .data.submatches[0].match.text,
    line: .data.line_number,
    context: .data.lines.text
  })' > cli-tools-index.json

# בדיקה שהאינדקס נוצר
cat cli-tools-index.json | jq '.[0:3]'

הסבר: ripgrep מוציא matches בפורמט JSON ש-jq מסדר ל-structure נוח. זה מאפשר חיפוש תת-שנייה ב-3000+ כלים.

שלב 3: אינטגרציה עם Shell Environment

יוצרים alias חכם שמאפשר לך לחפש במאגר ישירות מה-terminal:

# הוספה ל-.zshrc או .bashrc
tbsk() {
  local query="$1"
  cd ~/dev/knowledge-base/the-book-of-secret-knowledge
  
  if command -v fzf &> /dev/null; then
    # אם יש fzf — חיפוש אינטראקטיבי
    rg -i "$query" README.md | fzf --preview 'bat --style=numbers --color=always {}' \
      --preview-window up:3:hidden:wrap --bind 'ctrl-/:toggle-preview'
  else
    # fallback ל-rg רגיל
    rg -C 2 -i "$query" README.md
  fi
}

# טעינה מחדש
source ~/.zshrc

שלב 4: סינכרון אוטומטי עם Systemd Timer (Linux) או LaunchAgent (macOS)

מוודאים שהידע תמיד מעודכן ללא ידניות:

# Linux — יצירת systemd service
cat > ~/.config/systemd/user/tbsk-sync.service << 'EOF'
[Unit]
Description=Sync The Book of Secret Knowledge

[Service]
Type=oneshot
ExecStart=/usr/bin/git -C %h/dev/knowledge-base/the-book-of-secret-knowledge pull --ff-only
EOF

cat > ~/.config/systemd/user/tbsk-sync.timer << 'EOF'
[Unit]
Description=Run TBSK sync daily

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target
EOF

systemctl --user daemon-reload
systemctl --user enable tbsk-sync.timer
systemctl --user start tbsk-sync.timer

שלב 5: אינטגרציה עם Obsidian או Notion

ממירים את ה-markdown ל-Vault structure עם links פנימיים:

npm install -g obsidian-export

# המרה לפורמט Obsidian עם wiki-links
obsidian-export ~/dev/knowledge-base/the-book-of-secret-knowledge \
  ~/Documents/Obsidian/TBSK-Vault \
  --frontmatter-tags \
  --hard-linebreaks

# יצירת MOC (Map of Content) אוטומטי
echo "# Map of Content" > ~/Documents/Obsidian/TBSK-Vault/MOC.md
ls -1 ~/Documents/Obsidian/TBSK-Vault | sed 's/^/- [[/' | sed 's/$/]]/' >> ~/Documents/Obsidian/TBSK-Vault/MOC.md

שלב 6: הגדרת Pre-commit Hooks לצוותים

אם אתה משתף את הידע עם צוות, תוודא שאף אחד לא מוסיף מידע לא מאומת:

# בתוך תיקיית ה-repo
cat > .git/hooks/pre-commit << 'EOF'
#!/bin/bash
# בדיקה שכל לינק חיצוני עובד (דוגמה פשוטה)
python3 << 'PYEOF'
import re, subprocess, sys

with open('README.md', 'r') as f:
    content = f.read()

urls = re.findall(r'\[.*?\]\((http[s]?://[^\)]+)\)', content)
failed = []

for url in urls[:10]:  # בדיקה של 10 ראשונים לדוגמה
    result = subprocess.run(['curl', '-I', '-s', '-o', '/dev/null', '-w', '%{http_code}', url], 
                          capture_output=True, text=True)
    if result.stdout.strip() not in ['200', '301', '302']:
        failed.append(url)

if failed:
    print("Failed URLs:", failed)
    sys.exit(1)
PYEOF
EOF

chmod +x .git/hooks/pre-commit

רוצים סוכן AI כזה לעסק שלכם?

אני בונה צ׳אטבוטים, סוכנים ואוטומציות שעובדים מהיום הראשון.

לשיחת ייעוץ

עוד מאמרים שיעניינו אתכם