آشنایی با لینوکس و ترمینال
لینوکس و توزیعهای آن چیستند، پوسته و ترمینال چه نقشی دارند و نخستین فرمانها را اجرا کنید.
آنچه در این درس میآموزید
- بدانید لینوکس چیست و توزیعها چه نقشی دارند
- ترمینال و پوستهٔ Bash را بشناسید و ساختار نشانهٔ فرمان را بخوانید
- نخستین فرمانها را اجرا کنید و مستندات فرمانها را در خود سیستم پیدا کنید
فهرست مطالب
از ابرسرورهایی که اینترنت را نگه میدارند تا اندروید گوشی شما و همین سیستم توسعهای که گیت رویش نصب است، همهجا لینوکس هست. برای برنامهنویس، آشنایی با لینوکس و بهطور خاص کار با خط فرمان آن یک مهارت پایه است: سرورها معمولاً بدون محیط گرافیکیاند و تنها راه حرف زدن با آنها، تایپ فرمان در ترمینال است.
در این درس نقشهٔ کلی را میبینیم و محیط کار را راه میاندازیم؛ از درس بعدی بهطور جدی با فایلها و پوشهها کار میکنیم.
لینوکس دقیقاً چیست؟
بهطور فنی، «لینوکس» فقط هستهٔ سیستمعامل (Kernel) است؛ برنامهای که لینوس توروالدز آن را در سال ۱۹۹۱ منتشر کرد و کارهای ریز و اصلی مثل مدیریت حافظه، پردازنده و فایلسیستم را انجام میدهد. آنچه در دنیا «لینوکس» صدا میشود، مجموعهای کامل است: هسته بهعلاوهٔ ابزارهای خط فرمان پروژهٔ GNU، محیطهای گرافیکی و صدها برنامهٔ دیگر.
چون همهٔ این قطعات آزاد و متنبازند، هر گروهی میتواند مجموعهٔ خودش را بستهبندی کند؛ نتیجه «توزیع» (Distribution) نام دارد. چند توزیع پرکاربرد:
- اوبونتو (Ubuntu) — محبوب برای شروع و یکی از رایجترینها روی سرورها
- دبیان (Debian) — پایهٔ اوبونتو، معروف به پایداری
- فدورا (Fedora) — توزیع پیشرفته با نسخههای جدیدتر نرمافزارها
- آرچ (Arch) — سبک و قابلسفارشیسازی برای کاربران باتجربه
فرمانهای این دوره روی همهٔ توزیعهای اصلی یکساناند؛ فقط مدیریت بستهها (درس مدیریت بسته و پردازه) بین آنها فرق میکند.
ترمینال و پوسته
وقتی پنجرهٔ سیاهی با متن سفید باز میکنید، دو چیز را دارید: «ترمینال» (Terminal) که همان پنجره است و «پوسته» (Shell) که برنامهٔ داخل آن است و فرمانهای شما را میخواند و اجرا میکند. پوستهٔ استاندارد لینوکس Bash است.
در Bash یک «نشانهٔ فرمان» (Prompt) دائم دیده میشود که آمادهٔ دریافت فرمان است و معمولاً چنین شکلی دارد:
sara@ubuntu:~$این نشانه را از راست به چپ بخوانید: ~ یعنی الان در پوشهٔ خانهٔ خودتان هستید، sara نام کاربری و ubuntu نام دستگاه است. علامت $ یعنی کاربر عادیاید؛ اگر # دیدید یعنی با دسترسی مدیریت (root) کار میکنید. بعد از این نشانه، فرمان تایپ میکنید و با کلید Enter اجرا میشود.
نخستین فرمانها
whoamiنمونهٔ خروجی:
saraفرمان whoami نام کاربر فعلی را چاپ میکند. فرمان echo هر متنی را که به آن بدهید، همانطور به خروجی میفرستد:
echo "Hello, World!"نمونهٔ خروجی:
Hello, World!آخرین مهارت این درس، مهمترین آن است: هر فرمانی در لینوکس یک کتابچهٔ راهنما دارد که به آن «صفحهٔ راهنما» (man page) میگویند و با فرمان man باز میشود. مثلاً برای دیدن راهنمای کامل فرمان ls:
man lsبا کلیدهای جهتدار بالا و پایین میروید، با Space صفحهٔ بعد، و با کلید q خارج میشوید. اگر جایی گیر کردید، اولین کار همیشه man name-of-command است.
تمرینها
تمرین
تمرین ۱ — ترمینال را بشناسید
ترمینال را باز کنید، نام کاربر خود را چاپ کنید، سپس با echo جملهای بنویسید که نام شما داخلش باشد، و در پایان صفحهٔ راهنمای فرمان whoami را باز کرده و با q خارج شوید.
# Write your commands hereنمایش راهحل
whoami
echo "I am Sara and I am learning the terminal."
man whoamiفرمان whoami فقط نام کاربری را چاپ میکند و فرمان echo هر رشتهای را که با گیومه به آن بدهید تکرار میکند.
:::
تمرین
تمرین ۲ — کاوش در man
صفحهٔ راهنمای فرمان echo را باز کنید و معنی گزینهٔ -n را از متن راهنما پیدا کنید؛ سپس این گزینه را امتحان کنید و تفاوت خروجی را با حالت معمولی توضیح دهید.
# Write your commands hereنمایش راهحل
man echo
echo -n "Line without a trailing newline"طبق راهنما، گزینهٔ -n یعنی «سطر جدید انتهایی را اضافه نکن»؛ پس بعد از این خروجی، نشانهٔ فرمان در همان سطر میماند، در حالی که echo معمولی بعد از متن یک خط جدید میگذارد.
:::
خلاصه
- لینوکس یک هستهٔ سیستمعامل است و ترکیب آن با ابزارهای آزاد، توزیعهایی مثل اوبونتو و فدورا را میسازد.
- ترمینال پنجره است و پوستهٔ Bash داخل آن فرمانها را اجرا میکند.
- نشانهٔ
$یعنی کاربر عادی و#یعنی مدیر سیستم؛~پوشهٔ خانه است. - با
manراهنمای هر فرمان را میخوانید و با Tab نامها را کامل میکنید.
ترمینال روشن است و اولین فرمانها را زدید. در درس بعدی وارد جنگل پوشهها میشویم و ساخت، کپی، جابهجایی و حذف فایلها را تمامقد تمرین میکنیم.