٪80 تخفیف

دانلود کتاب آموزشی حرفه ای اسکریپت نویسی در لینوکس جلد دوم

دسته‌بندی: برچسب: تاریخ به روز رسانی: 6 دی 1404 تعداد بازدید: 470 بازدید
ویژگی های محصول: پشتیبانی واتساپ

قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۴۰۰,۰۰۰ تومان.

torobpay
هر قسط با ترب‌پی: ۱۰۰,۰۰۰ تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

بخش 8. مدیریت فرآیندها

 

فصل 1. معرفی فرآیندها در سیستم عامل لینوکس

  • تعریف فرآیند (Process) و نحوه اجرای آن‌ها در لینوکس.
  • انواع فرآیندها:
    • Foreground Process: فرآیندهای اجرا شده در پیش‌زمینه.
    • Background Process: فرآیندهای اجرا شده در پس‌زمینه.
    • Daemon Processes: فرآیندهای مستقل که به‌طور خودکار اجرا می‌شوند.

فصل 2. مشاهده و نظارت بر فرآیندها

  • دستورات نظارتی مهم:
    • ps: مشاهده اطلاعات فرآیندهای جاری.
    • top و htop: ابزارهای تعاملی برای مشاهده وضعیت فرآیندها و منابع سیستم.
    • jobs: لیست فرآیندهای جاری در پس‌زمینه.
  • مشاهده مشخصات فرآیند مانند PID، PPID، CPU usage و memory usage.

فصل 3. مدیریت فرآیندها

  • اجرای فرآیندها:
    • اجرای فرآیندها در پیش‌زمینه.
    • اجرای فرآیندها در پس‌زمینه با استفاده از &.
  • متوقف کردن فرآیندها:
    • استفاده از دستور kill برای خاتمه دادن به فرآیندها.
    • استفاده از سیگنال‌ها مانند SIGKILL, SIGSTOP, SIGHUP.
  • بازگرداندن فرآیندها:
    • بازگرداندن فرآیند پس‌زمینه به پیش‌زمینه با استفاده از fg.
    • متوقف کردن موقت فرآیند با Ctrl+Z و مدیریت آن با bg.

فصل 4. اولویت‌بندی فرآیندها

  • مفهوم nice value و priority در لینوکس.
  • دستورات:
    • nice: اجرای فرآیند با اولویت خاص.
    • renice: تغییر اولویت یک فرآیند در حال اجرا.

فصل 5. اجرای زمان‌بندی‌شده فرآیندها

  • اجرای فرآیندها در زمان خاص با استفاده از cron و at:
    • Cron Jobs:
      • تنظیم زمان‌بندی در فایل crontab.
      • دستور crontab -e برای ویرایش و ایجاد وظایف زمان‌بندی‌شده.
      • ساختار فایل کرون: دقیقه، ساعت، روز ماه، ماه، روز هفته.
    • At Jobs:
      • اجرای دستورات در زمان معین با at.
      • مشاهده وظایف با atq و حذف وظایف با atrm.

فصل 6. کنترل ارتباط فرآیندها

  • ارتباط میان فرآیندها با استفاده از pipe (|) برای ارسال خروجی یک فرآیند به دیگری.
  • استفاده از دستورات tee برای ذخیره خروجی در فایل و انتقال آن به فرآیند دیگر.

فصل 7. بررسی فرآیندهای Zombie و Orphan

  • تعریف و نحوه شناسایی فرآیندهای zombie و orphan.
  • رفع مشکلات مربوط به فرآیندهای zombie.

فصل 8. نظارت خودکار بر فرآیندها

  • ایجاد اسکریپت برای نظارت خودکار بر فرآیندها:
    • ارسال هشدار زمانی که یک فرآیند از کار می‌افتد.
    • راه‌اندازی مجدد فرآیندهای متوقف‌شده.

فصل 9. مدیریت فایل‌های log فرآیندها

  • استفاده از فایل‌های log برای ثبت فعالیت‌های فرآیندها.
  • بررسی فایل‌های log برای خطایابی و نظارت.

فصل 10. ترکیب مدیریت فرآیندها با اسکریپت‌ها

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

بخش 9. مدیریت فایل‌ها و دایرکتوری‌ها

 

فصل 1. کار با فایل‌ها

  • ایجاد فایل‌ها:
    • دستور touch برای ایجاد فایل‌های خالی.
    • استفاده از ریدایرکشن (>) برای ایجاد فایل‌های جدید و نوشتن محتوا.
  • حذف فایل‌ها:
    • دستور rm برای حذف فایل‌ها.
    • استفاده از rm -i برای حذف تعاملی.
  • کپی کردن فایل‌ها:
    • دستور cp برای کپی کردن فایل‌ها.
    • استفاده از cp -r برای کپی کردن دایرکتوری‌ها و زیرشاخه‌ها.
  • جابجایی یا تغییر نام فایل‌ها:
    • دستور mv برای انتقال یا تغییر نام فایل‌ها.
  • خواندن محتویات فایل:
    • دستورات cat, less, more و tail برای مشاهده محتویات فایل.
    • استفاده از head و tail برای خواندن خطوط ابتدایی یا انتهایی فایل.

فصل 2. کار با دایرکتوری‌ها

  • ایجاد دایرکتوری:
    • دستور mkdir برای ایجاد دایرکتوری‌های جدید.
    • استفاده از mkdir -p برای ایجاد دایرکتوری‌های تو در تو.
  • حذف دایرکتوری‌ها:
    • دستور rmdir برای حذف دایرکتوری‌های خالی.
    • استفاده از rm -r برای حذف دایرکتوری‌ها و محتوای آن‌ها.
  • تغییر دایرکتوری:
    • دستور cd برای تغییر دایرکتوری فعلی.
    • استفاده از cd .. برای بازگشت به دایرکتوری والد.
  • مشاهده مسیر فعلی:
    • دستور pwd برای چاپ مسیر دایرکتوری جاری.

فصل 3. جستجو و مدیریت فایل‌ها

  • جستجوی فایل‌ها:
    • استفاده از دستور find برای جستجوی فایل‌ها بر اساس نام، اندازه، یا تاریخ تغییرات.
    • دستور locate برای جستجوی سریع فایل‌ها.
  • جستجو در محتویات فایل‌ها:
    • استفاده از دستور grep برای یافتن رشته‌ها در فایل‌ها.
  • فیلتر کردن و پردازش فایل‌ها:
    • استفاده از awk و sed برای پردازش فایل‌های متنی.

فصل 4. فشرده‌سازی و استخراج فایل‌ها

  • فشرده‌سازی:
    • استفاده از tar برای ایجاد آرشیو.
    • استفاده از gzip و zip برای فشرده‌سازی فایل‌ها.
  • استخراج فایل‌های فشرده:
    • دستور tar -x برای استخراج آرشیوها.
    • استفاده از unzip برای باز کردن فایل‌های zip.

فصل 5. تغییرات دسترسی و مجوزها

  • بررسی مجوزها:
    • دستور ls -l برای مشاهده مجوزهای فایل.
  • تغییر مجوزها:
    • استفاده از chmod برای تغییر مجوزهای فایل‌ها و دایرکتوری‌ها.
  • تغییر مالکیت:
    • دستور chown برای تغییر مالک فایل.
    • استفاده از chgrp برای تغییر گروه فایل.

فصل 6. بررسی اطلاعات فایل‌ها

  • بررسی نوع فایل:
    • دستور file برای نمایش نوع فایل.
  • بررسی اندازه فایل‌ها:
    • استفاده از du برای نمایش اندازه فایل‌ها.
  • نمایش جزئیات فایل‌ها:
    • دستور stat برای نمایش اطلاعات کامل فایل (مانند تاریخ تغییرات، مالکیت و …).

فصل 7. اسکریپت‌های کاربردی مدیریت فایل

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

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

 

فصل 1. اشکال‌زدایی اسکریپت‌ها

  • استفاده از دستور set -x:
    • فعال کردن حالت ردیابی دستورات (Trace Mode) برای نمایش گام‌به‌گام اجرای اسکریپت.
  • استفاده از دستور set -e:
    • متوقف کردن اسکریپت در صورت بروز خطا.
  • شبیه‌سازی ورودی و خروجی‌ها:
    • تست اسکریپت با استفاده از ورودی‌ها و خروجی‌های ساختگی برای بررسی نتایج.
  • استفاده از دستور trap:
    • مدیریت خطاها و وقفه‌ها در اسکریپت (مانند SIGINT و SIGTERM).
  • استفاده از echo برای چاپ متغیرها:
    • چاپ متغیرها و خروجی دستورات در نقاط مختلف اسکریپت برای مشاهده وضعیت.
  • نوشتن لاگ فایل:
    • ثبت رخدادها و خطاها در یک فایل متنی با استفاده از ریدایرکشن.

فصل 2. ابزارهای اشکال‌زدایی

  • استفاده از bash -x script.sh:
    • اجرای اسکریپت در حالت اشکال‌زدایی و نمایش دستورات خط‌به‌خط.
  • استفاده از shellcheck:
    • ابزار تحلیل استاتیک کد برای بررسی مشکلات سینتکسی و استانداردهای کدنویسی.
  • ابزار strace:
    • نظارت بر تماس‌های سیستمی و سیگنال‌ها برای یافتن خطاهای سطح پایین.
  • استفاده از printf به جای echo:
    • دقت بیشتر در نمایش خروجی‌ها.

فصل 3. شناسایی و رفع مشکلات رایج

  • مشکلات مربوط به مسیرها:
    • استفاده از مسیرهای نسبی یا مطلق برای فایل‌ها و دستورات.
  • تداخل متغیرها:
    • استفاده از متغیرهای محلی در توابع (با local) برای جلوگیری از تداخل.
  • مشکلات مربوط به فایل‌های ورودی و خروجی:
    • بررسی مجوزها و دسترسی‌ها به فایل‌ها.
  • خطاهای منطقی:
    • تحلیل دقیق شرایط و مقایسه‌ها با دستورات شرطی.
  • خطاهای حلقه‌ها و آرایه‌ها:
    • مدیریت صحیح مقادیر در حلقه‌ها و آرایه‌ها.

فصل 4. بهینه‌سازی اسکریپت‌ها

  • کاهش تعداد دستورات:
    • ترکیب دستورات مشابه در یک خط.
  • استفاده از دستورات داخلی شل (Built-in):
    • جایگزینی دستورات خارجی (مثل grep، awk) با دستورات داخلی شل.
  • بهینه‌سازی حلقه‌ها:
    • کاهش تعداد تکرارهای غیرضروری در حلقه‌ها.
  • مدیریت حافظه:
    • اجتناب از تخصیص بیش از حد حافظه برای متغیرها و آرایه‌ها.
  • کاهش زمان اجرای دستورات:
    • استفاده از دستورات موازی (Parallel Execution) برای کارهای مستقل.

فصل 5. تست و تضمین کیفیت اسکریپت

  • ایجاد سناریوهای تست:
    • تهیه موارد تست برای سنجش عملکرد اسکریپت در شرایط مختلف.
  • اجرای تست‌های واحد (Unit Tests):
    • بررسی بخش‌های جداگانه اسکریپت برای عملکرد صحیح.
  • بررسی عملکرد تحت فشار:
    • تست اسکریپت با حجم بالای داده‌ها یا شرایط سخت برای سنجش پایداری.
  • نوشتن مستندات:
    • افزودن توضیحات و مستندات برای خوانایی بیشتر اسکریپت.

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

 

فصل 1. مدیریت مجوزها و دسترسی‌ها

  • تنظیم مجوزهای فایل‌ها و اسکریپت‌ها با استفاده از chmod.
  • تغییر مالکیت فایل‌ها و اسکریپت‌ها با دستور chown.
  • تغییر گروه فایل‌ها با دستور chgrp.
  • استفاده از مجوزهای SUID و SGID برای اجرای برنامه‌ها با سطوح دسترسی خاص.
  • آشنایی با مفهوم umask و نحوه تعیین پیش‌فرض‌های مجوز فایل‌ها.

فصل 2. امن‌سازی اسکریپت‌ها

  • استفاده از متغیرهای محیطی ایمن و جلوگیری از نشت داده‌ها.
  • محدود کردن کاربران به دسترسی فقط به فایل‌ها و اسکریپت‌های ضروری.
  • رمزنگاری اسکریپت‌ها برای جلوگیری از مشاهده کد توسط افراد غیرمجاز.
  • استفاده از دستورات ایمن برای مدیریت داده‌ها (مانند mktemp برای فایل‌های موقتی).

فصل 3. اعتبارسنجی ورودی‌ها

  • بررسی و پاکسازی ورودی‌ها برای جلوگیری از Command Injection.
  • استفاده از دستورات مانند read و اعتبارسنجی ورودی‌ها با استفاده از regex.
  • محدود کردن ورودی‌ها به محدوده مجاز (مانند بررسی اعداد یا آدرس‌های IP).

فصل 4. مدیریت دسترسی و کاربران

  • اجرای اسکریپت‌ها به‌عنوان کاربر خاص با دستور sudo.
  • جلوگیری از اجرای اسکریپت‌ها توسط کاربران غیرمجاز.
  • تنظیم محیط اجرایی امن برای اجرای اسکریپت‌ها.
  • استفاده از chroot jail برای ایزوله‌سازی محیط اجرای اسکریپت.

فصل 5. جلوگیری از مشکلات امنیتی متداول

  • جلوگیری از حملات Buffer Overflow در اسکریپت‌ها.
  • مدیریت صحیح متغیرها برای جلوگیری از سوءاستفاده.
  • محافظت در برابر حملات Symlink و استفاده از لینک‌های نمادین ایمن.
  • تنظیم فایل‌ها و اسکریپت‌ها برای جلوگیری از تغییرات غیرمجاز.

فصل 6. مدیریت کلیدها و رمز گذاری داده‌ها

  • رمزنگاری و رمزگشایی فایل‌ها و داده‌ها با استفاده از ابزارهایی مانند openssl.
  • مدیریت کلیدهای SSH و استفاده از آنها در اسکریپت‌ها.
  • ذخیره امن رمزهای عبور و داده‌های حساس در فایل‌های تنظیمات.

فصل 7. پیکربندی امنیتی اسکریپت‌ها

  • استفاده از set -e برای خروج از اسکریپت در صورت بروز خطا.
  • فعال کردن set -u برای جلوگیری از استفاده از متغیرهای تعریف‌نشده.
  • فعال کردن set -x برای اشکال‌زدایی و سپس غیرفعال کردن آن برای جلوگیری از نشت داده.

فصل 8. گزارش‌دهی و نظارت امنیتی

  • ثبت گزارش (logging) از تمام فعالیت‌های اسکریپت با استفاده از logger.
  • نظارت بر دسترسی‌ها و فعالیت‌ها با ابزارهایی مانند auditd.
  • تنظیم ایمیل هشدار در صورت بروز مشکلات یا دسترسی غیرمجاز.

فصل 9. مدیریت حملات احتمالی

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

فصل 10. ایمن‌سازی ارتباطات در اسکریپت‌ها

  • استفاده از پروتکل‌های ایمن مانند HTTPS و SSH برای ارتباطات.
  • مدیریت داده‌های حساس در ارتباطات شبکه با رمزنگاری.
  • بررسی گواهینامه‌های SSL در اسکریپت‌ها برای تأیید صحت ارتباط.

نتیجه‌گیری:

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

[cdb_course_lessons title=”پاسخ به سوالات فنی کاربران”][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”free” title=”پشتیبانی دائمی و در لحظه” subtitle=”توضیحات کامل”]ما در این دوره تمام تلاش خود را کرده‌ایم تا محتوایی جامع و کاربردی ارائه دهیم که شما را برای ورود به دنیای حرفه‌ای آماده کند. اما اگر در طول دوره یا پس از آن با سوالات فنی، چالش‌ها یا حتی مشکلاتی در اجرای مطالب آموزشی مواجه شدید، نگران نباشید!

  1. پرسش‌های شما، بخش مهمی از دوره است:
    هر سوال یا مشکلی که مطرح کنید، با دقت بررسی شده و پاسخ کامل و کاربردی برای آن ارائه می‌شود. علاوه بر این، سوالات و پاسخ‌های شما به دوره اضافه خواهند شد تا برای سایر کاربران نیز مفید باشد.
  2. پشتیبانی دائمی و در لحظه:
    تیم ما همواره آماده پاسخگویی به سوالات شماست. هدف ما این است که شما با خیالی آسوده بتوانید مهارت‌های خود را به کار بگیرید و پروژه‌های واقعی را با اعتماد به نفس کامل انجام دهید.
  3. آپدیت دائمی دوره:
    این دوره به طور مداوم به‌روزرسانی می‌شود تا همگام با نیازهای جدید و سوالات کاربران تکمیل‌تر و بهتر گردد. هر نکته جدید یا مشکل رایج، در نسخه‌های بعدی دوره قرار خواهد گرفت.

حرف آخر

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

📩 اگر سوالی دارید یا به مشکلی برخوردید، همین حالا مطرح کنید!
ما در کوتاه‌ترین زمان ممکن پاسخ شما را ارائه خواهیم داد. 🙌[/cdb_course_lesson][/cdb_course_lessons]

نقد و بررسی ها

نقد و بررسی وجود ندارد.

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

سبد خرید شما خالی است.

ورود به سایت