۱.۱ دسترسی به شل

🐧 درس ۱.۱: دسترسی به Shell و اجرای دستورات (Syntax)

👤 یادداشت معمار ارشد:
در دنیای Production، یک اشتباه کوچک در تایپ یک Command می‌تواند به قیمت از کار افتادن کل سیستم تمام شود. در اینجا هیچ جایگاهی برای حدس زدن وجود ندارد؛ شما باید دقیقا بدانید هر کاراکتری که تایپ می‌کنید چه معنایی دارد.

🧠 مفهوم اصلی (The Core Concept)

در محیط‌های Production (سرورهای واقعی که سرویس‌دهی می‌کنند)، سرورهای لینوکس معمولاً فاقد رابط گرافیکی (GUI) هستند تا منابع سیستم هدر نرود و امنیت بالاتر برود. تنها راه ارتباطی شما با سرور، Shell است.

اما Shell چیست؟ شل یک مفسر (Interpreter) است که دستورات متنی شما را می‌گیرد، آن‌ها را ترجمه می‌کند و برای اجرا به هسته سیستم‌عامل (Kernel) تحویل می‌دهد. فضایی که شما در آن منتظر تایپ دستورات هستید، Shell prompt نامیده می‌شود. ساختار دستوری (Syntax) در لینوکس

هر دستوری که در لینوکس وارد می‌کنید، از یک ساختار ثابتِ سه‌بخشی پیروی می‌کند:

Command (دستور اصلی): چه کاری می‌خواهید انجام دهید؟

Options یا Flags (گزینه‌ها): دستور چگونه باید اجرا شود؟ (اختیاری، معمولاً با - یا -- شروع می‌شود).

Arguments (آرگومان‌ها): دستور روی چه چیزی باید اعمال شود؟ (مثل نام یک فایل یا مسیر).

ساختار کلی: Bash

Command [Options] [Arguments]

💻 لابراتوار عملی (Hands-on Lab)

ماشین مجازی (VM) لینوکس خود را روشن کنید، ترمینال را باز کنید و دستورات زیر را دقیقاً وارد کنید. بیایید هرکدام را کالبدشکافی کنیم: ۱. چاپ متن در خروجی Bash

echo "Welcome to RHCSA"

echo: این Command است. کار آن چاپ کردن متن روی صفحه نمایش است.

"Welcome to RHCSA": این Argument است. متنی است که به دستور پاس داده‌اید.
  1. نمایش تاریخ و زمان سیستم Bash

date -u

date: این Command است که تاریخ فعلی را نشان می‌دهد.

-u: این یک Option است. به سیستم می‌گوید زمان را بر اساس ساعت جهانی (UTC) نشان دهد.
  1. بررسی نسخه Kernel Bash

uname -r

uname: این Command اطلاعات پایه‌ای سیستم‌عامل را چاپ می‌کند.

-r: این Option (مخفف release) به سیستم می‌گوید: "فقط نسخه دقیق Kernel را نشان بده." (بسیار حیاتی در محیط‌های کاری).
  1. پاک‌سازی محیط کار Bash

clear

این Command صفحه ترمینال شما را پاک می‌کند تا لاگ‌های قبلی تمرکزتان را به هم نریزد. در اینجا هیچ آپشن یا آرگومانی نداریم.

⚠️ چالش آشوب (The Chaos Challenge)

سناریو: فرض کنید به عنوان ادمین جدید، به یک سرور حساس متصل شده‌اید. مدیر شبکه از شما می‌خواهد وضعیت اولیه سرور را گزارش دهید.

ماموریت شما:

[ ] متنی با عنوان دقیق Initiating Server Diagnostics را روی صفحه ترمینال چاپ کنید.

[ ] نسخه دقیق Kernel سرور را استخراج کنید.

[ ] تاریخ و زمان سرور را منحصراً به صورت زمان جهانی (UTC) بررسی کنید.

[ ] تمام محتوای روی صفحه ترمینال را کاملاً پاک کنید تا ترمینال تمیز شود.

📝 تمرین: بر اساس چیزهایی که یاد گرفتید، ترتیب دقیق دستورات این سناریو را در سیستم خود اجرا کنید تا برای مبحث مهم بعدی (Input-output redirection) آماده شوید!