درس آموزشی درس ۱ از ۵

لینوکس چیست؟ کاربردهای Linux، تفاوت با ویندوز و شروع یادگیری

ببین لینوکس دقیقاً چیه، هسته چه فرقی با توزیع داره و چطور بدون پاک کردن ویندوز، اولین تجربه‌ات رو با چند دستور امن شروع کنی.

مقدماتی ۲۷ دقیقه مطالعه بروزرسانی ۲۳ مهر ۱۴۰۵
فهرست این درس

ببین، برای شروع لینوکس لازم نیست ویندوزت رو پاک کنی یا صدتا دستور حفظ باشی. احتمالاً توی چند دقیقه جست‌وجو به اسم‌های Ubuntu، Debian، Linux Mint و Kali می‌رسی و هر کسی هم یه توزیع رو پیشنهاد می‌ده. طبیعی هم هست که گیج بشی؛ هنوز نمی‌دونی کدوم اسم به سیستم‌عامل اشاره می‌کنه و کدوم فقط یه نسخه از اونه. اول همین سؤال رو جواب بدیم: لینوکس چیست و واقعاً کجا به دردت می‌خوره؟

اگه بخوام دقیق بگم، لینوکس در اصل یه هسته یا Kernel هست؛ بخشی از سیستم‌عامل که منابع دستگاه رو مدیریت می‌کنه و بین برنامه‌ها و سخت‌افزار قرار می‌گیره. چیزی که معمولاً با اسم لینوکس نصب می‌کنی، یک توزیع لینوکسه؛ یعنی هسته به‌اضافه ابزارها، کتابخانه‌ها و برنامه‌های مورد نیاز. توی این درس، به‌جای حفظ تعریف، می‌بینیم این تفاوت چه اثری روی انتخاب توزیع، کار با سیستم و شروع امن یادگیری داره.

این اولین درس از مسیر رایگان Linux Essentials نابغه‌هاست. اینجا از پایه جلو می‌ریم و برای کسی نوشته شده که دنبال آموزش لینوکس برای مبتدیانه. اگر قبلاً فقط با ویندوز کار کردی، مشکلی نیست؛ اول مفاهیم رو می‌شناسیم و بعد با چند دستور بی‌خطر محیط رو بررسی می‌کنیم. آموزش جدی ترمینال، فایل‌ها و مجوزها رو هم توی درس‌های جدا می‌ریم سراغشون.

لینوکس چیست

لینوکس چیست؟ توضیح ساده قبل از هر اصطلاح فنی

بذار با یه مثال جلو بریم. وقتی مرورگر رو باز می‌کنی، برنامه برای کار کردن به حافظه، پردازنده، دیسک و شبکه احتیاج داره. اما خودش قرار نیست برای هر مدل کارت شبکه یا هارد، یک روش مدیریت منابع از صفر بنویسه. اینجاست که سیستم‌عامل و هسته وارد می‌شن. اگه کسی ازت پرسید سیستم عامل لینوکس چیست، بهتره فرق یک سیستم کامل با هسته اون رو براش توضیح بدی.

مثلاً وقتی فایلی دانلود می‌کنی، مرورگر ظاهر دانلود رو نشون می‌ده، ابزارهای سیستم درخواست رو آماده می‌کنن و بخش‌هایی از کار شبکه و نوشتن روی دیسک از مسیر هسته انجام می‌شه. بنابراین توی مکالمه روزمره وقتی می‌گیم «لینوکس نصب کردم»، معمولاً منظورمون یک سیستم کامل مبتنی بر هسته لینوکسه. قرار نیست فقط هسته رو روی دیسک کپی کنیم و توقع داشته باشیم یک دسکتاپ آماده بالا بیاد.

پس اگه یه جا دیدی نوشته «Linux چیست؟»، بدون که ممکنه منظور نویسنده خود Kernel باشه یا یک سیستم‌عامل مبتنی بر اون. لازم نیست سر اسم‌ها با کسی بحث کنی؛ فقط این دو مفهوم رو قاطی نکن. برای دیدن توضیح رسمی، وب‌سایت Linux Kernel هم روشن می‌کنه که کاربر عادی برای استفاده روزمره باید یک توزیع کامل انتخاب کنه.

هسته لینوکس با سیستم‌عامل و توزیع چه فرقی دارد؟

فرق هسته و توزیع رو مثل فرق موتور ماشین و خود ماشین در نظر بگیر؛ موتور بخش مهمیه، ولی بدون بقیه قطعات قرار نیست پشت فرمون بشینی و حرکت کنی. البته این فقط یه تشبیهه، نه توصیف دقیق معماری سیستم. هسته لینوکس چیست؟ بخش مسئول مدیریت منابع و تعاملات سطح پایین سیستم. توزیع چیه؟ مجموعه‌ای که این هسته رو کنار ابزارهای لازم قرار می‌ده تا واقعاً بتونی با دستگاه کار کنی.

بخشوظیفه اصلینمونه
Kernel / هستهمدیریت منابع و ارتباط با سخت‌افزارLinux kernel
ابزارهای فضای کاربراجرای فرمان‌ها و فراهم کردن قابلیت‌های سیستمBash، coreutils
مدیر بستهنصب و به‌روزرسانی نرم‌افزار با مخزن توزیعAPT، DNF
محیط دسکتاپپنجره‌ها، تنظیمات و کار با موسGNOME، KDE Plasma، Cinnamon
توزیع Linuxکنار هم گذاشتن اجزا با انتخاب‌ها و سیاست‌های مشخصUbuntu، Debian، Fedora، Mint

یه نکته هم هست: همه توزیع‌ها از ابزارها و تنظیمات یکسان استفاده نمی‌کنن. مثلاً سرور ممکنه هیچ دسکتاپی نداشته باشه، ولی برای اجرای سرویس‌ها کاملاً آماده باشه. اسم GNU/Linux رو هم ممکنه ببینی که به نقش ابزارهای پروژه GNU در خیلی از سیستم‌های مبتنی بر لینوکس اشاره می‌کنه. فعلاً مهم اینه که Kernel، Shell و محیط گرافیکی رو یک چیز تصور نکنی.

لینوکس کجا استفاده می‌شود و چرا باید یادش بگیریم؟

حالا برسیم به سؤال کاربردی‌تر: لینوکس به چه درد می خورد؟ فقط برای صفحه مشکی ترمینال یا تست نفوذ نیست. لینوکس روی سرورها، بعضی لپ‌تاپ‌ها، تجهیزات شبکه و دستگاه‌های توکار استفاده می‌شه. کاربرد لینوکس به کار تو بستگی داره: شاید بخوای برنامه بنویسی، یک سرویس روی سرور راه بندازی، یا فقط یک محیط متفاوت برای کارهای روزانه داشته باشی.

برای برنامه‌نویسی و توسعه نرم‌افزار

اگه سمت برنامه‌نویسی بری، حتی وقتی کدت رو روی ویندوز می‌نویسی ممکنه روزی روی سرور لینوکسی اجراش کنی. اون موقع باید بدونی فایل‌ها کجا قرار می‌گیرن، متغیر محیطی چیه، سرویس با چه کاربری اجرا می‌شه و چرا به یک پوشه دسترسی نداره. پس لینوکس برای برنامه نویسی فقط حفظ دستورهای ترمینال نیست؛ فهمیدن محیطیه که برنامه‌ات قراره توش زندگی کنه.

برای مدیریت سرور، شبکه و DevOps

توی مدیریت سرور هم داستان کاملاً عملیه. باید بتونی وضعیت یک سرویس رو ببینی، فضای دیسک رو کنترل کنی، خطاها رو از لاگ دربیاری و به‌روزرسانی‌ها رو مدیریت کنی. لازم نیست همه این کارها رو همین امروز یاد بگیری. اما وقتی پایه‌ها رو بفهمی، مفاهیمی مثل مجوز فایل، مسیرهای سیستم و دسترسی کاربران برات معنی پیدا می‌کنن. این پایه بعداً برای شبکه، DevOps و نگهداری سرویس‌ها حسابی به کارت میاد.

برای هک اخلاقی و امنیت سایبری

اگه به امنیت علاقه داری احتمالاً اسم Kali Linux رو شنیدی. ولی نصب کالی به‌تنهایی کسی رو متخصص امنیت نمی‌کنه. ابزار آماده داره، اما باید شبکه، مجوزها، پردازش‌ها و خروجی هر ابزار رو خودت بفهمی. من ترجیح می‌دم اول سیستم رو بشناسی، بعد وارد ابزارهای تخصصی بشی؛ چون بدون فهمیدن مقدمات، حتی ممکنه متوجه نشی یک فرمان داره روی چه چیزی تغییر ایجاد می‌کنه.

برای استفاده روزانه از کامپیوتر

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

آیا لینوکس همان یونیکس است؟ نقش GNU و داستان کوتاه تولد Linux

برای تاریخچه هم همین‌قدر بدونی کافیه: Unix روی طراحی خیلی از سیستم‌عامل‌ها اثر گذاشت. لینوکس شبیه سیستم‌های یونیکسی رفتار می‌کنه، اما هسته‌اش کپی کد Unix نیست. لینوس توروالدز پروژه هسته رو سال ۱۹۹۱ شروع کرد و بعد جامعه بزرگی از توسعه‌دهنده‌ها وارد کار شدن. برای فهم درس امروز لازم نیست تاریخ تمام نسخه‌ها رو حفظ کنی؛ مهم اینه که اسم Linux و Unix رو یکی ندونی.

پروژه GNU هم ابزارهای مهمی برای ساخت سیستم‌های آزاد فراهم کرده بود. وقتی ابزارهای مختلف کنار هسته لینوکس قرار گرفتن، امکان ساخت توزیع‌های قابل استفاده به وجود اومد. همین نکته توضیح می‌ده چرا یک سیستم لینوکسی فقط Kernel نیست. دفعه بعد که اسم Shell، Desktop Environment یا Package Manager رو شنیدی، راحت‌تر می‌فهمی هر کدوم چه نقشی دارن.

متن‌باز بودن لینوکس یعنی چه؟ آیا لینوکس رایگان است؟

اگه می‌پرسی «لینوکس رایگان است؟» جواب کوتاه اینه: خیلی از توزیع‌ها رو می‌تونی رایگان دانلود و استفاده کنی، ولی همه محصولات و خدمات مربوط به لینوکس رایگان نیستن. متن‌باز بودن هسته یعنی کدش طبق شرایط مجوز قابل مشاهده، تغییر و بازتوزیعه. بعضی شرکت‌ها هم بابت پشتیبانی سازمانی، آموزش یا نرم‌افزارهای جانبی هزینه می‌گیرن. پس «متن‌باز» رو با «بدون هزینه در هر شرایطی» یکی نگیر.

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

تفاوت لینوکس و ویندوز چیست؟ یک مقایسه بدون تعصب

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

موضوعلینوکسویندوز
انتخاب نسخهتوزیع‌ها و محیط‌های متنوعمحصولات و نسخه‌های متمرکزتر
مدیریت نرم‌افزارمعمولاً مخزن و Package Manager توزیعStore، نصب‌کننده‌ها و مدیر بسته
خط فرمانShellها و ابزارهای یونیکسی رایجPowerShell و CMD، به‌علاوه WSL
برنامه‌های اختصاصینیازمند بررسی سازگاری هر برنامهپشتیبانی بومی بسیاری از نرم‌افزارهای تجاری
هزینهبسیاری از توزیع‌ها رایگان؛ خدمات ممکن است پولی باشدمدل مجوز بسته به نسخه و دستگاه
امنیتوابسته به پیکربندی و به‌روزرسانیوابسته به پیکربندی و به‌روزرسانی

فرض کن برای کار روزانه به یک نرم‌افزار مخصوص ویندوز وابسته‌ای. اینکه صرفاً برای آموزش لینوکس از صفر سیستم فعلیت رو پاک کنی، ریسک غیرضروریه. می‌تونی کنار ویندوز با WSL یا ماشین مجازی تمرین کنی. برعکس، اگه هدف اصلیت مدیریت سرور لینوکسیه، هرچه بیشتر توی محیط واقعی لینوکس تمرین کنی بهتره. مقایسه درست از نیاز شروع می‌شه، نه از شعار «کدوم برنده‌ست».

آیا لینوکس امن‌تر است؟ جواب واقعی به‌جای شعار

ممکنه شنیده باشی لینوکس ویروس نمی‌گیره. نه، این ادعا درست نیست. مجوزها، به‌روزرسانی و ابزارهای امنیتی کمک می‌کنن، ولی هیچ سیستم‌عاملی خودبه‌خود نفوذناپذیر نیست. رمز ضعیف، سرویس آسیب‌پذیر یا تنظیم اشتباه شبکه می‌تونه روی لینوکس هم مشکل جدی بسازه. پس به‌جای مقایسه شعاری امنیت دو سیستم، باید شیوه پیکربندی و نگهداریشون رو بررسی کنیم.

یه اشتباه رایج اینه که وقتی دستور خطا داد، فوراً اولش sudo می‌ذاریم. شاید خطا موقتاً ناپدید بشه، ولی هنوز نمی‌دونیم مشکل چی بوده. قبل از بالا بردن سطح دسترسی، پیام خطا، مالک فایل و مجوزها رو بررسی کن. این دقیقاً همون عادتیه که توی درس مجوزهای لینوکس با تمرین یاد می‌گیریم.

توزیع لینوکس چیست و چرا این‌همه نام مختلف داریم؟

حالا که معنی Linux رو می‌دونی، وقت سؤال بعدیه: توزیع لینوکس چیست و چرا این‌همه اسم داریم؟ هر توزیع، هسته و ابزارها رو با انتخاب‌های خودش کنار هم قرار می‌ده؛ مثل نسخه نرم‌افزارها، مدیر بسته، محیط دسکتاپ و زمان‌بندی انتشار. برای همین Ubuntu و Fedora می‌تونن هر دو لینوکسی باشن، اما تجربه نصب و نگهداری‌شون یکسان نباشه.

توزیعویژگی برای شناخت اولیهمناسب چه کسی؟
Ubuntuمحبوب، مستندات فراوان، نسخه‌های LTSمبتدی و کاربر عمومی
Linux Mintدسکتاپ آشنا و رویکرد کاربرپسندمهاجرت تدریجی از ویندوز
Debianتمرکز روی پایداری و مدیریت بستهیادگیری و محیط‌های گوناگون
Fedoraفناوری‌ها و نرم‌افزارهای به‌روزترعلاقه‌مند به محیط توسعه و فناوری تازه
Kali Linuxمجموعه ابزارهای ارزیابی امنیتتمرین قانونی امنیت با دانش پایه
Arch Linuxانتخاب و پیکربندی دستی بیشترکاربر مشتاق یادگیری عمیق‌تر

این دسته‌بندی‌ها حکم قطعی ندارن. ممکنه یک توسعه‌دهنده Linux Mint رو ترجیح بده و یک مدیر سرور Ubuntu رو. برای تازه‌کار، وجود مستندات قابل فهم و مسیر نصب مطمئن از عجیب و خاص بودن توزیع مهم‌تره. قبل از انتخاب، ببین دقیقاً از محیط چه انتظاری داری؛ اسم توزیع به‌تنهایی تضمین نمی‌کنه همه‌چیز بی‌دردسر کار کنه.

Ubuntu، Debian، Linux Mint و Kali چه فرقی دارند؟

برای فهمیدن فرق لینوکس با اوبونتو باید یادت باشه لینوکس اسم هسته‌ست و Ubuntu اسم یک توزیع. Debian یک پروژه مهم و قدیمیه؛ Ubuntu از خانواده Debian میاد و Linux Mint هم نسخه‌های مبتنی بر Ubuntu و Debian داره. اما داشتن ریشه مشترک به معنی یکی بودن بسته‌ها، تنظیمات یا چرخه پشتیبانی نیست. با این نگاه، دیگه اسم توزیع‌ها رو با اسم هسته قاطی نمی‌کنی.

کالی کاربرد تخصصی‌تری داره: برای ارزیابی امنیت و تست نفوذ طراحی شده و ابزارهای زیادی رو آماده در اختیارت می‌ذاره. ولی برای کسی که هنوز مسیر فایل، کاربر و مجوز رو نمی‌شناسه، شروع با Kali لزوماً آموزش راحت‌تری نیست. اول پایه‌های لینوکس رو یاد بگیر، بعد با هدف مشخص و در محیط قانونی برو سراغ ابزارهای امنیتی.

LTS و Rolling Release یعنی چه و برای شروع کدام بهتر است؟

موقع انتخاب توزیع با دو اصطلاح LTS و Rolling Release هم روبه‌رو می‌شی. LTS معمولاً یعنی پشتیبانی بلندمدت، هرچند مدت و شرایطش در هر توزیع فرق می‌کنه. Rolling Release هم یعنی تغییرها و نسخه‌های تازه معمولاً به‌شکل پیوسته منتشر می‌شن. هیچ‌کدوم ذاتاً برنده نیست؛ باید ببینی چقدر به ثبات محیط تمرین و به‌روزرسانی‌های جدید نیاز داری.

اگه تازه‌کاری، بهتره سیستم تمرینت قابل پیش‌بینی باشه تا وقتت صرف درست کردن مشکل‌های حاشیه‌ای نشه. برای سؤال «بهترین لینوکس برای شروع کدومه؟» معمولاً جواب من یک گزینه با مستندات روشن، جامعه کاربری فعال و نصب ساده‌ست؛ مثل Ubuntu یا Linux Mint، البته به شرط اینکه با دستگاه و نیازت سازگار باشن.

برای شروع یادگیری لینوکس باید ویندوز را پاک کنیم؟

نه؛ برای شروع اصلاً لازم نیست ویندوز رو پاک کنی. تازه‌کارها گاهی مستقیم سراغ نصب می‌رن و موقع انتخاب دیسک یا پارتیشن تازه می‌فهمن ممکنه اطلاعاتشون از بین بره. برای اولین تجربه، WSL، ماشین مجازی یا Live USB معمولاً گزینه‌های امن‌تری‌ان. قبل از هر نصب دائمی هم بکاپ مستقل داشته باش؛ فقط داشتن یک نسخه از فایل روی همون دیسک، بکاپ قابل اتکا نیست.

روش تمرینمزیت اصلیمحدودیت مهم
WSL روی ویندوزشروع راحت با ابزارهای لینوکسی بدون حذف ویندوزبرای همه تمرین‌های سطح سیستم و دسکتاپ کامل جایگزین VM نیست
ماشین مجازی (VM)محیط نسبتاً مستقل و مناسب آزمایشنیاز به RAM و فضای ذخیره‌سازی
Live USBامتحان دسکتاپ و سازگاری دستگاه بدون نصب دائمیتغییرات بدون تنظیم ذخیره‌سازی پایدار معمولاً باقی نمی‌مانند
نصب کنار ویندوزاجرای بومی هر دو سیستمنیازمند پشتیبان و دقت بالا در پارتیشن‌بندی
نصب کامل روی سخت‌افزاراستفاده اصلی از لینوکس روی دستگاهریسک حذف اطلاعات در صورت انتخاب اشتباه دیسک

اگه هدفت یادگیری فرمان‌ها روی ویندوز ۱۱ باشه، WSL شروع مناسبیه. برای تجربه یک سیستم مستقل و تمرین بوت یا دسکتاپ، ماشین مجازی کمک بیشتری می‌کنه. Live USB هم برای دیدن سازگاری سخت‌افزار مفیده. انتخاب آخر به کاری بستگی داره که می‌خوای یاد بگیری، نه اینکه همه باید حتماً یک روش رو انتخاب کنن. برای مباحث بعدی هم درس ترمینال و Bash رو داریم.

یک سناریوی آموزشی : سه دستگاه، یک کار، سه انتخاب متفاوت

برای تصمیم‌گیری یه سناریوی فرضی ببین. یک کارگاه کوچک چاپ برچسب سه دستگاه داره: لپ‌تاپ سفارش‌ها با ویندوز، یک کامپیوتر قدیمی برای نمایش وضعیت سفارش‌ها و سیستمی که قراره فایل‌های آرشیو رو نگه داره. صاحب کارگاه شنیده لینوکس رایگانه و می‌خواد هر سه رو همین فردا عوض کنه. آیا واقعاً یک نسخه لینوکس برای هر سه دستگاه بهترین انتخابه؟ نه لزوماً؛ باید وظیفه هر دستگاه رو جدا بررسی کنیم.

لپ‌تاپ سفارش‌ها یک نرم‌افزار تخصصی چاپ داره که نسخه لینوکسی مشخصی براش پیدا نشده؛ بهتره فعلاً ویندوزش دست‌نخورده بمونه. روی کامپیوتر قدیمی، بعد از بررسی کارت شبکه و نمایشگر و برنامه‌های لازم، شاید دسکتاپ سبک لینوکسی مناسب باشه. دستگاه آرشیو هم احتمالاً به محیط گرافیکی نیاز نداره. می‌بینی؟ حتی در یک کارگاه، انتخاب خوب ممکنه برای هر دستگاه متفاوت باشه.

نکته این سناریو این نیست که یه توزیع خاص رو برنده اعلام کنیم. باید بپرسی دستگاه چه کاری می‌کنه، کدوم نرم‌افزارها ضروری‌ان، چه کسی ازش نگهداری می‌کنه و ریسک تغییر چقدره. همه شخصیت‌ها و دستگاه‌های این مثال فرضی‌ان؛ هدف اینه که روش تصمیم‌گیری رو یاد بگیری، نه اینکه ادعای اجرای یک پروژه واقعی داشته باشیم.

آموزش لینوکس برای مبتدیان

برای انتخاب اولین توزیع لینوکس، این پنج سؤال را جواب بده

قبل از دانلود فایل ISO پنج سؤال رو برای خودت روشن کن: با لینوکس چه کاری دارم؟ کدوم نرم‌افزار و سخت‌افزار باید حتماً کار کنه؟ دستگاه چقدر RAM و فضای آزاد داره؟ اگه به خطا خوردم کجا دنبال مستندات بگردم؟ و اگه چیزی خراب شد چطور به وضعیت قبلی برگردم؟ این پنج سؤال، پایه انتخاب واقع‌بینانه‌ان.

جواب‌ها رو کوتاه بنویس. مثلاً «هدف: یادگیری خط فرمان»، «سیستم: ویندوز ۱۱»، «نیاز: حفظ برنامه‌های کاری»، «ریسک مجاز: بدون تغییر پارتیشن». اینجا WSL یا VM معمولاً منطقی‌تر از نصب مستقیمه. اما اگه می‌خوای وای‌فای، صدا و نمایشگر لپ‌تاپ رو با لینوکس امتحان کنی، Live USB اطلاعات بهتری می‌ده. اسم توزیع باید بعد از تعریف نیاز انتخاب بشه.

اولین تجربه لینوکس بدون نصب روی هارد : WSL، ماشین مجازی یا Live USB؟

روش اول : آشنایی با WSL در ویندوز

برای شروع WSL روی ویندوز ۱۱، اول مطمئن شو نسخه ویندوز و قابلیت مجازی‌سازی دستگاهت پشتیبانی می‌شن. بعد طبق راهنمای رسمی Microsoft، PowerShell رو با دسترسی لازم باز کن و دستور زیر رو اجرا کن. روی بعضی دستگاه‌ها نیاز به راه‌اندازی مجدد داری. این دستور رو توی ترمینال لینوکس وارد نکن؛ محل اجرای اون ویندوزه.

wsl --install

دستور قبل معمولاً WSL و توزیع پیش‌فرض رو نصب می‌کنه، اما اگه چیزی از قبل نصب شده باشه ممکنه رفتار متفاوتی ببینی. برای فهرست توزیع‌های قابل دریافت، دستور بعدی رو بزن. اگه نصب خطا داد، پیام کامل رو نگه دار و مستندات مایکروسافت رو بررسی کن؛ صرفاً تکرار پشت‌سرهم فرمان کمکی نمی‌کنه.

wsl --list --online

روش دوم : ماشین مجازی برای تمرین یک سیستم مستقل

اگه می‌خوای یک سیستم لینوکسی نسبتاً مستقل رو از روشن شدن تا ورود به دسکتاپ تجربه کنی، ماشین مجازی انتخاب خوبیه. می‌تونی سیستم فعلیت رو نگه داری و توی VirtualBox یا VMware یک توزیع نصب کنی. فقط یادت باشه VM به RAM و فضای دیسک احتیاج داره و رفتار بعضی سخت‌افزارها با دستگاه واقعی فرق می‌کنه. قبل از آزمایش‌های حساس هم Snapshot مناسب بگیر.

روش سوم : Live USB برای امتحان کردن محیط دسکتاپ

برای امتحان کردن سازگاری کارت شبکه، صدا و تاچ‌پد، Live USB کمک می‌کنه بدون نصب دائمی محیط رو ببینی. ولی «اجرای زنده» به این معنی نیست که هر کلیکی امنه؛ اگه وارد نصب‌کننده بشی و دیسک اشتباهی انتخاب کنی، باز هم خطر وجود داره. راهنمای رسمی Try Ubuntu Desktop رو قبل از شروع بخون.

آزمایش عملی : چطور بفهمیم واقعاً داخل لینوکس هستیم؟

خب، حالا وقت یک آزمایش ساده‌ست. فرض کن ترمینال رو باز کردی؛ از کجا می‌فهمی محیطت واقعاً مبتنی بر لینوکسه؟ اسم هسته و اسم توزیع رو چطور جدا بررسی می‌کنی؟ سه دستور پایین رو توی ترمینال لینوکس اجرا کن. این‌ها فقط اطلاعات می‌خونن و تنظیمات سیستم رو تغییر نمی‌دن؛ برای اولین تمرینِ واقعی کاملاً مناسبن.

uname -s
cat /etc/os-release
whoami

دستور uname -s اسم هسته رو گزارش می‌کنه که روی توزیع‌های معمولی Linuxه. فایل /etc/os-release اطلاعات توزیع رو نشون می‌ده و whoami هم نام کاربر فعلی رو چاپ می‌کنه. پس سه چیز متفاوت دیدی: هسته، توزیع و کاربر. برای درک بهتر مسیرهای فایل و اینکه چرا /etc جای تنظیمات سیستمیه، بعداً درس ساختار فایل‌سیستم لینوکس رو بخون.

Linux
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
...
student

خروجی پایین فقط نمایشی‌ه. ممکنه توزیع یا نسخه سیستم تو فرق داشته باشه و محتوای /etc/os-release هم خط‌های بیشتری داشته باشه. روی WSL 2 هم معمولاً uname -s مقدار Linux می‌ده، چون هسته لینوکس اجرا می‌شه؛ ولی این به معنی پاک شدن ویندوز یا بوت مستقل یک دسکتاپ لینوکسی نیست.

چرا این سه دستور از حفظ کردن اسم توزیع‌ها مفیدترند؟

فرق این تمرین با حفظ کردن اسم توزیع‌ها اینه که داری اطلاعات رو از خود سیستم می‌پرسی. وقتی آموزش نصب یک بسته مخصوص Ubuntu بود، اول می‌تونی بررسی کنی تو هم روی Ubuntu هستی یا نه. وقتی گفت «با کاربر عادی اجرا کن»، می‌دونی چرا باید هویت فعلی رو بشناسی. یادگیری Linux از همین مشاهده‌های ساده شروع می‌شه، نه از کپی کردن بی‌فکر دستورها.

تمرین دوم : اولین فایل متنی را با ترمینال بسازیم

حالا یک فایل واقعی بسازیم، اما بدون دست زدن به فایل‌های سیستمی. توی پوشه Home خودت یک پوشه تمرینی می‌سازیم و داخلش یک یادداشت می‌ذاریم. دستورها رو در ترمینال لینوکس اجرا کن، نه PowerShell. از مسیر اختصاصی تمرین استفاده می‌کنیم تا اشتباهی به پوشه‌های مهم مثل /etc و /usr کاری نداشته باشیم.

mkdir -p "$HOME/linux-first-step"
printf "%s\n" "Linux is more than a black terminal." > "$HOME/linux-first-step/note.txt"
cat "$HOME/linux-first-step/note.txt"

فرمان اول با mkdir -p پوشه تمرین رو می‌سازه. دستور دوم یک متن کوتاه داخل note.txt می‌نویسه و فرمان سوم اون رو چاپ می‌کنه. دقت کن علامت > اگر فایل مقصد از قبل وجود داشته باشه، محتوای قبلی همون فایل رو بازنویسی می‌کنه. برای همین توی این مثال فقط از یک فایل آزمایشی مشخص استفاده کردیم، نه یک فایل مهم سیستم.

Linux is more than a black terminal.

برای اینکه مسیر فایل دستت بیاد، با دستورهای بعدی آدرس Home و محتویات پوشه تمرین رو ببین. لازم نیست همین الان همه گزینه‌های ls رو حفظ کنی؛ فقط رابطه «دستور، مسیر، نتیجه» رو بفهم. توی درس دستورات لینوکس همین کارها رو مرحله‌به‌مرحله بیشتر تمرین می‌کنیم.

printf "%s\n" "$HOME"
ls -l "$HOME/linux-first-step"

اگر دستور اجرا نشد، چطور خطا را بفهمیم؟

اگه دستور خطا داد، اول پیامش رو دقیق بخون. مثلاً شاید cat /etc/os-release رو توی PowerShell اجرا کردی، نه محیط لینوکس. یا اسم یک مسیر رو اشتباه نوشتی. یا کاربر فعلی به اون فایل دسترسی نداره. راه‌حل این‌ها یکی نیست و قرار نیست هر بار با sudo مشکل رو پنهان کنیم. اول بفهم چی اتفاق افتاده؛ بعد دستور درست رو انتخاب کن.

مشاهدهسؤال درستقدم بعدی
command not foundدستور وجود ندارد یا مسیر اجرایی درست نیست؟نام دستور و محیط اجرا را بررسی کن
No such file or directoryمسیر یا فایل دقیقاً وجود دارد؟مسیر و حروف بزرگ/کوچک را بررسی کن
Permission deniedکاربر فعلی اجازه این عملیات را دارد؟مالکیت و مجوز را بررسی کن؛ کورکورانه sudo نزن
متن خروجی با آموزش فرق داردتوزیع، نسخه یا محیط متفاوت است؟نسخه و نام توزیع را شناسایی کن

برای گرفتن کمک، سه مورد رو کنار هم ثبت کن: فرمان دقیق، متن کامل خطا و محیط اجرا. اینکه فقط بگی «لینوکس خطا می‌ده» اطلاعات کافی نیست. اما «Ubuntu داخل WSL 2 و پیام Permission denied برای یک فایل مشخص» به کسی که راهنماییت می‌کنه سرنخ قابل بررسی می‌ده. این عادت بعداً توی سرور و برنامه‌نویسی خیلی به کارت میاد.

ترمینال، Shell و Bash یکی هستند؟

ترمینال، Shell و Bash یک چیز نیستن. ترمینال برنامه‌ایه که ورودی می‌گیره و خروجی نمایش می‌ده؛ Shell فرمان‌ها رو تفسیر می‌کنه و Bash یکی از Shellهای معروفه. ممکنه دو نفر ترمینال‌هایی با ظاهر متفاوت داشته باشن اما هر دو از Bash استفاده کنن. فهم همین تفاوت جلوِ اشتباه‌های زیادی رو می‌گیره، مخصوصاً وقتی یک دستور فقط برای Shell خاصی نوشته شده.

فعلاً لازم نیست تنظیمات Shell رو تغییر بدی. همین که بفهمی pwd مسیر فعلی رو نشون می‌ده و whoami کاربر رو، برای درس اول کافیه. وقتی بعداً وارد متغیرها، Pipe و اسکریپت‌ها بشی، نقش Bash واضح‌تر می‌شه. ترمینال ابزار ارتباط تو با سیستمه، نه تعریف کامل لینوکس.

آیا برای لینوکس باید برنامه‌نویسی بلد باشیم؟

نه؛ لازم نیست قبل از شروع Python یا زبان دیگه‌ای بلد باشی. برای شناخت لینوکس می‌تونی از فایل‌ها، خط فرمان، کاربران و مجوزها شروع کنی. اگه بعداً برنامه‌نویسی یاد بگیری، ابزارهای خودکارسازی هم برات باز می‌شن. اما برای همین آموزش لینوکس از صفر، مهم‌تر از بلد بودن زبان برنامه‌نویسی اینه که با دقت دستور اجرا کنی و نتیجه رو بفهمی.

فرق مهمی هست بین «برنامه‌نویسی بلد نیستم» و «نمی‌دونم فرمانی که اجرا می‌کنم چه کاری می‌کنه». حتی برای کارهای ساده هم بهتره قبل از اجرا بفهمی دستور چه فایل‌هایی رو می‌خونه یا تغییر می‌ده. تمرین امن و خواندن خروجی کم‌کم باعث می‌شه مستقل بشی؛ فقط دیدن ویدیو و تکرار بی‌فکر فرمان چنین نتیجه‌ای نمی‌ده.

کاربرد لینوکس

هوش مصنوعی می‌تواند جای یادگیری لینوکس را بگیرد؟

الان می‌تونی از هوش مصنوعی درباره هر خطای لینوکس سؤال کنی و سریع جواب بگیری. خوبه، اما جواب ممکنه برای توزیع دیگه‌ای باشه یا فرض کنه فایلی روی سیستم تو وجود داره که واقعاً نداری. مخصوصاً دستورهایی که به دیسک یا مجوز دسترسی مربوط می‌شن، باید قبل از اجرا بررسی بشن. یک کاراکتر اشتباه هم گاهی اثر مهمی داره.

بهتره از AI بخوای متن خطا رو توضیح بده، چند علت احتمالی بگه و پیشنهاد کنه چطور فرضیه‌ها رو بررسی کنی. بعد خودت شرایط سیستم رو با مستندات رسمی تطبیق بده. کسی که تفاوت Kernel و توزیع رو می‌فهمه و مسیرها و Permission رو می‌شناسه، می‌تونه جواب AI رو دقیق‌تر ارزیابی کنه.

Linux Essentials دقیقاً چیست و چه ربطی به LPIC-1 دارد؟

اگه می‌پرسی «Linux Essentials چیست؟»، این اسم هم برای یک مسیر مقدماتی رایجه و هم برای گواهی مؤسسه Linux Professional Institute یا LPI. سرفصل‌ها درباره اکوسیستم متن‌باز، توزیع‌ها، فرمان‌ها، فایل‌ها و مجوزهای پایه‌ان. طبق صفحه رسمی اهداف آزمون، نسخه ۱٫۶ با کد 010-160 معرفی شده و آزمونش ۴۰ سؤال در ۶۰ دقیقه داره؛ قبل از ثبت‌نام، جزئیات به‌روز رو دوباره در سایت LPI بررسی کن.

در مقابل، LPIC-1 ازت شناخت فنی عمیق‌تری درباره مدیریت سیستم، بسته‌ها، سرویس‌ها و نگهداری لینوکس می‌خواد. این دو گواهی یکی نیستن و خوندن چند مقاله هم آمادگی قطعی آزمون رو تضمین نمی‌کنه. اگه هنوز با فایل و مجوز راحت نیستی، اول پایه رو محکم کن. بعد می‌تونی به مسیر LPIC-1 نابغه‌ها سر بزنی و درس‌های تخصصی‌تر رو ببینی.

از کجا یادگیری لینوکس را شروع کنیم؟ نقشه راه کوتاه و کاربردی

اگه تازه می‌خوای شروع کنی، نقشه راه رو پیچیده نکن. اول Kernel، Distribution و Shell رو بشناس. بعد توی WSL یا VM یک ترمینال باز کن، اطلاعات سیستم رو بخون و چند فایل تمرینی بساز. قدم بعدی مدیریت مسیرها، نصب نرم‌افزار و مجوزهاست. هر مرحله باید اون‌قدر روشن باشه که خودت بتونی توضیح بدی چه کاری انجام دادی و چرا.

بعد از این پایه‌ها، نوبت ابزارهای شبکه، سرویس‌ها، لاگ‌ها و اسکریپت‌ها می‌رسه. ترتیب مباحث مهمه؛ چون وقتی هنوز نمی‌دونی یک سرویس با کدوم کاربر اجرا می‌شه، تنظیم دسترسی اون سرویس فقط چند خط حفظی به نظر میاد. هدف این نیست که یک‌شبه مدیر سرور بشی؛ هدف اینه که درس‌های بعدی رو روی فهم واقعی بنا کنی.

اگه می‌خوای این مسیر رو ساختاریافته و ویدیویی جلو ببری، پکیج Linux Essentials نابغه‌ها برای یادگیری منظم مباحث پایه طراحی شده. ولی برای تصمیم گرفتن درباره مسیرت لازم نیست عجله کنی؛ همین درس رایگان و تمرین‌های ابتدایی کمک می‌کنن بفهمی کدوم بخش‌ها برات جذاب‌ترن و از کجا ادامه بدی.

آموزش لینوکس از صفر

تمرین پایانی : چهار مشاهده، چهار تصمیم

برای تمرین پایانی، اول با uname -s نام هسته رو ببین. بعد /etc/os-release رو بخون، با whoami کاربر رو پیدا کن و با pwd مسیر فعلی رو ببین. حالا بدون نگاه کردن به جواب مقاله، توی یک جمله بنویس: «توی چه محیطی هستم، چه توزیعی دارم و با چه کاربری کار می‌کنم؟» این جواب باید از خروجی واقعی سیستم خودت بیاد، نه حدس.

uname -s
cat /etc/os-release
whoami
pwd

حالا برگرد سراغ کارگاه فرضی چاپ برچسب. کدوم دستگاه بهتره روی ویندوز بمونه و چرا؟ برای کدوم دستگاه Live USB مفیده؟ کجا سیستم لینوکسی مستقل منطقی‌تره؟ جواب‌ها رو با دلیل بنویس. اگه انتخابت با پیشنهاد من فرق داشت ولی بر اساس نرم‌افزار، سخت‌افزار و ریسک بود، اتفاقاً داری درست فکر می‌کنی.

اشتباه‌های رایج در شروع لینوکس که بهتر است تکرار نکنی

اشتباه اول اینه که بدون بکاپ سراغ نصب دائمی بری. دوم اینکه توزیع رو صرفاً به‌خاطر ظاهر دسکتاپ یا اسم مشهورش انتخاب کنی. سوم اینکه هر خطا رو با sudo دور بزنی. چهارم هم اینکه دو سیستم رو در شرایط کاملاً متفاوت مقایسه کنی و نتیجه بگیری یکی ذاتاً همیشه سریع‌تره. انتخاب درست باید به نیاز و شرایط واقعی دستگاه مربوط باشه.

یه اشتباه دیگه هم هست: فقط مقاله و ویدیو می‌بینی و هیچ چیزی روی محیط خودت امتحان نمی‌کنی. تمرین این درس عمداً ساده‌ست، ولی همین مشاهده‌های کوچک پایه کار با سیستم رو می‌سازن. اگه بتونی با دلیل اسم هسته و توزیع رو از هم جدا کنی، برای قدم بعد آماده‌ای.

سؤالات متداول درباره لینوکس

لینوکس چیست و به چه دردی می‌خورد؟

لینوکس در معنای دقیق یک هسته سیستم‌عامله و توزیع‌های مبتنی بر اون برای کارهای مختلف، از لپ‌تاپ و برنامه‌نویسی تا سرور، زیرساخت و تجهیزات توکار استفاده می‌شن. برای شروع لازم نیست سیستم فعلیت رو حذف کنی؛ می‌تونی با یک محیط تمرین امن آشنا بشی.

آیا لینوکس رایگان است؟

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

فرق لینوکس با اوبونتو چیست؟

لینوکس اسم هسته‌ست و اوبونتو یکی از توزیع‌های کامل مبتنی بر هسته لینوکسه. اوبونتو در کنار هسته، ابزارها، مدیر بسته، تنظیمات و در نسخه دسکتاپ محیط گرافیکی هم ارائه می‌ده.

برای یادگیری لینوکس باید برنامه‌نویسی بلد باشم؟

نه. می‌تونی از شناخت توزیع و خط فرمان شروع کنی و بعد سراغ فایل‌ها، کاربران و دسترسی‌ها بری. آشنایی با برنامه‌نویسی در مراحل بعدی برای خودکارسازی مفیده، ولی پیش‌نیاز شروع نیست.

آیا نصب لینوکس اطلاعات ویندوز را پاک می‌کند؟

بستگی به روش نصب و انتخاب دیسک داره. WSL و ماشین مجازی معمولاً بدون جایگزین کردن ویندوز قابل استفاده‌ان؛ ولی نصب مستقیم یا پارتیشن‌بندی اشتباه می‌تونه اطلاعات رو از بین ببره. قبل از نصب روی دیسک اصلی بکاپ مستقل داشته باش.

برای شروع Ubuntu بهتر است یا Kali Linux؟

اگر تازه‌کاری و می‌خوای مفاهیم عمومی سیستم‌عامل رو یاد بگیری، توزیعی کاربرپسند مثل Ubuntu یا Linux Mint معمولاً گزینه منطقی‌تریه. Kali برای کاربردهای تخصصی ارزیابی امنیت طراحی شده و نصبش جای یادگیری پایه‌های لینوکس رو نمی‌گیره.

Linux Essentials با LPIC-1 یکی است؟

نه. Linux Essentials یک مسیر و گواهی مقدماتیه که به شناخت اکوسیستم متن‌باز، فرمان‌ها، فایل‌ها و مجوزهای پایه کمک می‌کنه. LPIC-1 سطح فنی بالاتری برای مدیریت لینوکس داره و باید جداگانه برای اهداف آزمونش آماده بشی.

آیا می‌شود لینوکس را داخل ویندوز ۱۱ یاد گرفت؟

بله. برای آشنایی با ابزارهای خط فرمان می‌تونی از WSL استفاده کنی و برای تجربه سیستم مستقل و برخی مباحث مدیریتی هم ماشین مجازی انتخاب مناسبیه. تفاوت این محیط‌ها رو در نظر بگیر تا خروجی تمرین‌ها رو درست تفسیر کنی.

جمع‌بندی : لینوکس را با فهمیدن شروع کن، نه با حفظ کردن

حالا اگه کسی پرسید لینوکس چیست، می‌تونی به‌جای «یه سیستم‌عامل برای هکرها» توضیح بدی که هسته چیه و توزیع چه چیزی بهش اضافه می‌کنه. می‌دونی چرا Ubuntu و Kali برای یک هدف ساخته نشدن، چرا لازم نیست ویندوز رو پاک کنی و چطور از خود سیستم اطلاعات بگیری. این‌ها پایه واقعی ادامه مسیرن؛ نه صرفاً چند اسم و دستور حفظ‌شده.

برای ادامه، به هاب Linux Essentials برگرد و درس‌ها رو به‌ترتیب بخون. اگه تمرین‌های منظم‌تر و مسیر ویدیویی می‌خوای، دوره کامل Linux Essentials هم کنار این درس‌های رایگان در دسترسه. مهم اینه که بعد از هر درس واقعاً بتونی کاری رو انجام بدی و دلیلش رو توضیح بدی.

منابع معتبر برای بررسی بیشتر

برای جزئیات رسمی، سایت Linux Kernel رو درباره هسته و توزیع ببین؛ LPI سرفصل Linux Essentials رو منتشر می‌کنه؛ Microsoft راهنمای WSL رو داره و Ubuntu روش امتحان محیط زنده رو توضیح داده. این‌ها منبع بررسی نکات فنی هستن؛ سناریو و روایت آموزشی درس مستقل نوشته شده.

می‌خواهی عمیق‌تر جلو بروی؟

این درس فقط یک بخش از مسیر کامل است

اگر می‌خواهی مباحث را به‌ترتیب، همراه تمرین و پروژه دنبال کنی، مسیر کامل دوره را ببین.

مشاهده دوره Linux Essentials