دوره اسکریپت نویسی یا Mastering Unix Shell Scripting (برنامه سازی پوسته) به دانشجویان می آموزد که چگونه برنامه های کاربردی برای پروسه های گوناگون تولید کنند و نیز آنها را بهینه و خودکار کنند. برخی از این برنامه هابه شرح زیر می باشند: ذخیره سازی و نگهداری اطلاعات، ارائه گزارشات وقوع خطاها و رویدادها، ارائه گزارشات ممیزی سیستم، ارائه گزارشات مانیتوریگ سیستم و پروسه ها، مقایسه اطلاعات و فیلتر نمودن آن ها،‌تست های سیستمی، انتقال اطلاعات، پروسه های synchronization و غیره. نیازمندی دوره Mastering Unix Shell دانش پایه مدیریت (سطح LPIC-1) است. استاد این دوره آقای مهندس مهران فرید می باشد.

 

محتوا: برنامه سازی پوسته، پوسته Bash و دستورات ضروری برای اسکریپت نویسی.

هدف: تولید برنامه های اسکریپت، ذخیره سازی و نگهداری اطلاعات، استخراج گزارش ها مختلف و غیره.

مدت دوره: معمولا ۲۴ ساعت.

پیش نیاز: برای شرکت در این دوره دانش دوره LPIC1 نیاز است.

مدرس: مدرس رسمی موسسه لینوکس حرفه با مدرک LCI و LPIC2.

 

بخش اول: مبانی برنامه سازی پوسته

۱- برنامه سازی پوسته

 ۱-۱- مفاهیم برنامه سازی پوسته

 ۱-۲- توابع پوسته

 ۱-۳- تعریف اینترپرتر

 ۱-۴- درج توضیح

 ۱-۵- ساختارهای کنترلی

 ۱-۶- دستورات پایه متداول

 ۱-۷- دستورات سمبولیک

 ۱-۸- متغییر ها

 ۱-۹- آرگومانها

 ۱-۱۰- پارامترهای ویژه در Bash

 ۱-۱۱- کاربرد انواع علامتهای نقل قول (' ، " و ` )

 ۱-۱۲- برنامه اتومات ping

 ۱-۱۳- برنامه اتومات ftp 

 ۱-۱۴- استفاده از ابزار rsync

 ۱-۱۵- اسکریپت اتومات rsync

 ۱-۱۶- تولید لیست فایلها بر اساس حجم

 ۱-۱۷- دریافت ورودی از کاربر در اسکریپت

 ۱-۱۸- استفاده از bc برای محاسبه اعداد اعشاری

 ۱-۱۹- تبدیل اعداد

 ۱-۲۰- استفاده از typeset

 ۱-۲۱- تولید منو بر اساس select

 ۱-۲۲- حذف خطوط تکراری در فایلهای متنی

 ۱-۲۳- کنترل متغییرهای Null

 ۱-۲۴ دسترسی مستقیم مقدار #$

 ۱-۲۵- آرایه ها

 ۱-۲۶- خواندن آرایه ها

 ۱-۲۷- راهکارهای پردازش خطی فایلهای متنی

۲- اطلاع رسانی رخدادها بصورت اتوماتیک

 ۲-۱- مفاهیم رخدادها 

 ۲-۲- استفاده از دستورات mail و mailx

۳- نمایش روال یک پروسس

 ۳-۱- نمایش با نقاط

 ۳-۲- نمایش با خطوط دوار

 ۳-۳- نمایش با زمان سپری شده

 ۳-۴- ترکیب نمایش ها

 ۳-۵- نکات حائز بررسی

 

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

۱- کار با فایلهای حاوی رکوردهای اطلاعاتی

 ۱-۱- مفاهیم فایلهای حاوی رکورد

 ۱-۲- رکوردهای دارای طول ثابت

 ۱-۳- رکوردهای دارای طول متغییر

 ۱-۴- پردازش رکوردها

 ۱-۵- عملیات مرتبط با رکوردها

 ۱-۶- عملیات مرتبط با رکوردهای طول ثابت

 ۱-۷- عملیات مرتبط با رکوردهای طول متغییر

 ۱-۸- ادغامل عملیات 

۲- مفاهیم مرتبط با اتوماسیون ftp

 ۲-۱- کار با رشته ها

 ۲-۲- ادغام مفاهیم

 ۲-۳- استفاده از ftp برای دریافت فایلهای ماشین سرور

 ۲-۴- دریافت قایلها از سرور

 ۲-۵- بروز رسانی فایلهای سرور

 ۲-۶- بروز رسانی اسکریپت برای متغییر رمز عبوری

 ۲-۷- رمز نگاری

 ۲-۸- پیکربندی SSH

 ۲-۹- استفاده از ftp با رمز نگاری

 ۲-۱۰- اتوماسیون ftp با expect و autoexpect

 ۲-۱۱-خواندن رمزعبوری در اسکریپت

۳- استفاده از rsync برای توزیع اطلاعات

 ۳-۱- تولید اسکریپت های مبنی بر rsync

 ۳-۲- توزیع چندین دایرکتوری

 ۳-۳- توزیع چندین فایل سیستم

 ۳-۴- اسکریپت کپی مبنی بر rsync

۴- یافتن فایلها بر اساس خصوصیات

 ۴-۱- مفاهیم سطوح دسترسی در فایلها

 ۴-۲- مواجهه با حجم فایلها

 ۴-۳- فیلتر کردن جستجوها

 ۴-۴- نکات قابل بررسی دیگر

۵- مانیتورینگ پردازشها و برنامه ها

 ۵-۱- مانیتور برای شروع یک پردازش

 ۵-۲- مانیتور برای پایان یک پردازش

 ۵-۳- مانیتور شروع و پایان پردازش و ثبت وقایع

 ۵-۴- ثبت زمان اجرای پردازش ها

 ۵-۵- کاربرد های رایج مانیتورینگ

۶- اعداد اعشاری و برنامه bc

 ۶-۱- اسکریپت نویس با bc

 ۶-۲- کنترل اعداد صحیح و اعشاری

 ۶-۳- ساخت عبارات ریاضی برای bc

 ۶-۴- پردازش متغییرهای خط فرمان برای اعداد

۷- برنامه hgrep برای متمایز کردن متون

 ۷-۱- کنترل صفحه نمایش

 ۷-۲- نکات گوناگون نمایش 

۸- مانیتور کردن پروسس ها و برنامه های محلی 

 ۸-۱- مانیتور کردن پروسس های سیستم

 ۸-۲- مانیتور کردن پروسس های سرور با استفاده از ssh و rsh

 ۸-۳- کنترل برنامه نمونه مانند وب سرور

 ۸-۴- انتظار برای خاتمه یک برنامه

 

بخش سوم: اسکریپت برای مدیران سیستم

۱-مانیتورینگ فایل سیستم

 ۱-۱- مانیتور کردن مشخصات فایل سیستم

 ۱-۲- استفاده از روش MB-of-Free-Space 

 ۱-۳- استفاده از روش MB-of-Free-Space با استثناها

 ۱-۴- میزان مصرف و فضای آزاد

 ۱-۵- الگوهای مصرف در کاربردهای گوناگون

۲-مانیتورینگ paging و swap

 ۲-۱- دستور lsps

 ۲-۲- دستور swapinfo

 ۲-۳- دستور free

 ۲-۴- دستور swapctl

 ۲-۵- دستورات مرتبط با swap

 ۲-۶- مانیتورینگ paging

 ۲-۷- مانیتورینگ swap

 ۲-۸- مانیتورینگ log

 ۲-۹- مانیتورینگ در زمانهای مشخص

۳- مانیتور کردن فضای آرشیو

 ۳-۱- دستورات مدیریت دیسک

 ۳-۲- مانیتور کردن با resync

۴- مانیتور بار سیستم

 ۴-۱- استفاده از دستور uptime

 ۴-۲- اسکریپت نویسی با uptime

 ۴-۳- استفاده از مجموعه sar

 ۴-۴- اسکریپت نویسی با دستور sar

 ۴-۵- استفاده از iostat برای مانیتور ورودی و خروجی ها

 ۴-۶- اسکریپت نویسی با iostat

 ۴-۷- استفاده از vmstat برای مانیتور حافظه

 ۴-۸- اسکریپت نویسی با vmstat

 ۴-۹- در نظر گرفتن سایر پارامترها

 ۴-۱۰- تشخیص مشکلات احتمالی برای کاربران

۵- استفاده از دستور ping برای اتوماسیون

 ۵-۱- بررسی مساله مانیتورینگ و نحوه انجام کار برای سرورها

 ۵-۲- مشکلات متغییر لیست دستگاه ها PINGLIST

 ۵-۳- استفاده از فایل /etc/hosts/ به منظور لیست

 ۵-۴- اخطار برای سرورهای دور از دسترس

 ۵-۶- نحوه ارایه اخطار ها

۶- استفاده کردن از ابزار sudo

 ۶-۱- کامپایل مجدد ابزار

 ۶-۲- پیکربندی ابزار

 ۶-۳- استفاده از ابزار sudo

 ۶-۴- استفاده از ابزار در اسکریپت ها

۷- مانیتورینگ و تنظیم Keystrokes

 ۷-۱- نحوه کار با Auditors

 ۷-۲- بررسی ابزارهای کاربردی در این موضوع

 ۷-۳- استفاده از دستور id

 ۷-۴- استفاده از دستور find

 ۷-۵- استفاده از دستور awk و cut

 ۷-۶- استفاده از دستور sed

 ۷-۷- استفاده از دستورات dirname و basename

 ۷-۸- مانیتورینگ فعالیت کاربران

 ۷-۹- ارسال log توسط ایمیل

بروشور دوره اسکریپت نویسی قابل دریافت است.