پرش به مطلب اصلی

topic-1-1

---
sidebar_position: 1
title: ۱.۱ دسترسی به شل
hide_table_of_contents: true
---

# 🐧 درس ۱.۱: دسترسی به `Shell` و اجرای دستورات

:::warning[💡 یادداشت معمار ارشد]
سلام داوطلب گرامی. من به عنوان ممتحن رسمی RHCSA و ارشد معماری لینوکس، آمادگی شما را برای این دوره فشرده ارزیابی می‌کنم. در ترمینال لینوکس، ما از صفر مطلق شروع خواهیم کرد. در این مسیر هیچ بهانه‌ای پذیرفته نیست؛ جزئیات و استانداردها در محیط‌های Production حیاتی هستند.
:::

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

در محیط‌های سازمانی و سرورهای لینوکس (مانند Red Hat Enterprise Linux)، هیچ واسط گرافیکی (GUI) وجود ندارد. تمام کارهای یک Linux Architect از طریق `shell prompt` انجام می‌شود.

واژه **Shell** در واقع یک مفسر فرمان (Command Interpreter) است که دستورات متنی شما را دریافت کرده، آن‌ها را ترجمه می‌کند و به Kernel سیستم‌عامل تحویل می‌دهد. ساختار صحیح دستورات (Syntax) در لینوکس همیشه از یک الگوی مشخص پیروی می‌کند:

```bash
Command [-options] [arguments]

  • Command: نام برنامه یا ابزاری است که می‌خواهید اجرا کنید.
  • Options: رفتار دستور را تغییر می‌دهند (معمولاً با یک خط تیره - برای حالت تک‌حرفی یا دو خط تیره -- برای کلمات کامل شروع می‌شوند).
  • Arguments: هدفی است که دستور روی آن اعمال می‌شود (مانند مسیر یک دایرکتوری).
⚠️ مهم‌ترین اصل لینوکس

لینوکس به شدت به کوچک و بزرگ بودن حروف (Case-sensitive) حساس است. دستور ls با LS کاملاً متفاوت است و سیستم دومی را نمی‌شناسد.


💻 آزمایشگاه عملی (Hands-on Lab)

وارد ماشین مجازی خود شوید، یک Terminal باز کنید و دستورات زیر را به ترتیب اجرا و تحلیل کنید:

۱. پاک‌سازی محیط کار

clear

این ابزار تمام متن‌های موجود در صفحه ترمینال شما را پاک می‌کند تا یک محیط کاری تمیز داشته باشید. این دستور در حالت عادی نیازی به آپشن یا آرگومان ندارد.

۲. چاپ مسیر فعلی

pwd

مخفف Print Working Directory است. وظیفه آن چاپ کردن مسیر دقیقی است که در حال حاضر در آن قرار دارید.

۳. لیست کردن جزئیات دایرکتوری

ls -l /var

  • ls: دستور اصلی برای لیست کردن محتویات.
  • -l: یک آپشن برای نمایش فایل‌ها با جزئیات کامل (دسترسی‌ها، مالک، حجم).
  • /var: یک آرگومان که به دستور اعلام می‌کند محتویات این پوشه خاص را نمایش دهد.

۴. جابه‌جایی در مسیرها

cd /etc

دستور cd مخفف Change Directory است. با این کار محیط ترمینال شما به پوشه /etc منتقل می‌شود.

۵. چاپ در خروجی

echo "Welcome to RHCSA"

دستور echo برای چاپ متنی است که به آن داده می‌شود. عبارت داخل کوتیشن، آرگومانِ متنیِ این دستور است.


🎯 چالش هرج‌و‌مرج (The Chaos Challenge)

یک سناریوی واقعی در یک سرور بحران‌زده: شما به عنوان مدیر سیستم وارد سرور شده‌اید و باید اطلاعات سریعی از وضعیت دایرکتوری‌ها به دست آورید.

وظایف شما: ۱. دستوری بنویسید که بدون هیچ ابهامی نشان دهد در حال حاضر دقیقاً در کدام دایرکتوری ایستاده‌اید. ۲. بدون اینکه مسیر فعلی خود را تغییر دهید (بدون cd)، دستوری بنویسید که محتویات دایرکتوری /boot را با تمام جزئیات ساختاری نشان دهد. ۳. دستور LS -L /var را در ترمینال اجرا کنید. دقیقاً چه خطایی دریافت کردید؟ دلیل بروز این خطا را تحلیل کنید.