تا %60 تخفیف خرید برای 5 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

قیمت: 257,248 تومان

با 20% تخفیف وب سایت و مدرس در صورت خرید یکجا: 205,808 تومان

خرید دوره با 20 تخفیف

آموزش لینوکس (LPIC1 101) قسمت 1 : معرفی دوره و مکانیزم آموزش

دوره آموزشی LPIC1 دارای دو عدد کد آزمون LPIC1 101 و LPIC1 102 است که در این دوره آموزشی لینوکس ما با هم لینوکس را جدی تر شروع می کنیم و  جلو می رویم . قبلا در دوره آموزشی Linux Essentials که در همین وب سایت توسط بنده تدریس شد ، شما کاملا با ماهیت و کاربرد اصلی لینوکس آشنا شدید و مسیر یادگیری لینوکس را به خوبی متوجه شدید. در این دوره آموزشی شما قطعا با بهترین دوره آموزشی لینوکس فارسی زبان مواجه خواهید شد و دلیلش را به مرور متوجه می شوید ، این دوره آموزشی LPIC1 کد 101 نتیجه الگوبرداری از بیش از 4 دوره آموزشی لینوکس بین المللی مطرح در دنیا بعلاوه اضافه کردن مفاهیم تئوری و استفاده از نکات عملی و تجربه استاد است که باعث شده است شما با لذت بیشتری لینوکس را یاد بگیرید . مهمترین سرفصل هایی که شما در این دوره آموزشی یاد میگیرید به شرح زیر می باشند که با یک پاراگراف توضیحات برای شما یادگیری لینوکس را بسیار ساده خواهد کرد :

1-معرفی دوره و مکانیزم آموزشی به همراه مسیر راه یادگیری لینوکس

در این قسمت آموزشی ما به بررسی ساختار آموزشی ، محتویات دوره آموزشی و جایگاه فعلی شما در حوزه سیستم عامل لینوکس صحبت خواهیم کرد ، امیدوارم از سبک آموزشی ما لذت ببرید .به هیچ عنوان دوست نداریم در قسمتهای آموزشی خوابتون ببره و با انرژی مثبت دوره های لینوکس و سایر دوره ها رو پشت سر بگذرونید ، اگر تونستید پای این سری آموزشی بخوابید پولتون رو پس میدم باور کنید ( شوخی می کنم حالا اینقدرم نه دیگه ممکنه صدارو قطع کنید بعد بگیرید بخوابید D: )

2-تنظیمات سخت افزارها و درایورها در لینوکس

کی از مهمترین مسائلی که در لینوکس اهمیت دارد شناخت درست از سخت افزارها ، محل ذخیره سازی درایورها ، شناخت Device ID ها و از همه مهمتر سهولت کار و شناسایی آنها است. اگر قرار باشد شما سخت افزارها را به شکل واقعی آنها مشاهده کنید قطعا برای شما وارد کردن اسم آنها بسیار سخت و دشوار خواهد بود ، در واقع سیستم عامل ها با استفاده از یک سری لایه های واسط تنها بخشی از سخت افزار که مورد نیاز شما و نرم افزارهای شما هستند را به شما نمایش می دهند و آن چیزی که قرار نیست شما بدانید را از دیدتان مخفی نگه می دارند ، ما در این قسمتی آموزشی به شما ابتدا کاربرد مفاهیمی مثل procfs و sysfs و دایرکتوری هایی که استفاده می کنند را بیان می کنیم .

شما متوجه می شوید که اطلاعات موقتی در خصوص سخت افزارها در کجای این سیستم عامل قرار گرفته اند ، سیستم عامل و نرم افزارهای شما از کجا تغییرات سخت افزارها را می شناسند ؟ چرا برخی از سخت افزارها یا بهتر بگوییم سیستم عامل های قدیمی برای شناخت هر سخت افزاری بایستی یکبار سیستم را Restart می کردند ، ما در این قسمت مفهوم HAL یا Hardware Abstraction Layer را توضیح می دهیم و ارتباط آن را udev و dbus را شرح می دهیم ، اینکه Kernel Module یا Driver Kernel Module چیست و چگونه استفاده می شود را تا حدودی تشریح می کنیم و با استفاده از دستورات lsmod ، lsusb ، lspci و ... لیست سخت افزارهای PCI و USB و ماژول های Kernel را که بر روی سیستم فعال هستند را مشاهده می کنیم.

ما یاد می گیریم که چگونه می توان یک Driver Kernel Module را از سیستم عامل لینوکس حذف کرد و چگونه آن را نصب کرد ، استفاده از دستورات rmmod و insmod و همچنین تفاوت دستور insmod و modprobe را با همدیگر بصورت کاملا عملی آموزش خواهیم داد ، بحث اینکه یک Kernel Module اگر در فرآیند Boot سیستم بخواهد نصب شود را بررسی و محل وارد کردن دستورات این مورد را به شما معرفی می کنیم ، مشاهده اطلاعات و ID های سخت افزارهای مختلف را به شما نشان خواهیم داد و منظور واقعی از حافظه دائمی و حافظه موقت را نیز درک خواهید کرد .

3- معرفی روش Boot شدن لینوکس ، لینوکس چگونه بوت می شود؟

آیا تا به حال به این موضوع فکر کرده اید که زمانیکه کلید Power سیستم را می زنید تا زمانیکه صفحه دسکتاپ خود را می بینید چه اتفاقی می افتد ؟ آیا می دانید چه پردازش ها و چه نرم افزارهایی در دیده شدن صفحه دسکتاپ شما دخالت دارند ؟ آیا می دانید تفاوت نحوه Boot شدن سیستم عامل لینوکس و ویندوز در چیست ؟ هر سیستمی عاملی برای اینکه بتواند Boot یا اصطلاح ساده تر آن راه اندازی شود ابتدا مسائل سخت افزاری را بررسی می کند ، دستگاه Boot مورد نیاز را شناسایی می کند ، به نرم افزار خاصی دستور می دهد که فایل های راه اندازی هسته سیستم عامل یا Kernel سیستم عامل را به او معرفی کند ، فایل ها اجرا می شوند و اولین پردازش توسط سیستم اجرا می شود و ... ساده نیست اما باید قابل درک باشد.

در این قسمتی آموزشی ما به صورت ویژه به بررسی نحوه و فرآیند Boot شدن سیستم عامل لینوکس و بعضا محلی که می توانیم به دنبال رفع اشکال Boot آن باشیم اشاره می کنیم. در این قسمتی آموزشی ابتدا ما فرآیند Boot شدن سیستم عامل های مختلف در مراحل مشترک را به شما آموزش می دهیم و بصورت ویژه به لینوکس می پردازیم ، به معرفی انواع Boot Loader و ماهیت کاری آن می پردازیم ، تفاوت بین LILO و GRUB را برای شما تشریح می کنیم و به معرفی نحوه Boot و Load شدن هسته سیستم عامل لینوکس توسط GRUB اشاره می کنیم .

سپس به معرفی پردازش init و اهمیت آن در سیستم عامل می پردازیم و بعد به سراغ کار عملی می رویم. در مراحل عملی ما نحوه مشاهده Boot Loader در هنگام Boot سیستم عامل و دستکاری آن به شکلی که دیگر مراحل گرافیکی بوت سیستم عامل را نمایش ندهد را آموزش می دهیم و مواردی که در هنگام Boot در فایل مورد نظر اهمین دارند از جمله مفهوم ram disk و kernel image را معرفی می کنیم و محل تعریف آنها را نیز مشخص می کنیم. سپس وارد سیستم عامل می شویم و نحوه مشاهده log های هنگام boot از طریق dmesg و فایل messages را آموزش می دهیم ، به سراغ پوشه boot و grub می رویم و محل نگهداری kernel image ها و منوی grub را به شما نشان می دهیم ، در خصوص پروسه init توضیحاتی می دهیم و به شما مفهوم child process و parent process را آموزش می دهیم و اینکه zombie در پردازش ها به چه معناست را متوجه خواهید شد.

4-معرفی مفاهیم run level ، inittab و systemd در لینوکس

آیا با خودتان فکر کرده اید که لینوکس از کجا متوجه می شود که آیا باید گرافیکی بوت شود یا فقط خط فرمان داشته باشد ؟ آیا باید تک کاربره باشد یا چند کاربره ؟ از کجا متوجه می شود که چه سرویس هایی را باید اجرا کند ؟ مثلا از کجا متوجه می شود که سرویس شبکه باید داشته باشد یا نداشته باشد ؟ تمامی این موارد در مفهومی به نام Run Level خلاصه می شود . در این قسمتی آموزشی ما به شما مفهوم Run Level را معرفی می کنیم و سطح مختلف آن از 0 تا 6 را کاملا تشریح می کنیم که چه کاربردی دارند و در کجا ها استفاده می شوند.

در خصوص inittab صحبت می کنیم و اینکه چه ماهیتی دارد و امروزه با چه چیزی جایگزین شده است ، شما برای آزمون بین المللی LPIC1 کد 101 حتما به دانستن ساختار inittab نیاز دارید هر چند در بیشتر توزیع های لینوکس امروزه استفاده نمی شود ، جایگزین inittab را در سیستم عامل های دیگر به نام systemd و upstart را معرفی می کنیم و ساختار systemd را معرفی می کنیم. سپس وارد دایرکتوری init.d می شویم و لیست سرویس ها و اسکریپ های سیستم عامل لینوکس و اینکه ما چگونه می توانیم سرویس های موجود در لینوکس را restart کنیم و یا مدیریت کنیم را معرفی می کنیم

5- معرفی پارتیشن ، حافظه swap و مفهوم mount point در لینوکس

حتما تا به حال به این موضوع فکر کرده اید که سیستم عامل لینوکس هم همانند سیستم عامل ویندوز برای مدیریت کردن هارد دیسک خود از مکانیزمی به نام پارتیشن استفاده می کند ، خوب با پارتیشن های ویندوز که آشنا هستید ؟ ما آنها را به نام درایو C و D و ... می شناسیم ، حتما System Reserved را هم شنیده اید. در سیستم عامل لینوکس ما ساختار متفاوتی داریم ، ساختار ما در این سیستم عامل برخلاف ویندوز که ساختار Flat ای دارد ، دارای یک ساختار سلسله مراتبی است ، شما در سیستم عامل لینوکس بایستی اصلی ترین شاخته ها را بشناسید ، توجه کنید که چه پارتیشن و چند پارتشن باید درست شود و چه directory در چه پارتیشنی باید قرار بگیرد .

برای مثال طراحی قالب هارد دیسک در سیستم عامل لینوکس در صورت استفاده بصورت دسکتاپ یا استفاده به صورت سرور کاملا متفاوت است و نکات مهمی در طراحی این لایه وجود دارد ، نحوه قرارگیری دایرکتوری های swap و var و home در نسخه های دسکتاپ و سرور لینوکس متفاوت است ، در این قسمتی آموزشی ما تفاوت این طراحی های کلاینت و سرور را بررسی می کنیم و همپچنین مفاهیم swap و boot را بررسی می کنیم ، سپس به صورت خلاصه از دستور fdisk برای مشاهده قالب هارد دیسک فعلی استفاده می کنیم ، تاکید می کنم این قسمت بیشتر جنبه تئوری و مقایسه ای با ویندوز در جهت پارتیشن بندی لینوکس دارد .

6- آموزش نصب و مدیریت Boot Loader های لینوکس

فرض کنید که قرار است ترتیب Boot شدن چند سیستم عامل بر روی یک هارد دیسک را تغییر بدهید ، فرض کنید که می خواهید اسامی سیستم عامل هایی که Boot می شوند را خودتان تعریف کنید ، فرض کنید که قرار است از MBR سیستم خودتان Backup بگیرید ، فرض کنید که می خواهید مدت زمان انتظار بوت سیستم عامل ها و یا اینکه تصاویر بوت سیستم عامل را تغییر بدهید ، از کجا متوجه می شوید که سیستم عامل شما از کدام هارد دیسک و از کدام پارتیشن و از چه نسخه ای از Kernel استفاده می کند؟ آیا آنها را می توانید تغییر بدهید ؟ در این قسمتی آموزشی که واقعا اعصابم خورد شد تا درست شد ( باور کنید صدبار وانتی سر و صدا کردن و گوجه سبز و گوجه و خیار میفروختن به خدا ).

ما ابتدا به معرفی انواع Boot Manager ها یا Boot Loader ها می پردازیم ، ما به شما LILO را معرفی می کنیم و ساختار آن را به شما نمایش می دهیم و پارامترهای مهم در فایل تنظیمات آن را نمایش می دهیم ، LILO را در محیط Debian به شما نمایش می دهیم ، سپس به سراغ GRUB می رویم ، تفاوت GRUB Version 1 و GRUB Version 2 که ما آنها را به نام GRUB Legacy و GRUB می شناسیم می رویم ، ساختار کاری انها ، محتویات آنها ، اسکریپت هایی که استفاده می کنند ، تفاوت های آنها ، نسخه هایی از لینوکس که از آنها استفاده می کنند و نحوه باز کردن و اعمال تغییرات مقدماتی بر روی آنها را به شما آموزش می دهیم ، سپس به سراغ نحوه Backup گیری از MBR و نکات مهم در اعمال تغییرات بر روی GRUB می رویم.

7-آشنایی با مفهوم کتابخانه های اشتراکی یا Shared Libraries

آیا تا به حال به این موضوع فکر کرده اید که یک نرم افزار تنها یک فایل نیست ؟ آیا تا به حال به این موضوع فکر کرده اید که یک سری فعالیت ها وجود دارند در بسیاری از نرم افزارها که مشترک هستند و می توان به جای اینکه چند بار آنها را انجام داد یکبار انجام داد و بارها استفاده کرد ؟ آیا به این موضوع فکر کرده اید که ایجاد کردن تعداد زیادی تابع در حافظه RAM برای کارهای تکراری باعث کاهش کارایی سیستم می شود ؟ نرم افزارها برای اینکه بتوانند کارهایشان را بصورت جدا جدا و تفکیک شده انجام بدهند از مکانیزمی به نام Library یا کتابخانه در سیستم عامل استفاده می کنند ، برای مثال ما کتابخانه ای داریم که از کیبورد ورودی و خروجی دریافت و ارسال می کند ، ما کتابخانه ای برای مثال در نرم افزار فتوشاپ داریم که وظیفه انتخاب کردن RGB یک پیکسل از تصویر را بر عهده دارد و به همین ترتیب هزاران Library ممکن است در یک سیستم عامل وجود داشته باشند که در کنار هم کارهای یک نرم افزار را کامل می کنند ، در هنگام اجرا شدن هر یک از این Library ها آنها باید در حافظه RAM شما Load شوند.

اگر بتوانیم برای فرآیند های تکراری Library هایی درست کنیم که بتواند همزمان همان سرویس را به نرم افزارهای دیگر نیز بدهد و بصورت اشتراکی استفاده شود باعث بالا بردن کارایی حافظه RAM و حتی CPU می شویم ، این مفهوم در سیستم عامل لینوکس به عنوان Shared Library شناخته می شود. در این قسمتی آموزشی ما ابتدا نحوه کار کردن یک نرم افزار در سیستم عامل لینوکس را به شما معرفی می کنیم ، سپس به معرفی تفاوت بین Static Library و Shared Library ها می پردازیم ، محل نگهداری انواع Library ها در سیستم عامل لینوکس را معرفی می کنیم و در ادامه نحوه مشاهده لینک ها ، ساختار نامگذاری Library ها ، نحوه شناسایی Library های مورد استفاده در یک نرم افزار ، نحوه update کردن لیست Library های در حال اجرا در سیستم عامل و همچنین معرفی کردن فایل های ld.so.conf و ld.so.cache می پردازیم و در نهایت در خصوص Set کردن Environment Varaible مربوط به این Library ها کارمان را به پایان می رسانیم

8- آموزش مدیریت بسته در خانواده Debian

حتما به این فکر کرده اید که در سیستم عامل لینوکس چگونه نرم افزار را می توانیم نصب کنیم ، حذف کنیم یا بروز رسانی کنیم ، در سیستم عامل لینوکس چیزی به نام فایل exe یا msi برای نصب کردن یک نرم افزار وجود ندارد ، حتی در خانواده های مختلف این سیستم عامل نیز نحوه حذف و نصب نرم افزارها روشهای متفاوتی دارد ، خانواده Debian با خانواده Redhat سیستم مدیریت نرم افزار متفاوتی دارند ، ما در سیستم عامل های خانواده لینوکس به حوزه مدیریت بسته های نرم افزاری یا حذف و نصب و ... در اصطلاح Package management می گوییم ، این Package Management بصورت کلی به دو صورت انجام می شود که بر اساس خانواده های لینوکس متفاوت هستند.

در این قسمتی اموزشی ما به معرفی Package Management در خانواده Debian می پردازیم ، یعنی حذف و نصب و بروز رسانی نرم افزارها و نحوه شناسایی بسته های نرم افزاری در سیستم عامل های خانواده Debian که Ubuntu و Kali و Backtrack و Xubunto و ... از این خانواده هستند به شما آموزش داده می شود. ابتدا مفاهیم Repository و Package برای شما باز می شود و به ترتیب در خصوص بسته های نرم افزار deb و استفاده از ابزارهای dpkg و پارامترهای آن ، ابزارهای apt-get و apt-cache و در نهایت در خصوص نحوه استفاده از aptitude صحبت می کنیم .

در این قسمت به نصب و حذف کردن نرم افزارها و حتی روش پیکربندی مجدد یک نرم افزار در صورت بروز مشکل می پردازیم و اینکه چگونه می توانیم به صورت استاندارد یک Package را از لینوکس حذف کنیم صحبت می کنیم و در نهایت در خصوص محتویات فایل sources.list صحبت می کنیم و اینکه معنا و مفهوم این فایل و محتویات آن چیست را برای شما توضیح می دهیم .

9-آموزش مدیریت بسته در خانواده RedHat

در قسمتی قبلی در خصوص مدیریت بسته های نرم افزاری در سیستم عامل های خانواده Debian صبحت کردیم ، اما در خانواده لینوکس بصورت کلی دو نوع سیستم مدیریت Package وجود دارد ، یکی خانواده Debian و دیگری خانواده RedHat هستند. معمولا در مراکز داده و سرویس های پیشرفته شبکه علاقه مندی به استفاده از توزیع های خانواده RedHat که مهمترین آنها خود RHEL و CentOS می باشد بیشتر است ، به همین دلیل دانستن ابزارهای مدیریت Package و Repository در این سیستم عامل ها نیز اهمیت زیادی دارد.

در این قسمتی آموزشی ما با انواع ابزارهای package Manager خانواده RedHat اعم از rpm و yum آشنا می شویم. ابتدا با yum که مخفف yellowdog package manager است شروع می کنیم و سهولت نصب و حذف کردن نرم افزار با این ابزار ساده را یاد میگیرید و سپس به بررسی دستور rpm که یک دستور قدیمی و تقریبا کم کاربرد امروزه در حوزه package management به حساب می آید صحبت می کنیم ، با سویچ های مختلف دستورات ذکر شده کار می کنیم ، نحوه حذف ، نصب ، بررسی درست بودن و تغییر نکردن ، بررسی وابستگی ها ، نحوه دانلود کرده package های rpm از repository ها و در نهایت yumdownloader و query های کاربردی در yum را با هم بررسی می کنیم .لازم به ذکر است در این قسمتی آموزشی قرار بود دستور rpm2cpio نیز بصورت مختصر توضیح داده شود که به امید خدا در قسمتی بعدی در خصوص این ابزار کوچک و نحوه استفاده از آن به شما توضیح داده خواهد شد بنابراین در این قسمت برخلاف اسلاید ابتدایی rpm2cpio و alien آموزش داده نمی شوند.

10- آموزش دستورات خط فرمان لینوکس

در این قسمتی آموزشی ما به مرور دستورات کاربردی در استفاده از لینوکس می پردازیم ، دستوراتی که در خصوص نحوه مشاهده و اعمال تغییرات در Environment Variables و همچنین دستورات مربوط به امور روزمره در لینوکس از این جمله هستند ، در این قسمتی آموزشی شما در خصوص مشاهده مسیر فعلی که در آن قرار دارید ، تغییر دادن محل پوشه ها ، جابجا شدن بین پوشه ها ، نحوه استفاده از دستور echo و مخلفات آن ، نحوه استفاده از help نرم افزارها و مشاهده manual ها آنها و اعمال فیلترینگ و جستجو در میان manual ها ، نحوه استفاده از دستور export و تعریف و تغییر Variable ها و همچنین کاربرد فایل profile و bashrc و بصورت مختصر در خصوص دستور exec هم صحبت هایی خواهد شد.

11-آموزش استفاده از Text Stream ها و فیلترهای متنی

در سیستم عامل لینوکس شما باید بتوانید به خوبی با فایل ها و محتوای آنها ارتباط برقرار کنید ، در آنها تغییر اعمال کنید ، از آنها گزارش بگیرید ، در آنها جستجو کنید و بسیاری دیگر از این قبیل کارها را انجام دهید. یکی از مهمترین قسمت های امتحانات بین المللی لینوکس بحث نحوه استفاده از Text Stream ها و اعمال پردازش های مختلف ( انجام کارهای مختلف بر روی آنها ) است. در این قسمتی آموزشی ما بیش از 20 عدد دستور مرتبط با Text Stream ها و Filter های آنها را با هم مرور می کنیم و از آنها استفاده می کنیم ، برای اینکه مفاهیم به خوبی برای شما جا بیوفتند ما چهار عدد فایل متنی ابتدای قسمت ایجاد می کنیم که شما بتوانید براحتی ویرایش های خودتان و Filter های خودتان را بر روی آنها انجام دهید. 

12-آموزش دستورات مقدماتی مدیریت فایل

خوب فکر می کنم بیشتر از دو هفته ای هست که قسمتیی در خصوص لینوکس و سری آموزشی LPIC در وب سایت قرار نداده ام و باور کنید که این دلیلی نداشت جز ناراحتی که برای گلوی من پیش آمده بود و شکر خدا با دعای شما عزیزان این کسالت برطرف شد و امروز در خدمت شما هستیم با ادامه مجموعه آموزشی LPIC1 کد 101 که در این قسمتی آموزشی ما به شما نحوه مدیریت کردن فایل ها در لینوکس را آموزش می دهیم . با توجه به اینکه همه چیز در سیستم عامل لینوکس در قالب فایل معرفی می شود ، نحوه شناخت فایل ها و انواع آنها ، نحوه مدیریت کردن آنها بسیار مهم است ، به قدری این موضوع اهمیت دارد که در آزمون بین المللی LPIC از این قسمت 4 عدد سئوال مطرح می شود که نشانه اهمیت زیاد این قسمت است.

در این قسمتی آموزشی ما به شما نحوه استفاده از دستور cp برای کپی کردن فایل و فولدر ، نحوه استفاده کردن از دستور mv برای منتقل کردن فایل و فولدر ، نحوه استفاده کردن از دستور rm برای حذف کردن فایل و فولدر و همچنین نحوه استفاده از دستور touch و mkdir برای ایجاد کردن فایل و فولدر را آموزش می دهیم. سپس به سراغ دستورات جستجو در سیستم عامل لینوکس می رویم و با هم یاد میگیریم که چگونه می توان فایل های مورد نظرمان را بر اساس نام ، نوع و اندازه و حتی تاریخ جستجو و پیدا کرد ، به بررسی مفهوم globing و wildcard در سیستم عامل لینوکس و نحوه استفاده کردن از آنها می پردازیم و سپس به سراغ فرآیند فشرده سازی و آرشیو کردن اطلاعات در لینوکس می رویم .

در خصوص دستورات cpio ، tar و gzip و bzip2 صحبت می کنیم و از آنها برای فشرده سازی و آرشیو کردن فایل ها استفاده می کنیم و فرآیند extract کردن اطلاعات از این فایل ها را نیز آموزش می دهیم. سپس به سراغ دستور dd برای ایجاد کردن image از تجهیزاتی مثل CD-ROM و DVD-ROM یا هارد دیسک ها می رویم و از یک Flash Memory یک Image می گیریم.

13- آموزش استفاده از Stream ، Pipe و Redirect ها

یک برنامه در سیستم عامل لینوکس بصورت عادی دارای یک ورودی استاندارد یا standard input ، یک خروجی استاندارد یا standard output و در نهایت یک خطای استاندارد یا standard error است ، بصورت خلاصه در بحث برنامه نویسی سیستمی به این موارد stdin ، stdout و stderr گفته می شود. در واقع شما زمانیکه دستوری در سیستم عامل لینوکس وارد می کنید و نتیجه آن را مشاهده می کنید همین روند در حال اجرا شدن است ، این موارد وجود دارند و با یک سری علامات ما می توانیم بصورت مشهود تری از آنها استفاده کنیم.

ما به عنوان کسی که در حوزه Open Source مشغول فعالیت است بایستی این مفاهیم را یاد بگیریم به ویژه اینکه این موارد برای بحث Shell Scripting بسیار بسیار کاربری است . علاماتی مثل >< یا >> یا <1 یا <2 باید برای شما دارای مفهوم باشند. اینکه ما بتوانیم ورودی و خروجی استاندارد را تغییر بدهیم و استفاده کنیم را حداقل در حد معمول بایستی درک کنیم. ما باید بدانیم که می توانیم در لینوکس خروجی چند دستور را همزمان مشاهده و اجرا کنیم ، می توانیم از دستورات خاصی برای دریافت ورودی استاندارد استفاده کنیم و در ابزارهای دیگر استفاده کنیم.

در این قسمتی آموزشی شما با این موارد بصورت خلاصه و ابتدایی آشنا خواهید شد ، البته این خلاصه و ابتدایی بودن لازمه دوره LPIC1 کد 101 است و طبیعتا در دوره های پیشرفته تر بیشتر با این موارد آشنا خواهید شد. ما با tee و xarg آشنا خواهیم شد و از همه این موارد با ذکر مثال هایی استفاده خواهیم کرد.

14-آموزش مدیریت Process های لینوکس

در هر سیستم عاملی به محض اینکه یک نرم افزار اجرا می شود ، فرآیندهایی در سیستم عامل طی می شوند تا دستورات نرم افزار مربوطه تبدیل به یک سری دستورات قابل فهم برای CPU بشوند ، ما به این مفهوم در سیستم عامل Process می گوییم ، به عنوان یک کاربر ویندوزی حتما با مفهوم Task Manager آشنایی دارید ، امروز می خواهیم به شما نحوه مدیریت کردن Process ها در سیستم عامل لینوکس را بصورت مقدماتی آموزش بدهیم . اینکه چگونه یک Process را ایجاد کنیم ، Process را در حالت Background قرار بدهیم ، Process را در حالت Foreground قرار بدهیم یا اینکه Process را از بین ببریم ، ما امروز در این قسمت یاد می گیریم که چگونه یک Process دائمی در سیستم عامل ایجاد کنیم که حتی با Louout کردن از سیستم این Process از بین نرود. در این قسمتی آموزشی که دارای 4 عدد سئوال در امتحان بین المللی LPIC1-101 خواهد بود ما به شما نحوه استفاده از دستورات fg ، bg ، top ، kill ، killall ، free و ps را بصورت کاربردی آموزش می دهیم.

15-آموزش مدیریت اولویت Process ها در CPU

شما در سیستم عامل ویندوز می توانید از طریق Task Manager و رفتن به قسمت Details و انتخاب یک Process اولویت اجرای آن Process بر روی CPU را تعریف کنید. با تعریف کردن اولویت پردازشی بر روی یک Process ما می توانیم به یک برنامه اجازه بدهیم که با توجه به نوع اولویت از منابع CPU بیشتر یا کمتری استفاده کند ، البته منظور ما از اولویت مثل صف نانوایی است ، هر چقدر اولویت Process بیشتر باشد می تواند در صف جلوتر از دیگران قرار بگیرد. در سیستم عامل لینوکس نیز ما چنین مفهومی را به نام Nice Level خواهیم داشت ، در واقع Nice یعنی خوب بودن و معیار یک برنامه یا Process خوب این است که از منابع کمتری استفاده کند ، عدد Nice Level در سیستم عامل لینوکس از منفی 20 شروع و تا مثبت 19 ادامه دارد ، هر چقدر این عدد پایینتر باشد یعنی اولویت اجرای Process مورد نظر بر روی CPU بالاتر می باشد و برنامه ما Nice نیست ، در این قسمتی آموزشی ما ضمن اینکه از ترفند های استفاده از ابزارهای ps و top استفاده می کنیم نحوه مشاهده nice level ، تعریف کردن nice level پیشفرض اجرایی نرم افزار و عوض کردن nice level در لحظه اجرای یک process را با هم مرور خواهیم کرد و یاد می گیریم که چگونه در لینوکس اولویت پردازش ها را تغییر بدهیم

16-آموزش جستجو در Text Stream ها

تا اینجای سری آموزشی LPIC1 کد 101 با موارد زیادی آشنا شده اید ، امروز می خواهیم در خصوص نحوه جستجو کردن در محتوای فایل ها صحبت کنیم ، در خصوص جستجو کردن خود فایل ها بارها تاکنون صحبت کرده ایم اما امروز می خواهیم بدانیم که چگونه می توانیم محتوای یک فایل را به درستی جستجو کنیم ، در این قسمتی آموزشی ما دستور grep را به شما معرفی می کنیم ، شاید با خودتان بگویید که تاکنون هم از دستور grep استفاده کرده ایم اما در این قسمتی آموزشی بصورت اختصاصی در خصوص انواع کاربرد این دستور و همچنین همخانواده های این دستور صحبت می کنیم .بعد از اینکه در خصوص grep صحبت کردیم در خصوص egrep که قابلیت های پیشرفته تری در استفاده از Regular Expressions دارد صحبت خواهیم کرد و از این خانواده در نهایت دستور fgrep که بیشتر معیار سرعت جستجو را در خودش دارد صحبت می کنیم. همه موارد بر اساس ساختار استاندارد و با انجام مثال های عملی انجام خواهد شد ، در نهایت برای پایان قسمت نیز از دستور sed برای ویرایش کردن محتویات فایل استفاده می کنیم و یک سری تغییرات مقدماتی بر روی آن انجام می دهیم ، این قسمت برای دوستانی که می خواهید در حوزه Shell Scripting وارد شوند بسیار می تواند کاربردی باشد ، Regular Expressions مبحث بسیار پیچیده و بعضا دشواری است که در این قسمت ما بصورت مقدماتی آن را به شما معرفی می کنیم.

17-آموزش ویرایشگر متنی vi یا vi editor

حتما به حال دقت کرده این که ما برای ویرایش کردن فایل ها از محیطهای گرافیکی مثل Gedit استفاده می کردیم یا اینکه با استفاده از ویرایشگر پیشرفته Nano اینکار را انجام می دادیم ، اما نکته در اینجاست که همیشه این موارد در دسترس شما نیستند ، Gedit فقط در محیط های گرافیکی و Nano هم بعضا در بسیاری از توزیع های حرفه ای لینوکس ممکن است وجود نداشته باشد و شما مجبور هستید از یک ویرایشگر متنی یا Text Editor استفاده کنید که بصورت پیشفرض در سیستم عامل وجود داشته و نیازی به نصب آن نباشد.VI Editor یک ویرایشگر متنی بسیار قدیمی و قابل اعتماد است که مخصوص کاربران حرفه ای و با حوصله لینوکسی طراحی و ارائه شده است و تقریبا بصورت پیشفرض در همه توزیع های لینوکس وجود دارد ، به دلیل داشتن استانداردهای خاص خودش در ویرایش متون ، کمتر کسی از کاربران تازه کار لینوکس به سراغ استفاده از این ویرایشگر می رود اما جالب است بدانید که درجه اهمیت یادگیری این ویرایشگر چندان هم پایین نیست و در آزمون بین المللی LPIC شما حداقل 3 عدد سئوال از این ویرایشگر متنی خواهد آمد. در این قسمتی اموزشی ما به شما انواع سویچ ها و ترفند های استفاده از این ویرایشگر را آموزش می دهیم ، کارهایی از قبیل ویرایش کردن ، cut و copy کردن ، جستجو کردن و ... شاید به نظر این موارد از نظر شما ساده باشد اما باید یک vi را از نزدیک استفاده کنید تا متوجه تکنیک های این ویرایشگر بشوید.

18-آموزش پارتیشن بندی و تنظیمات فایل سیستم

هیچ سیستم عاملی نمی تواند از هارد دیسک بصورت خام استفاده کند ، هیچ شرکتی هم نمی تواند کارمندهای خودش را در کنار هم بیخ دیوار قرار بدهد ، بایستی از فضای یک شرکت بصورت پارتیشن بندی شده برای قسمت های مختلف اعم از نیروی انسانی ، مالی ، تحقیق و توسعه و ... استفاده کرد. همین موارد در هارد دیسک هم وجود دارد ، شما برای اینکه بتوانید بر روی هارد دیسک مدیریت داشته باشید بایستی بتوانید آن را پارتیشن بندی کنید و قطعه قطعه کنید و هر بخش را برای کار خاصی اختصاص بدهید ، این فرآیند در لینوکس و ویندوز به عنوان Partitioning یا پارتیشن بندی معروف است .شما با پارتیشن بندی در ویندوز و ساختار درایو C و D و E و .. آشنایی دارید اما در سیستم عامل لینوکس دیگر چنین چیزی وجود ندارد و پارتیشن ها با شماره و اعداد نمایش داده می شوند. در این قسمتی آموزشی ما ابتدا به شما ساختار کلی هارد دیسک و اینکه Primary و Extended Partition چیست را معرفی می کنیم و سپس با انواع و اقسام پارتیشن ها با ظرفیت ها و نوع فایل سیستم متفاوت را ایجاد می کنیم ، نوع پارتیشن یا ID آنها را عوض می کنیم و در نهایت آنها را فرمت و فایل سیستم مورد نظر را بر روی آنها قرار می دهیم.شما با دستورات fdisk ، mkfs و mkswap و swapon آشنا خواهید شد و هیچ کاری در محیط گرافیکی انجام نخواهد شد.

19-آموزش تعمیرات مقدماتی فایل سیستم

ساختار هارد دیسک در همه سیستم عامل ها یکی است و فارق از هر نوع سیستم عامل در نهایت فایل سیستم ها دچار اختلال و مشکل می شوند و لینوکس نیز از این قضیه مستثنی نیست ، هرگاه فایل سیستم های ویندوزی ما به مشکل می خورد ما با استفاده از دستوری به نام check disk فایل سیستم را برای مشکلات جستجو می کنیم و مشکل را برطرف می کنیم اما در سیستم عامل لینوکس با توجه به تنوع تعداد فایل سیستم نمی توانیم از یک ابزار جامع برای بررسی سلامت یا Integrity فایل سیستم استفاده کنیم. در این قسمتی آموزشی ما به شما نحوه مشاهده اطلاعات فایل سیستم ها ، میزان فضای خالی دیسک ها و فضای اشغال شده توسط هر فایل سیستم و هر دایرکتوری و همچنین مفهوم inode و مکانیزم کاری inode را تشریح خواهیم کرد.شما در این قسمتی آموزشی با نحوه استفاده کردن از دستورات df du mount umount fsck xfs__repair dumpe2fs و بسیاری دیگر از دستورات آشنا خواهید شد و در یک سناریو ما یک فایل حذف شده از فایل سیستم را با استفاده از ابزار debugfs بازیابی می کنیم ، هدف ما از این قسمت نحوه شناسایی و بدست آوردن اطلاعات از فایل سیستم ها و انجام عملیات های تعمیری مقدماتی بر روی آنها است ، دستور mount در یک قسمتی جداگانه به شما آموزش داده می شود در این قسمت صرفا برای انجام سناریو به شما آموزش مقدماتی از این دستور داده می شود.

20-آموزش mount و unmount کردن فایل سیستم

همانطور که قبلا هم اشاره کردیم در سیستم عامل لینوکس هر فایل سیستم قبل از اینکه بتواند مورد استفاده قرار بگیرد بایستی در سیستم mount شود ، این واژه شبیه به مثالی است که قبلا هم زده ایم ، مثال پارتیشن ویندوزی که فرمت شده است اما Drive Letter ندارد ، در واقع ما به متصل کردن یک فضای پارتیشن یا همان فایل سیستم به یک دایرکتوری به گونه ای که قابل استفاده برای کاربر باشند mount کردن می گوییم ، در قسمتهای قبلی ما روش ایجاد کردن پارتیشن و فرمت کردن و انواع فایل سیستم را شناسایی کردیم ، امروز می خواهیم در این قسمت به شما نحوه mount کردن و unmount کردن فایل سیستم ها را بصورت دستی و خودکار و همچنین با استفاده از فایل fstab آموزش بدهیم.ما امروز با دستور mount و umount برای متصل کردن فایل سیستم به دایرکتوری و همچنین قطع کردن آنها صحبت خواهیم کرد و option ها و روشهای مختلف mount کردن در این حالت را به شما آموزش خواهیم داد. در ادامه به بررسی ساختار فایل fstab که تمامی mount point های ما را در خودش جای می دهد می پردازیم و مفاهیمی همچون dump ، pass ، dir و ... را در این فایل و با مثالی از سیستم عامل های مختلف آموزش خواهیم داد ، در نهایت با استفاده از همین فایل یک mount point خودکار که پس از boot شدن سیستم mount می شود ایجاد خواهیم کرد.

21- آموزش استفاده از Disk Quota در لینوکس

در هر سیستم عاملی که بصورت چند کاربره فعالیت می کند همیشه ممکن است برخی از کاربران بصورت خواسته یا ناخواسته از فضای دیسک بصورت غیر بهینه ای استفاده کنند و کمبود فضای دیسک برای سایر کاربران نیز به وجود بیاید ، برای جلوگیری از به وجود آمدن چنین شرایطی قابلیتی به نام Disk Quota در همه سیستم عامل های پر کاربرد تعریف شده است که لینوکس نیز از این لحاظ استثناء نیست ، شما می توانید با استفاده از Disk Quota به هر کاربر مقدار مشخصی از فضای هارد دیسک را اختصاص بدهید به گونه ای که دیگر نتواند از حد مجاز خودش تجاوز کند.در این قسمتی آموزشی ما به شما نحوه فعال کردن و استفاده از Disk Quota را بر روی فایل سیستم آموزش می دهیم و کاربران را محدود به استفاده از یک فضای معین کرده و آن را تست می کنیم. در این قسمت ما تغییراتی در option های فایل fstab ایجاد می کنیم و سپس از دستورات quotacheck برای ایجاد کردن فایل های دیتابیس disk quota استفاده می کنیم ، از دستور quoataon و quotaoff برای روشن و خاموش کردن این قابلیت استفاده می کنیم و از دستور edquota برای مدیریت فضا برای کاربران استفاده می کنیم. در نهایت با استفاده از دستور repquota از این قابلیت گزارش گیری هم می کنیم.

22-آموزش سطوح دسترسی و مالکیت فایل در لینوکس

تعریف کردن سطوح دسترسی یا Permission در هر سیستم عاملی یکی از مهمترین فاکتورهای امنیتی می باشد ، در سیستم عامل ویندوز شما از NTFS Permission ها استفاده می کنید و در سیستم عامل لینوکس هم از یک ساختار 9 پارامتری ، امروز در این قسمتی آموزشی ما به شما ساختار سطوح دسترسی در سیستم عامل لینوکس را آموزش می دهیم ، این سطوح دسترسی در قالب پارامترهای read write execute مشخص می شوند که بصورت اختصاری rwx معرفی می شوند.بعد از اینکه با ساختار سطوح دسترسی آشنا شدیم بصورت عملی در خصوص نحوه مشاهده owner فایل و گروه های مربوطه و چگونگی تغییر دادن آنها توسط دستور chown و chmod صحبت خواهیم کرد ، در ادامه در خصوص دستورات chgrp برای تغییر دادن گروه یک فایل و فولدر صحبت می کنیم ، در خصوص مفهوم special permissions یا سطوح دسترسی خاص صحبت خواهیم کرد و مکانیزم کاری sticky bit ، suid و sguid را مشاهده خواهیم کرد ، همه این موارد با انجام دادن مثال های واقعی انجام خواهد شد

23-معرفی مفاهیم Soft Link و Hard Link در لینوکس

در هر سیستم عاملی ما برای اینکه بتوانیم به یک سری از فایل ها که در دایرکتوری های تو در تو قرار دارند بتوانیم به راحتی دسترسی پیدا کنیم از مکانیزمی به نام shortcut استفاده می کنیم ، مفهوم shortcut در سیستم عامل لینوکس نیز وجود دارد اما ما آن را به عنوان link می شناسیم ، ما لینک ها را به دو دسته Hard Link و Soft Link تقسیم بندی می کنیم ، زمانیکه صحبت از Hard Link می شود Link ما به جای اینکه به اسم فایل یا خود فایل مربوطه اشاره کند به Inode فایل اشاره می کند یعنی یک لایه پایینتر Link ما ایجاد می شود ، اینگونه Link ها حتی در صورتیکه فایل اصلی ما تغییر نام بدهند باز هم به همان شکلی که بوده اند باقی می مانند چون وابستگی به نام و حتی خود فایل ندارند .بر خلاف آن Soft Link ها را می توانیم به هر اسم فایل و فایلی Link کنیم ، با تغییر دادن نام فایل اصلی Soft Link ما به مشکل می خورد ، مزیت Hard Link تغییر نکردن حتی در صورت تغییر و جابجایی فایل است اما عیبی که Hard Link دارد این است که شما نمی توانید از Hard Link ها بین File System ها و پارتیشن های مختلف استفاده کنید زیرا ساختار و اعداد Inode ها در هر کدام متفاوت است ، در عین حال شما می توانید از طریق Soft Link به هر جایی Link ایجاد کنید. در این قسمتی آموزشی ما به شما این تفاوت ها را به همراه نحوه شناسایی Soft Link و Hard Link آموزش می دهیم و نحوه ایجاد کردن آنها را نیز با هم بررسی می کنیم

24-آموزش و معرفی ساختار سلسله مراتبی و جستجو در لینوکس

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

اگه حمایت های شما باشه ما قطعا تا LPIC 3 امسال قسمت و آموزش تولید می کنیم و این برای اولین بار در دنیا خواهد بود که مجموعه آموزشی LPIC 3 بصورت کامل تولید میشه به امید خدا ، خوب در این قسمتی آموزشی ما یک سری تکرار مکررات داریم و دوستانی که در Linux Essentials و LPIC 1-101 همراه ما بودند با ساختار سلسله مراتبی سیستم عامل لینوکس آشنا شدند اما ما اینجا مجددا این ساختار رو برای تکمیل سیلابس درسی و آمادگی برای آزمون بین المللی تکرار کردیم ، دستورات جستجویی از قبیل find , locate , whereis , what , type , updatedb و ... رو هم با هم کار خواهیم کرد و تفاوت هاشون رو هم تا حدی بیان می کنیم

نظر شما
برای ارسال نظر باید وارد شوید.
77 نظر