آموزش لینوکس

دانشجو پس از پایان دوره در کلیه مباحث زیر به تسلط کامل خواهد رسید.

  • آموزش مفاهیم اساسی نرم افزار آزاد و متن باز
  • آماده سازی دانشجو برای ورود به شاخه DevOps
  • مدیریت فرآیندها در لینوکس
  • مدیریت دیسک و پارتیشن بندی
  • پیکربندی شبکه در لینوکس
  • اسکریپت نویسی Bash
  • نظارت و مانیتورینگ سیستم
  • مجازی سازی و کانتینرها

اهداف دوره تخصصی Linux

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


1. مقدمه ای بر لینوکس

  • تاریخچه و فلسفه لینوکس
  • بررسی انواع توزیع های لینوکس (Debian، Red Hat، Ubuntu، CentOS و غیره)
  • نصب و راه اندازی سیستم عامل لینوکس
  • مفاهیم اساسی نرم افزار آزاد و متن باز (FOSS)

2. آشنایی با خط فرمان (Shell & Terminal)

  • مفهوم و اهمیت Shell در لینوکس
  • معرفی انواع Shell (Bash، Zsh و غیره)
  • دستورات ابتدایی خط فرمان (ls، cd، pwd، mkdir، rm و غیره)
  • مدیریت فایل ها و دایرکتوری ها در ترمینال
  • استفاده از دستورات ترکیبی و Pipe (|) و Redirect (><)

3. مدیریت کاربران و مجوزها (Permissions)

  • ایجاد، حذف و مدیریت کاربران و گروه ها
  • سیستم مجوزهای لینوکس (Owner, Group, Others)
  • دستورات chmod، chown، chgrp
  • سطوح دسترسی (r, w, x) و نحوه تغییر آن ها

4. مدیریت بسته ها (Package Management)

  • مفهوم بسته های نرم افزاری و مدیریت آن ها
  • مدیران بسته ها در توزیع های مختلف:
    • APT در دبیان و اوبونتو
    • YUM و DNF در توزیع های مبتنی بر Red Hat
    • Pacman در Arch Linux
  • نصب، به روزرسانی و حذف بسته های نرم افزاری

5. مدیریت فرآیندها (Processes)

  • درک مفهوم فرآیندها (Processes) در لینوکس
  • دستورات مدیریت فرآیندها: ps، top، htop، kill، nice
  • اجرای فرآیندها در پس زمینه (&، nohup)
  • مدیریت فرآیندهای معلق و متوقف شده

6. مدیریت سرویس ها و Daemon ها

  • مفهوم سرویس و Daemon در لینوکس
  • استفاده از systemctl و service برای مدیریت سرویس ها
  • مشاهده وضعیت، شروع و متوقف کردن سرویس ها
  • پیکربندی سرویس های راه اندازی خودکار (Autostart)

7. مدیریت دیسک و پارتیشن بندی

  • ساختار فایل سیستم در لینوکس (ext4, xfs, btrfs و غیره)
  • دستورات مدیریت دیسک: df، du، fdisk، lsblk
  • نحوه پارتیشن بندی دیسک ها
  • مدیریت نقاط نصب (Mounting) و پیکربندی fstab

8. پیکربندی شبکه در لینوکس

  • مفاهیم پایه شبکه (IP، Subnet، Gateway)
  • تنظیم و پیکربندی شبکه در لینوکس
  • دستورات شبکه: ifconfig، ip، ping، netstat، traceroute
  • پیکربندی فایل های شبکه: /etc/network/interfaces، /etc/hosts
  • استفاده از ابزارهای پیشرفته مانند Wireshark و tcpdump

9. پشتیبان گیری و بازیابی (Backup & Restore)

  • ابزارهای پشتیبان گیری: tar، rsync
  • ایجاد و بازیابی بکاپ های محلی و ریموت
  • برنامه ریزی پشتیبان گیری با cron و crontab
  • مدیریت نسخه های پشتیبان

10. امنیت و فایروال در لینوکس

  • مفاهیم پایه امنیت در لینوکس
  • مدیریت فایروال ها: UFW، iptables
  • مفاهیم SELinux و AppArmor
  • به روزرسانی و مدیریت بسته های امنیتی
  • شناسایی و مدیریت آسیب پذیری ها

11. اسکریپت نویسی Bash

  • مقدمه ای بر اسکریپت نویسی در Bash
  • متغیرها، دستورات شرطی و حلقه ها در Bash
  • ایجاد و اجرای اسکریپت های Bash
  • استفاده از اسکریپت ها برای خودکارسازی کارها

12. نظارت و مانیتورینگ سیستم

  • نظارت بر منابع سیستم: CPU، RAM، دیسک، شبکه
  • ابزارهای مانیتورینگ: top، htop، vmstat، iostat
  • استفاده از ابزارهای پیشرفته مانند Nagios و Zabbix
  • بررسی لاگ ها: /var/log و ابزارهای مانند journalctl

13. مجازی سازی و کانتینرها

  • مقدمه ای بر مجازی سازی (Virtualization)
  • نصب و پیکربندی KVM و VirtualBox
  • آشنایی با Docker و کانتینرها
  • مدیریت و استفاده از Docker برای اجرای سرویس های ایزوله

14. سیستم عامل های پیشرفته و High Availability

  • مفهوم کلاسترینگ و High Availability در لینوکس
  • پیکربندی RAID
  • راه اندازی Load Balancer و مدیریت ترافیک
  • استفاده از ابزارهایی مانند HAProxy، Keepalived

15. پروژه عملی

  • پیاده سازی یک سیستم واقعی مبتنی بر لینوکس
  • انجام مراحل نصب، پیکربندی، بهینه سازی و امنیت سیستم
  • پیاده سازی یک وب سرور (Apache/Nginx) یا سرور ایمیل
  • ارزیابی عملکرد و امنیت پروژه