MG MoeinGiftPREMIUM DIGITAL STORE ورود / ثبت‌نام
خانه←مجله←نقشه راه یادگیری لینوکس از صفر تا مدیریت سرور + ۶ منبع رایگان

نقشه راه یادگیری لینوکس از صفر تا مدیریت سرور + ۶ منبع رایگان

نقشه راه یادگیری لینوکس از صفر تا مدیریت سرور + ۶ منبع رایگان

اگر می‌خواهید لینوکس را اصولی یاد بگیرید، حفظ کردن صدها Command به‌تنهایی کافی نیست.

لینوکس زمانی واقعاً در ذهنتان می‌ماند که با آن کار کنید:

  • فایل بسازید و جابه‌جا کنید
  • Permissionها را تغییر دهید
  • با SSH به Server وصل شوید
  • Processها را مدیریت کنید
  • Logها را بررسی کنید
  • Web Server راه‌اندازی کنید
  • مشکلات واقعی سیستم را حل کنید

به همین دلیل بهترین مسیر یادگیری Linux ترکیبی از مطالعه، تمرین، Challenge و کار با یک Server واقعی است.

در این مقاله از معین گیفت ۶ منبع رایگان و کاربردی را معرفی می‌کنیم که می‌توانند شما را از اولین Commandهای Linux تا مدیریت یک Server واقعی همراهی کنند.

منابعی که بررسی می‌کنیم:

  • Linux Journey
  • The Linux Command Line
  • OverTheWire: Bandit
  • Linux Upskill Challenge
  • ExplainShell
  • ArchWiki

چرا حفظ کردن دستورات لینوکس کافی نیست؟

یکی از اشتباهات رایج افراد تازه‌کار این است که سعی می‌کنند فهرست بزرگی از Commandها را حفظ کنند:

ls
cd
cp
mv
rm
grep
find
chmod
chown
ps
kill
systemctl
journalctl

اما معمولاً چند روز بعد بیشتر آن‌ها فراموش می‌شوند.

روش بهتر این است که هر دستور را هنگام حل یک مسئله واقعی یاد بگیرید.

مثلاً وقتی واقعاً لازم باشد فایل بزرگی را در Server پیدا کنید، دستور:

find

خیلی بهتر در ذهن شما باقی می‌ماند.

یا وقتی یک Service از کار افتاده باشد و برای پیدا کردن دلیل مشکل از:

systemctl
journalctl

استفاده کنید، مفهوم مدیریت Serviceها بسیار بهتر از خواندن یک لیست Command در ذهن می‌ماند.

مرحله اول: Linux Journey؛ یادگیری لینوکس از صفر

اگر تقریباً هیچ تجربه‌ای با Linux ندارید، Linux Journey یکی از بهترین نقاط شروع است.

Linux Journey از مفاهیم کاملاً پایه شروع می‌کند و مرحله‌به‌مرحله شما را وارد دنیای Linux می‌کند.

موضوعات آن شامل مواردی مثل:

  • Linux چیست؟
  • Distributionها
  • Command Line
  • File System
  • Text Processing
  • Permissions
  • Processها
  • Packages
  • Networking

است.

Linux Journey حالا کجاست؟

نسخه اصلی Linux Journey سال‌ها روی:

linuxjourney.com

قرار داشت.

این پروژه حالا به‌صورت رسمی بخشی از LabEx شده و محتوای Linux Journey در پلتفرم جدید ادامه پیدا کرده است.

یکی از نکات خوب نسخه جدید، اضافه شدن محیط‌های Hands-on است؛ یعنی می‌توانید بعضی Commandها را مستقیماً در Terminal داخل Browser تمرین کنید.

برای شروع:

شروع Linux Journey →

از Linux Journey چه چیزهایی یاد بگیریم؟

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

روی این موارد تمرکز کنید:

  1. Navigation در File System
  2. ساخت و حذف فایل و Directory
  3. Copy و Move
  4. خواندن فایل‌ها
  5. Search
  6. Permissions
  7. Processها
  8. Package Management

وقتی با این مفاهیم راحت شدید، سراغ مرحله بعد بروید.

مرحله دوم: The Linux Command Line؛ تسلط واقعی بر ترمینال

بعد از آشنایی اولیه با Linux، یکی از بهترین منابع برای عمیق‌تر شدن:

The Linux Command Line

نوشته William Shotts است.

این کتاب یکی از شناخته‌شده‌ترین منابع آموزشی Command Line لینوکس محسوب می‌شود.

نسخه Internet Edition آن به‌صورت رایگان در دسترس است.

کتاب چه چیزهایی آموزش می‌دهد؟

مطالب کتاب از Commandهای پایه شروع می‌شود و به موضوعات پیشرفته‌تر می‌رسد:

  • Navigation
  • File Manipulation
  • Redirection
  • Pipelines
  • grep
  • find
  • Regular Expressions
  • Permissions
  • Process Management
  • Package Management
  • Networking
  • Shell Scripting

نسخه جدید کتاب

نسخه اینترنتی فعلی کتاب به Seventh Internet Edition رسیده و همچنان PDF رایگان آن از سایت رسمی نویسنده قابل دریافت است.

برای مطالعه:

دانلود رایگان The Linux Command Line →

لازم نیست کتاب را از اول تا آخر حفظ کنید

روش بهتر این است که همزمان با خواندن کتاب، Terminal باز باشد.

مثلاً وقتی درباره Pipe می‌خوانید:

ps aux | grep nginx

را واقعاً اجرا کنید.

وقتی درباره Redirection می‌خوانید:

ls -la > files.txt

را امتحان کنید.

هدف این است که هر Concept را با استفاده واقعی همراه کنید.

مرحله سوم: OverTheWire Bandit؛ لینوکس را با بازی یاد بگیرید

بعد از اینکه Commandهای اولیه را یاد گرفتید، وقت آن است که آن‌ها را در محیطی واقعی‌تر تمرین کنید.

یکی از بهترین منابع برای این کار:

OverTheWire: Bandit

است.

Bandit یک Wargame آموزشی برای افراد مبتدی است.

شما از Level 0 شروع می‌کنید و برای رسیدن به مرحله بعد باید یک مسئله را با Command Line حل کنید.

مثلاً اولین مراحل Bandit چگونه هستند؟

در شروع باید با SSH به Server بازی وصل شوید:

ssh bandit0@bandit.labs.overthewire.org -p 2220

سپس باید Password مرحله بعد را داخل Fileها پیدا کنید.

کم‌کم با Commandهایی مثل:

ls
cd
cat
file
find
grep
sort
uniq
strings
base64
ssh

کار خواهید کرد.

چرا Bandit بسیار مفید است؟

Bandit جواب را مستقیماً به شما نمی‌دهد.

یک Goal مشخص می‌دهد و شما باید بفهمید:

با چه Command یا ترکیبی از Commandها می‌توانم این مسئله را حل کنم؟

همین فرآیند Problem Solving باعث می‌شود Commandها بسیار بهتر در ذهن بمانند.

شروع Challenge:

شروع OverTheWire Bandit →

بعد از Bandit چه؟

اگر به Cybersecurity هم علاقه داشته باشید، OverTheWire مسیرهای بیشتری دارد.

ترتیب پیشنهادی خود پروژه بعد از Bandit شامل Challengeهایی در حوزه‌هایی مثل:

  • Web Security
  • Cryptography
  • Reverse Engineering
  • Binary Exploitation

است.

اما اگر هدف اصلی شما Linux Administration است، لازم نیست تمام Wargameها را ادامه دهید.

مرحله چهارم: Linux Upskill Challenge؛ وارد مدیریت Server شوید

تا اینجا Commandهای Linux را یاد گرفته‌اید.

حالا باید وارد مرحله‌ای شوید که Linux واقعاً روی یک Server استفاده می‌شود.

یکی از بهترین منابع برای این کار:

Linux Upskill Challenge

است.

این پروژه یک دوره رایگان و Open Source برای یادگیری مدیریت یک Linux Server از طریق Command Line است.

Linux Upskill Challenge چطور کار می‌کند؟

دوره اصلی حدود:

۲۰ روز کاری

تمرین دارد.

در حالت Community، دوره از اولین دوشنبه ماه شروع می‌شود، اما مطالب Core در تمام طول سال هم قابل دسترسی هستند.

هر روز یک موضوع جدید را روی Server واقعی تمرین می‌کنید.

در این دوره چه چیزهایی یاد می‌گیرید؟

موضوعات شامل:

  • SSH
  • User Management
  • File Permissions
  • Package Management
  • Process Management
  • systemd
  • Logs
  • Web Server
  • Cron
  • Networking
  • Firewall
  • Security
  • Backup

است.

باید یک Server داشته باشید

یکی از نقاط قوت این Challenge این است که فقط Simulation نیست.

برای دوره بهتر است یک Linux Server داشته باشید.

می‌توانید از:

  • VirtualBox
  • یک کامپیوتر قدیمی
  • VPS
  • AWS
  • Azure
  • Google Cloud
  • DigitalOcean

استفاده کنید.

برای شروع حتی یک Ubuntu Server داخل Virtual Machine کافی است.

لینک دوره:

شروع Linux Upskill Challenge →

چرا این مرحله برای DevOps مهم است؟

اگر قصد دارید وارد حوزه‌هایی مثل:

  • DevOps
  • Cloud Engineering
  • System Administration
  • Backend Infrastructure
  • Cybersecurity

شوید، صرفاً بلد بودن چند Command کافی نیست.

باید بتوانید یک Server را اداره کنید.

مثلاً:

systemctl status nginx

را اجرا کنید، Log را ببینید:

journalctl -u nginx

Portهای باز را بررسی کنید:

ss -tulpn

و Permission یا Firewall را عیب‌یابی کنید.

مرحله پنجم: ExplainShell؛ دستورات پیچیده را بفهمید

گاهی یک Command در اینترنت می‌بینید که شبیه این است:

find . -type f -name "*.log" -mtime +7 -exec rm {} \;

اگر تازه‌کار باشید، شاید ندانید هر قسمت دقیقاً چه کاری انجام می‌دهد.

اینجاست که:

ExplainShell

بسیار کاربردی می‌شود.

ExplainShell چه کاری انجام می‌دهد؟

Command را داخل سایت Paste می‌کنید.

ExplainShell تلاش می‌کند Command و Optionهای آن را با Manual Pageها تطبیق دهد و توضیح دهد که هر بخش چه کاری انجام می‌دهد.

مثلاً برای:

tar xzvf archive.tar.gz

می‌توانید معنی هر Flag را جداگانه بررسی کنید.

لینک ابزار:

ورود به ExplainShell →

ExplainShell را جای man نگذارید

یکی از عادت‌هایی که باید از همان ابتدای مسیر Linux یاد بگیرید استفاده از Manual است.

مثلاً:

man grep

یا:

man find

ExplainShell برای درک سریع Commandهای پیچیده فوق‌العاده است، اما بهتر است در کنار آن به استفاده از:

man
--help

هم عادت کنید.

مرحله ششم: ArchWiki؛ دانشنامه‌ای برای حل مشکلات Linux

وقتی کمی حرفه‌ای‌تر شوید، یکی از منابعی که احتمالاً بارها در Google با آن روبه‌رو خواهید شد:

ArchWiki

است.

ArchWiki مستندات جامعه Arch Linux است و هزاران صفحه درباره موضوعات مختلف Linux دارد.

از جمله:

  • Networking
  • systemd
  • Drivers
  • Storage
  • Boot
  • Security
  • Audio
  • Graphics
  • Virtualization
  • Power Management

آیا ArchWiki فقط برای Arch Linux است؟

بخشی از مطالب آن مخصوص Arch است؛ مخصوصاً Commandهای Package Management و بعضی مسیرهای Configuration.

اما تعداد زیادی از توضیحات درباره:

  • Linux Kernel
  • systemd
  • NetworkManager
  • SSH
  • File Systems
  • Drivers

در Distributionهای دیگر هم کاربرد مفهومی دارند.

اگر Ubuntu یا Debian استفاده می‌کنید، قبل از Copy کردن Commandها حتماً بررسی کنید که نام Packageها و مسیر فایل‌ها برای Distribution شما یکسان باشند.

ورود به ArchWiki:

مشاهده ArchWiki →

مسیر پیشنهادی یادگیری Linux از صفر

اگر نمی‌دانید این منابع را با چه ترتیبی استفاده کنید، مسیر پیشنهادی می‌تواند این باشد:

Linux Journey
      ↓
مفاهیم پایه Linux
      ↓
OverTheWire Bandit
      ↓
تمرین واقعی Commandها
      ↓
The Linux Command Line
      ↓
درک عمیق‌تر Terminal و Bash
      ↓
Linux Upskill Challenge
      ↓
مدیریت Server واقعی
      ↓
ExplainShell + ArchWiki
      ↓
حل مشکلات واقعی

مرحله ۱؛ هفته اول

هدف هفته اول:

از Terminal نترسید.

موضوعاتی که باید یاد بگیرید:

  • pwd
  • ls
  • cd
  • mkdir
  • touch
  • cp
  • mv
  • rm
  • cat
  • less

Linux Journey برای این مرحله مناسب است.

مرحله ۲؛ هفته دوم

حالا با Commandهای کاربردی‌تر کار کنید:

grep
find
sort
uniq
head
tail
wc
cut
awk
sed

در همین مرحله Bandit را شروع کنید.

مرحله ۳؛ هفته سوم

وارد مفاهیم مهم‌تر شوید:

  • Users
  • Groups
  • Permissions
  • Processes
  • Signals
  • Environment Variables
  • Pipes
  • Redirection

مرحله ۴؛ هفته چهارم

یک Linux Server واقعی بسازید.

مثلاً Ubuntu Server داخل VirtualBox.

بعد فقط از طریق SSH به آن وصل شوید:

ssh user@server-ip

از این مرحله به بعد تا حد ممکن Server را فقط با Command Line مدیریت کنید.

مرحله ۵؛ مدیریت Serviceها

یاد بگیرید با systemd کار کنید:

systemctl status nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl enable nginx

همچنین Logها:

journalctl
journalctl -u nginx
journalctl -f

را تمرین کنید.

مرحله ۶؛ Networking

بعد وارد Networking شوید.

Commandهایی مثل:

ip
ss
ping
curl
wget
dig
traceroute
ssh
scp
rsync

را یاد بگیرید.

مرحله ۷؛ Bash Scripting

وقتی یک Task را بیشتر از چند بار به‌صورت دستی انجام دادید، زمان Automation رسیده است.

مثلاً:

#!/bin/bash

tar -czf backup.tar.gz /var/www

echo "Backup completed"

کم‌کم با:

  • Variables
  • if
  • for
  • while
  • Functions
  • Exit Codes

آشنا شوید.

مرحله ۸؛ امنیت Server

بعد از اینکه Server خودتان را ساختید، موضوع Security را جدی بگیرید.

موارد پایه:

  • SSH Key Authentication
  • غیرفعال کردن Loginهای غیرضروری
  • Firewall
  • Update منظم
  • Permission صحیح
  • Log Monitoring
  • Backup

پروژه عملی شماره ۱؛ Web Server بسازید

یک VPS یا VM ایجاد کنید و:

  1. Ubuntu Server نصب کنید.
  2. با SSH وصل شوید.
  3. Nginx نصب کنید.
  4. یک صفحه HTML بسازید.
  5. Firewall را تنظیم کنید.
  6. Logها را بررسی کنید.

اگر بتوانید این کار را بدون Tutorial خط‌به‌خط انجام دهید، پیشرفت خوبی کرده‌اید.

پروژه عملی شماره ۲؛ Backup خودکار

یک Bash Script بنویسید که:

  • فایل‌ها را Backup کند
  • آن‌ها را Compress کند
  • تاریخ را داخل Filename قرار دهد
  • Backupهای قدیمی را حذف کند

بعد آن را با:

cron

هر شب اجرا کنید.

پروژه عملی شماره ۳؛ Server Monitoring

Scriptی بسازید که:

  • RAM Usage
  • CPU Load
  • Disk Usage
  • Running Processes

را بررسی کند و در صورت عبور از Threshold مشخص Alert ایجاد کند.

چند دستور را باید حفظ کنیم؟

جواب:

کمتر از چیزی که فکر می‌کنید.

یک Linux Admin حرفه‌ای هم تمام Optionهای Commandها را حفظ نیست.

مهم‌تر این است که بدانید:

  • چه ابزاری برای چه کاری وجود دارد
  • چطور Documentation را بخوانید
  • چطور Error را جست‌وجو کنید
  • چطور Logها را تحلیل کنید

از man استفاده کنید

مثلاً اگر Optionهای tar را فراموش کردید:

man tar

یا:

tar --help

این عادت بسیار مهم‌تر از حفظ کردن تمام Flagهاست.

AI را چطور برای یادگیری Linux استفاده کنیم؟

ChatGPT، Claude یا Gemini می‌توانند Tutor خوبی باشند، اما بهتر است مستقیم از آن‌ها جواب نخواهید.

مثلاً به‌جای:

این مشکل را حل کن

بگویید:

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

به این شکل Problem Solving شما تقویت می‌شود.

اگر هدفت DevOps است چه چیزهایی بعد از Linux یاد بگیری؟

بعد از تسلط نسبی به Linux مسیر بعدی می‌تواند شامل:

  1. Git
  2. Networking
  3. Bash
  4. Docker
  5. CI/CD
  6. Nginx
  7. Cloud
  8. Terraform
  9. Ansible
  10. Kubernetes

باشد.

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

اگر هدفت Cybersecurity است چه؟

بعد از Bandit می‌توانید مسیرهای دیگر OverTheWire را امتحان کنید و همزمان موضوعاتی مثل:

  • Networking
  • Processes
  • Permissions
  • SSH
  • Logs
  • Web Servers

را عمیق‌تر مطالعه کنید.

جدول منابع پیشنهادی

منبع کاربرد سطح
Linux Journey آموزش مفاهیم پایه مبتدی
The Linux Command Line یادگیری عمیق Terminal و Bash مبتدی تا متوسط
OverTheWire Bandit تمرین عملی و Problem Solving مبتدی تا متوسط
Linux Upskill Challenge مدیریت Server واقعی متوسط
ExplainShell توضیح Commandهای پیچیده همه سطوح
ArchWiki Documentation و Troubleshooting متوسط تا پیشرفته

لینک سریع تمام منابع

Linux Journey:
https://labex.io/linuxjourney

The Linux Command Line:
https://linuxcommand.org/tlcl.php

OverTheWire Bandit:
https://overthewire.org/wargames/bandit/

Linux Upskill Challenge:
https://linuxupskillchallenge.com/

ExplainShell:
https://explainshell.com/

ArchWiki:
https://wiki.archlinux.org/

جمع‌بندی

برای یادگیری Linux لازم نیست صدها دستور را حفظ کنید.

مسیر مؤثرتر این است که ابتدا با Linux Journey مفاهیم پایه را یاد بگیرید، سپس با Bandit آن‌ها را در Challengeهای واقعی تمرین کنید و همزمان از کتاب The Linux Command Line برای عمیق‌تر شدن استفاده کنید.

بعد از آن با Linux Upskill Challenge یک Server واقعی راه‌اندازی کنید و مدیریت User، Service، Log، Network، Web Server و Security را در عمل تجربه کنید.

هر زمان با یک Command پیچیده روبه‌رو شدید ExplainShell می‌تواند به فهم آن کمک کند و برای مشکلات فنی عمیق‌تر ArchWiki یکی از ارزشمندترین Referenceهای دنیای Linux است.

برای یادگیری واقعی Linux، هر روز به‌جای حفظ کردن ده Command جدید، یک مشکل واقعی را با Terminal حل کنید.


آموزش برنامه‌نویسی و سرور در معین گیفت

در معین گیفت منابع و آموزش‌های کاربردی Linux، برنامه‌نویسی، DevOps، Cloud، Server Management و ابزارهای توسعه را معرفی می‌کنیم تا مسیر یادگیری مهارت‌های فنی را به‌صورت عملی و مرحله‌به‌مرحله طی کنید.

اشتراک‌گذاری مطلبتلگرام

سؤالات متداول

چطور محصول مناسب خودم را انتخاب کنم؟

در صفحه محصولات، توضیحات و شرایط هر سرویس را بررسی کنید و در صورت نیاز از پشتیبانی کمک بگیرید.

آیا مطالب مجله به‌روز می‌شوند؟

بله؛ مطالب مهم و تغییرات سرویس‌ها به‌صورت دوره‌ای بررسی و به‌روزرسانی می‌شوند.