مروری بر دوره LPIC 1 – Exam 101
مدرک LPIC-1 اولین مدرک از مجموعه مدارک حرفه ای سطح بندی شده LPI لینوکس می باشد.
این مدرک صلاحیت داوطلب در زمینه اداره کردن امور مرتبط با تعمیر و نگهداری از طریق خط فرمانی (command
line)، نصب و پیکربندی یک کامپیوتر برخوردار از سیستم عامل لینوکس و نهایتا تنظیمات اولیه مرتبط با شبکه را
تایید می کند.
دوره آموزش لینوکس در بین متخصصان فناوری اطلاعات (IT) از اهمیت و جایگاه ویژه ای برخوردار است.
دلیل استقبال از دوره های Linux این است که لینوکس همچنان در حوزه کامپیوتر جزو ابر قدرت ها و نام های شناخته این بازار به حساب می آید.
طبق گزارشی که W3Techs برای سال 2019 میلادی منتشر کرده است بیش از 50 درصد سهم بازار مربوط به وب سرور، به Linux اختصاص دارد.
پیش نیاز: هیچ پیش نیازی برای این گواهی وجود ندارد.
شرایط قبولی در آزمون های 101 و 102 :
هر آزمون 90 دقیقه و شامل 60 سوال چندگزینه ای می باشد.
مدت اعتبار: 5 سال مگر اینکه سطح مجدد یا بالاتر بدست آید.
زبانهای آزمون موجود برای آزمون :
انگلیسی، آلمانی، ژاپنی، پرتغالی (برزیلی)، چینی (سادهشده)، چینی (سنتی)، اسپانیایی (مدرن)
برای دریافت گواهی LPIC-1، داوطلب باید به موارد زیر مسلط باشد :
درک معماری سیستم عامل لینوکس؛
نصب و نگهداری یک ایستگاه کاری لینوکس، از جمله X11 و راه اندازی آن به عنوان کلاینت شبکه.
کار در خط فرمان لینوکس، از جمله دستورات رایج گنو و یونیکس.
مدیریت فایل ها و مجوزهای دسترسی و همچنین امنیت سیستم.
انجام وظایف تعمیر و نگهداری سیستم مانند : کمک به کاربران، افزودن کاربران به یک سیستم بزرگتر، پشتیبان گیری و بازیابی، خاموش کردن و راه اندازی مجدد.
در این دوره آموزشی (LPIC 1 – Exam 101) سعی شده است در کنار مالتی مدیای آموزشی ناگفته های لینوکس را در قالب کتاب هم ارائه بدهیم، پس همراه ما باشید.
سرفصل دوره
پارت 1: معرفی دوره
پارت 2: تشخیص و پیکربندی سخت افزارها در لینوکس
همیشه برای تمرین هم که شده، خوبه که بدونید اجزای سخت افزاری سیستم لینوکس شما در حال اجرا هستش یا نه، این به شما کمک می کنه تا با مشکلات سازگاری در هنگام نصب بسته ها و درایورها بر روی سیستم خودتون با استفاده از yum، dnf یا apt مقابله بکنید.
بنابراین در این آموزش، به چند دستور مفید نگاه خواهیم کرد که می تونه به شما در استخراج اطلاعات سیستم لینوکس و اجزای سخت افزاری خودتون کمک کنه.
1. نحوه مشاهده اطلاعات سیستم لینوکس
برای دونستن تنها نام سیستم، می تونید از دستور uname بدون هیچ سوئیچی استفاده کنید که اطلاعات سیستم را چاپ می کنه یا دستور uname -s نام هسته سیستم شما را چاپ می کنه.
uname$
برای مشاهده نام میزبان شبکه خود، از سوئیچ ‘n-‘ با دستور uname می تونید استفاده کنید.
uname -n$
برای دریافت اطلاعات در مورد نسخه هسته، از سوئیچ ‘v-‘ استفاده کنید.
uname -v$
برای دریافت اطلاعات در مورد انتشار هسته خود، از سوئیچ ‘r-‘ استفاده کنید.
uname -r$
برای مشاهده نام سخت افزار دستگاه خود، از سوئیچ “m-” استفاده کنید:
uname -m$
دقت داشته باشید که تمام این اطلاعات را می تونید با اجرای دستور ‘uname -a’ به یکباره مشاهده کنید.
2. نحوه مشاهده اطلاعات سخت افزاری سیستم لینوکس
در اینجا می تونید از ابزار lshw برای جمع آوری اطلاعات گسترده در مورد قطعات سخت افزاری خود مانند cpu، دیسک ها، حافظه، کنترلرهای USB و غیره استفاده کنید.
lshw یک ابزار نسبتا کوچیک هستش که می تونید ازش برای استخراج اطلاعات سخت افزاری لینوکس تون استفاده کنید.
اطلاعات ارائه شده توسط lshw از فایل های مختلف proc/ جمع آوری می شود.
توجه: به یاد داشته باشید که دستور lshw توسط superuser (root) یا کاربر sudo اجرا می شود.
برای مشاهده اطلاعات در مورد سخت افزار سیستم لینوکس خودتون، این دستور رو اجرا کنید.
sudo lshw$
با استفاده از گزینه short- می تونید خلاصه ای از اطلاعات سخت افزاری خودتون رو مشاهده کنید.
sudo lshw -short$
اگر می خاید خروجی را به صورت فایل html جنریت کنید، می تونید از گزینه html- استفاده کنید.
sudo lshw -html > lshw.html$
3. نحوه مشاهده اطلاعات CPU لینوکس
برای مشاهده اطلاعات مربوط به CPU خود، از دستور lscpu استفاده کنید.
این دستور اطلاعاتی در مورد معماری CPU شما مانند تعداد CPU ها، هسته ها، مدل خانواده CPU، حافظه پنهان CPU، رشته ها و غیره از sysfs و proc/cpuinfo/ نشان می دهد.
lscpu$
4. چگونه اطلاعات دستگاه بلاک لینوکس را جمع آوری کنیم
دستگاه های بلاک، دستگاه های ذخیره سازی مانند هارد دیسک، درایو فلش و غیره هستند.
دستور lsblk برای گزارش اطلاعات مربوط به دستگاه های بلاک استفاده می شود.
lsblk$
اگر میخاید همه دستگاههای بلاک روی سیستم خود را مشاهده کنید، گزینه a- را وارد کنید.
lsblk -a$
5. نحوه مشاهده اطلاعات کنترلرهای USB
دستور lsusb برای گزارش اطلاعات مربوط به کنترلرهای USB و تمام دستگاه هایی که به آنها متصل هستند استفاده می شود.
lsusb$
می تونید از گزینه v- برای تولید اطلاعات دقیق در مورد هر دستگاه USB استفاده کنید.
lsusb -v$
6. نحوه مشاهده اطلاعات دستگاه های PCI
دستگاههای PCI ممکن است شامل پورتهای USB، کارتهای گرافیک، آداپتورهای شبکه و غیره باشند.
ابزار lspci برای تولید اطلاعات مربوط به همه کنترلکنندههای PCI روی سیستم شما بهعلاوه دستگاههایی که به آنها متصل هستند استفاده میشود.
برای مشاهده اطلاعات در مورد دستگاه های PCI دستور زیر رو اجرا کنید.
lspci$
از گزینه t- برای تولید خروجی در قالب درختی می تونید استفاده کنید.
lspci -t$
از گزینه v- برای تولید اطلاعات دقیق در مورد هر دستگاه متصل می تونید استفاده کنید.
lspci -v$
7. نحوه مشاهده اطلاعات دستگاه های SCSI
برای مشاهده تمام دستگاه های scsi/sata خودتون، از دستور lsscsi به صورت زیر می تونیداستفاده کنید. اگر ابزار lsscsi را نصب نکردید، دستور زیر رو برای نصب آن اجرا کنید.
sudo apt-get install lsscsi [on Debian derivatives]
yum install lsscsi [On RedHat based systems]
dnf install lsscsi [On Fedora 21+ Onwards]
پس از نصب، دستور lsscsi را اجرا کنید:
lsscsi$
از گزینه s- برای نمایش سایز دستگاه می توانید استفاده کنید.
lsscsi -s$
8. نحوه نمایش اطلاعات در مورد دستگاه های SATA
با استفاده از ابزار hdparm می تونید اطلاعاتی در مورد دستگاه های sata در سیستم خود پیدا کنید.
sudo hdparm /dev/sda1
برای مشاهده اطلاعات مربوط به هندسه دستگاه بر حسب سیلندر، هد، سکتور، اندازه و شروع افست دستگاه، از گزینه g- استفاده کنید.
sudo hdparm -g /dev/sda1
9. چگونه اطلاعات فایل سیستم لینوکس را بررسی کنیم
برای جمع آوری اطلاعات در مورد پارتیشن های فایل سیستم می توانید از دستور fdisk استفاده کنید.
اگرچه عملکرد اصلی دستور fdisk تغییر پارتیشن های فایل سیستم هستش، اما می تونید از آن برای مشاهده اطلاعات مربوط به پارتیشن های مختلف در فایل سیستم تون هم استفاده کنید.
sudo fdisk -l$
10. نحوه بررسی اطلاعات اجزای سخت افزار لینوکس
همچنین می توانید از ابزار dmidecode برای استخراج اطلاعات سخت افزاری و خواندن داده ها از جداول DMI استفاده کنید.
برای مشاهده اطلاعات مربوط به حافظه، این دستور را به عنوان superuser اجرا کنید.
sudo dmidecode -t memory$
برای مشاهده اطلاعات مربوط به سیستم، این دستور را اجرا کنید.
sudo dmidecode -t system$
برای مشاهده اطلاعات مربوط به BIOS، این دستور را اجرا کنید.
sudo dmidecode -t bios$
برای مشاهده اطلاعات مربوط به پردازنده، این دستور را اجرا کنید.
sudo dmidecode -t processor$
راه های زیادی وجود دارد که می تونید از آنها برای به دست آوردن اطلاعات در مورد اجزای سخت افزاری سیستم خود استفاده کنید.
اکثر این دستورات از فایل های موجود در پوشه proc/ برای استخراج اطلاعات سیستم استفاده می کنند.
پارت 3: فرآیند Boot شدن لینوکس
سیستم عامل (OS) نرم افزار سطح پایینی است که منابع را مدیریت می کند، وسایل جانبی را کنترل می کند و خدمات اساسی را به نرم افزارهای دیگر ارائه می دهد.
در لینوکس، 6 مرحله مجزا در فرآیند بوت معمولی وجود دارد.
1. BIOS
BIOS مخفف Basic Input/Output System است. به زبان ساده، BIOS بوت لودر Master Boot Record (MBR) را بارگیری و اجرا می کند.
هنگامی که برای اولین بار سیستم خود را روشن می کنید، BIOS ابتدا برخی از بررسی های یکپارچگی هارد یا SSD را انجام می دهد.
سپس، BIOS برنامه بوت لودر را جستجو، بارگیری و اجرا می کند که می تواند در Master Boot Record (MBR) پیدا شود.
MBR گاهی اوقات روی یک USB یا CD-ROM است، مانند نصب زنده لینوکس.
هنگامی که برنامه بوت لودر شناسایی شد، سپس در حافظه بارگذاری می شود و BIOS کنترل سیستم را به آن می دهد.
2. MBR
MBR مخفف Master Boot Record است و مسئول بارگذاری و اجرای بارگذار بوت GRUB است.
MBR در بخش اول دیسک قابل بوت قرار دارد که بسته به سخت افزار شما معمولاً dev/hda/ یا dev/sda/ است.
MBR همچنین حاوی اطلاعاتی در مورد GRUB یا LILO در سیستم های بسیار قدیمی است.
3. GRUB
گاهی اوقات GNU GRUB نامیده می شود که مخفف GNU GRand Unified Bootloader است، بوت لودر معمولی برای اکثر سیستم های لینوکس مدرن است.
صفحه نمایش اسپلش GRUB اغلب اولین چیزی است که هنگام بوت کردن سیستم خود می بینید.
منوی ساده ای دارد که می توانید برخی از گزینه ها را انتخاب کنید.
اگر چندین kernel images نصب کردهاید، میتوانید از صفحه کلید خود برای انتخاب صفحهکلیدی که میخواهید سیستمتان با آن بوت شود، استفاده کنید.
به طور پیش فرض، آخرین kernel images انتخاب شده است.
صفحه splash چند ثانیه منتظر می ماند تا شما آن را انتخاب کنید.
اگر این کار را نکنید، kernel images پیشفرض را بارگیری میکند.
در بسیاری از سیستم ها می توانید فایل پیکربندی GRUB را در boot/grub/grub.conf/ یا etc/grub.conf/ پیدا کنید.
4. کرنل
کرنل اغلب به عنوان هسته هر سیستم عامل از جمله لینوکس شناخته می شود. که کنترل کامل بر همه چیز در سیستم شما دارد.
در این مرحله از فرآیند بوت، هسته ای که توسط GRUB انتخاب شده است، ابتدا فایل سیستم root ی که در فایل grub.conf مشخص شده است را مانت می کند.
سپس برنامه sbin/init/ را اجرا می کند که همیشه اولین برنامه ای است که اجرا می شود.
می توانید این را با پروسس آیدی (PID) آن تأیید کنید، که همیشه باید 1 باشد.
سپس هسته یک فایل سیستم ریشه موقت را با استفاده از دیسک RAM اولیه (initrd) ایجاد می کند تا زمانی که فایل سیستم واقعی نصب شود.
5. Init
در این مرحله، سیستم شما برنامه های runlevel را اجرا می کند. در یک نقطه به دنبال یک فایل init می گردد که معمولاً در etc/inittab/ یافت می شود تا سطح اجرای لینوکس را تعیین کند.
سیستمهای لینوکس مدرن از systemd برای انتخاب runlevel استفاده میکنند.
در جلسه بعد به طور کامل در مورد runlevel صحبت خواهیم کرد.
پارت 4: آموزش مدیریت RunLevel ها در لینوکس
کثر اوقات یک سیستم لینوکس به عنوان یک سیستم چند کاربره اجرا می شود، اغلب به عنوان یک سرور با بسیاری از فرآیندهای مختلف که تحت چندین شناسه کاربری مختلف اجرا می شود.
گاهی اوقات یک رابط کاربری گرافیکی دارد و بیشتر به یک کاربر خدمات می دهد، در حالی که در بعضی مواقع یک سرور بدون هد است که برای بسیاری از کاربران کار می کند.
هنگامی که شما نیاز به انجام برخی از انواع تعمیر و نگهداری سیستم دارید، مسلما نمی خواهید همه آن کاربرانی که تلاش می کنند کارها را انجام دهند،
بنابراین باید بتوانید سیستم را با یک کاربر به جای تعداد زیادی کاربر اجرا کنید.
شما همچنین باید به طور تمیز به این حالت تغییر دهید و به کاربرانی که وارد سیستم شده اند اخطارهای مناسب را بدهید. و باید در اسرع وقت به کار عادی خود بازگردید.
این آموزش به شما نشان می دهد که چگونه می توانید این کارها را انجام دهید.
مواردی که در این جلسه یاد خواهید گرفت:
- تنظیمات ران لول پیش فرض
- تغییر بین ران لول ها از جمله حالت تک کاربر.
- خاموش کردن و راه اندازی مجدد سیستم از خط فرمان.
- قبل از تغییر runlevel یا دیگر رویدادهای مهم سیستم، به کاربران هشدار دهید.
- فرآیندها را به درستی خاتمه دهید.
- آشنایی با ویژگی های اولیه systemd و Upstart
پیش نیازها
برای استفاده حداکثری از آموزش های این مجموعه، باید دانش اولیه لینوکس و یک سیستم لینوکس فعال داشته باشید تا دستورات پوشش داده شده در این آموزش را روی آن تمرین کنید.
پارت 5: طراحی ساختار هارد دیسک
ما در واقع مثل هر سیستم عامل دیگه ای توی لینوکس هم یکسری فایل داریم و یکسری دایرکتوری. که فایل ها توی دایرکتوری ها تنظیم شدند. مثل یه درخت خیلی بزرگی می مونه که میاد شاخه شاخه میشه. و برگ هاش فایل ها هستن.
توی ویندوز ما :C داشتیم. :d داشتیم. یعنی هر هاردمون رو با یه عنوان و دونقطه میذاشتیم. اما توی لینوکس اینجوری نیستش.
ما در واقع توی لینوکس یه درخت خیلی بزرگی داریم که با روت شروع میشه، توش دایرکتوری ها و فایل ها چیده میشن.
بطور کلی ساختار هارددیسک در سیستم عامل ویندوز بصورت flat طراحی میشه. یعنی چی؟ یعنی کل هارددیسک به عنوان یه مجموعه در نظر گرفته میشه و پارتیشن ها در اونا ایجاد میشن. اما در سیستم عامل لینوکس ساختار هارددیسک ها بصورت سلسله مراتبی طراحی میشه.
لینوکس یه سیستم عاملی هستش که همه چیز اون فایل هستش. همه فایل ها هم بایستی در یه فولدر یا یه دایرکتوری قرار بگیرن. و شما هم باید بدونید که همه این دایرکتوری ها زیرمجموعه یه دایرکتوری دیگه به نام روت هستن.
پارت 6: نصب و پیکربندی Boot manager
بوت منیجرهای مختلفی داریم که حداقل دوتاشون از رده خارج شدند. و ما فقط در دنیای واقعی داریم یکی شو استفاده میکنیم.
اما ما در این پارت از مجموعه آموزش های لینوکس lpic1-101 در مورد هر سه تاشون صحبت خواهیم کرد.
شما در پایان این پارت باید بتونید، یه بوت منیجر رو انتخاب بکنید، نصب بکنید و تنظیماتش رو هم انجام بدید.
در واقع هدف این ماژول اینکه شما بتونید تشخیص بدید که کجاها Boot manager می تونه نصب بشه. و آپشن هایی که براش داریم چیا هستن. installش بکنید و کانفیگ گراب Legacy رو بفهمید. تنظیمات اولیه grub 2 رو انجام بدید، و بتونید در واقع با Bootloaderتون رابطه برقرار بکنید.
و اما چیزهایی که در این پارت میخایم در موردشون صحبت بکنیم:
- menu.lst یا همون منو لیست
- grub-install
- MBR
- superblock
پارت 7: مدیریت لایبری های اشتراکی
این جلسه مون به موضع مدیریت لایبری های اشتراکی اختصاص داره. لازمه که درک داشته باشید از shared library ها و اینکه برنامه های اجرایی چه جوری Run میشن و چه مفهومی دارند.
خب قبل از شروع کار عملی مون لازم هستش یه توضیحی پیرامون لایبری ها داشته باشیم و ببینیم اصلا لایبری ها چی هستن.
لایبری ها در واقع کتابخانه های نرم افزاری هستن. اگه برنامه نویسی کرده باشید قطعا این موضوع رو می دونید. و اگرم برنامه نویسی نکردید مفهوم خیلی ساده ای هستش.
شما یه جایی دارید برنامه ای رو می نویسید میاید پایین، نیاز دارید یه کاری بکنید، مثلا ساده ترین ش خوندن از خط فرمانه، نیاز دارید یه وروردی از یوزر بخونید، شما نمی رید این برنامه رو بنویسید که اگه یوزر فلان دکمه رو زد این بشه یا اون بشه. شما میگین بخون. یه کتابخونه به سیستم تون اضافه می کنید. کتابخونه خوندن مثلا از کنسول. نوشتن روی صفحه.
اینا رو خودتون نمی نویسید حالا توی برنامه های رده بالاتر، لایبری های رده بالاتری رو صدا میزنیم، ممکنه من یه لایبری رو توی برنامه م مثلا کتابخونه ای که قبلا نوشته شده رو صدا بزنم. بگم من نیاز دارم با شبکه کار بکنم، اون برنامه قبلا کامل نوشته شده مثل کتابخونه توابع. میاد توی برنامه من، من می تونم فقط ازش استفاده بکنم، در واقع خیلی برنامه نویسی راحتر میشه. بنابراین یه لایبری شامل یه سری کد کامپایل شده هستش که تمامی اشیا یا آبجکت های موردنیاز برای اجرای یه نرم افزار رو بصورت مجتمع داخل یه فایل نگهداری میکنه. حالا به دو صورت میشه این کار رو کرد: یکی داشتن لایبری های استاتیک و دیگری لایبری های داینامیک.
…
خب برای درک مفهوم لایبری استاتیک و داینامیک و سایر مفاهیم مرتبط با این موضوع (مدیریت لایبری های اشتراکی) دعوت میکنم با ویدئوی این قسمت با من همراه باشید.
پارت 8: نصب و حذف بسته های نرم افزاری در توزیع های مبتنی بر دبیان
چه چیزهایی رو در این پارت قرار هست که یاد بگیریم:
- دستور dpkg
- dpkg-reconfigure
- apt-get
- apt-cache
- aptitude
- فایل sources.list
خب اجازه بدید قبل از اینکه وارد محیط عملی بشیم یه خلاصه در مورد مفهوم package management صحبت بکنیم.
بسیار بسیار مفهوم پیشرویی بود توی دنیای لینوکس، اتفاقی هم که افتاد این بود که، الان خوشبختانه با توجه به اینکه، در واقع سیستم عامل هایی که روی گوشی ها داریم مثل IOS و مثل اندروید، پکیج منیجر دارند. برای ما خیلی آشناتره.
توی دنیای ویندوز همیشه اینجوری بود که ما میرفتیم یه فایل اجرایی نصب یه برنامه رو از اینترنت دانلود میکنیم، یا از روی cd کپی ش میکردیم یا راههای دیگه، اجراش می کردیم که بتونیم یه برنامه رو نصبش بکنیم.
اما توی دنیای لینوکس اینجوری نیستش، از همون اولی که دبیان اومد، apt-get رو معرفی کرد.
ببینید وقتی یه کسی یه توزیعی رو به شما میده، میگه ok، من این سی دی رو دادم تحویل شما، این بالا توی اینترنت، توی سی دی ها یا جاهای دیگه، یه عالمه برنامه ای که با این سیستم سازگارند، می تونید روش استفاده بکنید. میگه من تست کردم، استفاده کردم، شما هم می تونید از اینا استفاده بکنید.
با یه سری دستور شما می تونید یکی از اینا رو اتوماتیک نصب بکنید اما یه نکته، همون جور که شما آپدیت های نرم افزاری مایکروسافت رو از خود سایت مایکروسافت دانلود می کنید، لینوکس هم یه سری جاها باید بره خودشو آپدیت بکنه.
لینوکس ضمن اینکه این قابلیت رو داره که شما یه فایل یا یه بسته install نرم افزار رو داخلش کپی بکنید و نصب بکنید. یه قابلیتی داره که اصطلاحا بهش میگن ریپازیتوری.
حالا این ریپازیتوری چی هستش؟
همرا من باشید تا مفهوم این آیتم و سایر مباحث مربوطه رو با هم داخل ویدئوی این جلسه بررسی بکنیم.
پارت 9: نصب و حذف بسته های نرم افزاری در توزیع های مبتنی بر Red Hat و Centos
در قسمت قبلی اگه خاطرتون باشه از دستورات دبیان ی استفاده کردیم برای مدیریت بسته ها توی سیستم های خانواده دبیان و اوبونتو.
اینجام دقیقا میخایم همون کار رو انجام بدیم، منتهی اینبار از rpm و yum برای مدیریت بسته ها توی سیستم های خانواده Red Hat و Centos استفاده می کنیم.
آخر این پارت انتظار میره که بتونید: استفاده بکنید از rpm و yum برای مدیریت بسته ها.
اما کارهایی که یاد میگیریم:
- install
- reinstall
- upgrade
- remove
- بدست آوردن اطلاعات در مورد وضعیت ها، وابستگی ها و غیره
RPM که مخفف Redhat Package Manager هستش مثل پکیج منیجرهای دیگه، install میکنه، ریمو میکنه و چند تا کار دیگه برای ما انجام میده.
Signature setting برای ما انجام میده، یعنی می تونیم مطمئن بشیم که یه فایلی اورجینال هستش، از منبع اصلی ش یا ریپازیتوری اصلی ش گرفته شده.
می تونیم مطمئن بشیم وریفای بکنیم که این فایل تغییر نکرده بعد از اینکه نصب شده. ممکنه یه سری بخان خرابکاری بکنن داخل فایل ها، تغییراتی اعمال کرده باشن در نحوه نصب ش. ما می تونیم با وریفای کردن پکیج rpm، متوجه بشیم که چه تغییراتی انجام گرفته.
و yum که مخفف Yellowdog Updater Modified هستش، برعکس rpm وابستگی ها رو چک میکنه. در واقع می تونیم به این صورت بگیم که yum معادل apt-get ی هستش که ما توی دبیان داریم…
دوستان عزیز برای دیدن قابلیت های بیشتری از پکیج منیجر yum، با ویدئوی این جلسه همراه من باشید.
پارت 10: آشنایی و کار با خط فرمان لینوکس
خب رسیدیم به مبحث دستورات، ببینید شما قبل از اینکه شروع به کامند زدن بکنید بایستی چند تا مفهوم رو ابتدا یاد بگیرید.
اولین مفهومی که میخایم در موردش صحبت بکنیم شل هستش. شل در لغت به معنی پوسته هستش، حالا پوسته کارش چیه، میاد از هسته مراقبت میکنه. اگه من بخام یه دستوری رو به سمت هسته سیستم عامل بفرستم، این بایستی از طریق رابط کاربری انجام بشه. حالا اسم این رابط کاربری چیه؟ شل.
چون شل هستش که به کرنل سیستم عامل وصل ه. منکه مستقیم نمی تونم با هسته سیستم عامل صحبت بکنم. از طریق شل این کار انجام میشه.
خب یه سوالی که ممکنه اینجا پیش بیاد اینه که شل چکار میکنه؟
وقتی که صحبت از شل میشه، ما داریم در مورد کامندر صحبت میکنیم. اصلا ما به شل میگیم command prompt، یعنی خط فرمان.
حالا این شل توی سیستم عامل های مختلف متفاوت هستش، ما داخل ویندوز cmd رو داریم، پاورشل رو داریم. در لینوکس م شل های مختلفی وجود داره، ما شلی داریم به نام bash، شلی داریم به نام cshell.
خب اینا روش ارتباط شون با سیستم عامل متفاوته. یادتون باشه توی توزیع های لینوکس گفتیم که سیستم عامل های مختلفی داریم، اما نحوه کار کردن با سیستم عامل های مختلف لینوکس تقریبا مشابه هم هستش، و این اهمیتی نداره که ما از چه نسخه ای از سیستم عامل لینوکس داریم استفاده میکنیم. چون رابط کاربری ای که ما اینجا داریم استفاده میکنیم و دستورات ما رو به زبان هسته سیستم عامل ترجمه میکنه همون bash هستش.
بنابراین تمام توزیع های لینوکس بصورت پیش فرض از بش استفاده میکنن. پس شما با هر کدوم از این سیستم عامل ها که کار بکنید، مشکلی نخواهید داشت.
و نکته مهم دیگه ای که باید شما بهش توجه داشته باشید اینه که سیستم عامل لینوکس case senstive هستش. یعنی به حروف بزرگ و کوچیک حساسه …
خب برای آشنایی بیشتر با این مفهوم و مفاهیم کاربردی دیگه مثل tab key (شاکلید خط فرمان لینوکس) همراه من باشید تا بریم داخل ویدئوی این جلسه تا بیشتر در موردشون صحبت کنیم.
پارت 11: پردازش text streams با استفاده از فیلترها
در این جلسه قصد داریم در مورد پردازش استریم های متنی با استفاده از فیلترها صحبت بکنیم. در سیستم عامل لینوکس شما بایستی بتونید با فایل ها ارتباط برقرار بکنید و در مواقع ضروری تغییراتی رو در اونا ایجاد بکنید، جستجو بکنید و از این قبیل کارها.
در این جلسه قصد داریم تمام دستوراتی رو که با Text Stream ها و Filter های اونا مرتبط هستن رو بصورت عملی با هم بررسی بکنیم و کاربرد هر دستور رو یاد بگیریم.
بیش از 18 تا دستور در این جلسه عنوان میشه که تمام این دستورات کاربردی هستند. پیشنهاد میکنم اگر علاقمند به لینوکس و بویژه مبحث Text Stream ها هستید در این ویدئوی آموزشی همراه من باشید.
پارت 12: مدیریت فایل ها در لینوکس
در این جلسه میخایم در مورد یه سری از دستورات کاربردی در لینوکس صحبت کنیم.
یه دستوری داریم به نام touch، که معنی لغوی ش میشه لمس کردن. با دستور شما دو تا کار می تونید انجام بدید. یکی اینکه یه فایل خالی ایجاد بکنید، دومین کاری که می کنید اینه که اگار یه چیزی رو لمس کردید. اسمش روشه، یعنی به محض اینکه شما یه فایلی رو تاچ بکنید یا لمس بکنید. میگه آخرین باری که این فایل تاچ شده کی بوده. ممکنه زیاد کاربردی نباشه اما فراموش نکنید قرار هستش در آینده شما وارد مبحث اسکریپت نویسی بشید. شل اسکریپتینگ کار بکنید. اونجا بکارتون میاد. ما هم هدفمون همین هستش.
ما برای حذف کردن فایل ها هم می تونیم از یه دستوری استفاده بکنیم به نام rm، که مخفف remove هستش.
به این نکته توجه داشته باشید ما به کمک این دستور فقط می تونیم یه فایل رو پاک بکنیم. فولدر رو نمی تونیم پاک بکنیم. حالا توی این قسمت بیشتر در موردش صحبت می کنیم. و یاد میگیریم چطور فولدرها رو هم پاک کنیم.
دستور دیگه ای که در این جلسه میخایم در موردش صحبت بکنیم، دستور mv هستش. که مخفف move هستش یعنی منتقل کردن.
همون cutی هستش که ما داخل ویندوز انجام میدیم. یه کاربرد دیگه ای که این دستور داره ما توی سیستم عامل لینوکس دستوری نداریم که rename بکنه. ما با استفاده از دستور move میایم rename میکنیم. حالا ساختار و نحوه کار کردنش رو جلوتر باهم بررسی میکنیم.
خب حالا علاوه بر این دستورات، ما چند تا دستور کاربردی دیگه مثل cp، mkdir، rmdir و … رو هم توی این جلسه داریم که جلوتر توی ویدئوی آموزشی با هم بررسی میکنیم.
پارت 13: استفاده از streamها، pipeها و redirectها در لینوکس
بطور کلی داخل یه سیتم عامل، مخصوصا سیستم عامل لینوکس، یه نرم افزار یا یه program که میخاد اجرا بشه، یه ورودی داره، یه خروجی داره و در صورتی که یه اتفاق بدی بیفته، یه ارور هم داره.
در شرایط عادی هر برنامه ای در سیستم عامل لینوکس دارای سه تا رشته هستش که در زمان اجرا باز میشن و به برنامه اضافه میشن.
یکی از رشته ها برای ورودی، یکی از رشته ها برای خروجی و یکی از رشته ها برای پیدا کردن خطاها و گزارش دادن خطاهای احتمالی و وضعیت نرم افزار استفاده میشه. در واقع این موارد بصورت خودکار به ترمینال لینوکس شما متصل شدند. و شما نیازی نیست که اونا رو حذف یا اضافه بکنید.
اما بعضی اوقات پیش میاد که شما میخاید ورودی ها و خروجی های دستورات رو به شخصه تعریف بکنید. اینجاست که می تونید با استفاده از استاندارد های ورودی و خروجی دستورات در لینوکس این کا رو انجام بدید.
ما این سه تا مفهوم رو با عنوان :
- standard input
- standard output
- standard error
مطرح میکنیم. معمولا بصورت پیش فرض standard input شما کیبورد شما هستش. یعنی چیزی که وارد میکنید به سیستم تون رو میگن standard input.
standard output معمولا صفحه ترمینال یا صفحه مانیتورتون هستش که خروجی میده.
اما ما توی این قسمت یاد میگیریم ضمن اینکه صفحه مانیتور ما، صفحه کیبورد ما standard input و standard output هستن. ما می تونیم یه standard input بعنوان فایل داشته باشیم. یه standard output به شکل فایل داشته باشیم. و این رو بصورت ترکیبی هم بتونیم استفاده بکنیم. حالا در ادامه بیشتر در موردشون صحبت میکنیم.
پارت 14: مانیتورینگ پروسه ها در لینوکس
در این قسمت میخایم در مورد یه مفهوم مهمی به نام پراسس (process)صحبت بکنیم.
این نکته رو بدونید که در دنیای لینوکس همه چیز یا فایل ه یا پراسس ه. همه چیز به شکل فایل یا روی دیسکه یا روی نتورک ه یا توی حافظه ست یا هر جای دیگه. یا اینکه یه پراسس در حال اجرا هستش. در واقع هر برنامه ای که شما ران میکنید تبدیل میشه به یه پراسس یا چند پراسس، بعد ران میشه.
هدف ما از این درس اینه که شما بتونید این پراسس ها رو توی بک گروند ران بکنید، بهشون سیگنال بفرستید، بگید که بعد از logoutشدن بخونن. مانیتورشون بکنید و این جور چیزا.
خب ابتدا ببینیم پراسس اصلا چی هستش؟ طبیعتا شما با مفهوم پراسس آشنایی دارید، هر نرم افزاری که بخاد داخل یه سیستم عامل اجرا بشه بایستی دستورات خودش رو به سیستم عامل ارسال بکنه، سیستم عامل م از طریق cpu این کار رو انجام میده. بنابراین هر چیزی که داخل cpu میاد در قالب پراسس هستش.
حالا ببینیم چه دستوراتی رو قرار هستش توی این قسمت کار بکنیم:
اگه دوست دارید بیشتر در مورد پراسس ها بدونید پیشنهاد میکنم با من در ویدئوی این قسمت همراه باشید.
پارت 15: تغییر اولویت اجرای پروسه ها در لینوکس
در پارت قبلی با پراسس ها آشنا شدیم، مفهوم برنامه هایی که دارن ران میشن و شیوه کنترل کردن background و foreground رو یاد گرفتیم.
حالا شما باید اینجا یاد بگیرید که اینها priority دارند، چرا priority دارند و priority شون چنده؟ و همچنین یاد میگیریم برنامه ها رو با priorityهای بالاتر ران بکنیم. یا تغییر بدیم بین راه، و دستوراتی که یاد میگیریم دستور ps، دستور nice، دستور renice و top هستش.
تقریبا میشه گفت همه جا بحث اولویت وجود داره و وجود خواهد داشت، چه در زندگی روزمره ما و چه در تکنولوژی هایی که برای اشتراک گذاری منابع اطلاعاتی با اونا سروکار داریم.
سیستم های لینوکسی قابلیتی رو دارند که می تونن تعداد زیادی پراسس یا job رو به طور همزمان اجرا بکنن. حتی اگه cpu دارای پردازنده یا core های متعددی باشه.
تعداد پراسس ها بیشتر از تعداد هسته های cpu هستش. حالا این وظیفه کرنل سیستم عامل لینوکس هستش که پراسس های فعال رو با توجه به تعداد هسته های cpu و توان پردازشی اونا، بطور مناسب توزیع و مدیریت بکنه.
بطور پیش فرض تمام پراسس ها در یستم عامل لینوکس از لحاظ زمان اجرا و مدیریت شون از اهمیت یکسانی برخوردارند.
حالا اگه ما بخایم یه پراسسی از بقیه پراسس ها زودتر اجرا بشه، چکار باید بکنیم؟
برای پاسخ به این سوال و سایر موارد، دعوت میکنم با ویدئوی این جلسه همراه من باشید.
پارت 16: جستجو در فایل های متنی با استفاده از Regular Expression
Regular Expression یا regex در واقع یه شکلی از pattern ه. من یه ترکیبی می تونم درست بکنم برای اینکه یه چیزی رو برسونم. فرض کنید من توی فارسی میگم هر چیزی که اولش b بود و آخرش t، اون رو به من نشون بده. اینو ما باید بتونیم به کامپیوترم بگیم. اینو از طریق یه regex میگیم.
به عنوان مثال میگیم ک هر جا که بیشتر از یه دونه یک داشت اونو به من خبر بده. یا میگیم هر جا مثلا O بزرگ بود بکن o کوچیک. این چیزها رو ما بهش میگیم Regular Expression.
خب ببینیم چه چیزهایی رو قرار هستش توی این قسمت یاد بگیریم:
ما میخایم در مورد جستجو در استریم ها صحبت بکنیم، دستوراتی که میخایم کار بکنیم شامل دستور grep، egrep، fgrep و دستور sed هستش.
همراه من باشید تا بصورت عملی کار با این دستورات رو یاد بگیریم.
پارت 17: ویرایش فایل ها با استفاده از ادیتور vi
همانطور که می دونید لینوکس یه سیستم عامل قدرتمند بر پایه فایل هستش. یعنی فایل بیسه. بنابراین تمامی تنظیمات و اطلاعات پکیج ها در این سیستم عامل درون فایل و بصورت متن ذخیره میشه. این ویژگی رو میشه برگه برنده لینوکس در مقابل سایر سستم عامل ها دونست.
لینوکس دست ما رو برای انتخاب ویرایشگر یا ادیتور باز گذاشته. شما می تونید هر ادیتوری که احساس بهتری هنگام کار با اون دارید رو انتخاب بکنید. اما به این نکته هم باید توجه داشته باشید که ممکنه در شرایطی امکان نصب ویرایشگر مورد علاقه شما روی سرور لینوکسی فراهم نباشه. بنابراین مجبورید که از ادیتور قوی و کارآمد vi که روی اکثر توزیع های لینوکس بصورت پیش فرض نصب هستش استفاده بکنید.
یه مقدار کار کردن باهاش سخته ولی شما باید نحوه کار با این ادیتور رو حتما یاد بگیرید. در این پارت هدفمون این هستش که با ویرایشگر vi آشنا بشیم و نحوه کار با اون رو یاد بگیریم.
پارت 18: آموزش پارتیشن بندی در لینوکس
همانطور که می دونید هیچ سیستم عاملی نمی تونه از هارددیسک بصورت خام استفاده کنه. و هیچ شرکتی هم نمی تونه بدون هیچ چینش و نظمی از یه فضا استفاده بکنه. بایستی از فضای یه شرکت بصورت پارتیشن بندی شده برای قسمت های مختلف مثل نیروی انسانی ، مالی و غیره استفاده بکنه.
ما همین موارد رو در هارددیسک هم داریم شما برای اینکه بتونید روی هارددیسک تون مدیریت داشته باشید، بایستی بتونید اون رو پارتیشن بندی کنید. قطعه قطعه بکنید، هر بخش رو برای یه کار خاصی اختصاص بدید. این فرآیند در لینوکس و ویندوز به عنوان پارتیشن بندی معروف هستش.
شما با پارتیشن بندی در ویندوز و ساختار درایو C، D و غیره آشنایی دارید. اما در سیستم عامل لینوکس، دیگه چنین چیزی وجود نداره. پارتیشن ها با شماره و اعداد نمایش داده میشن.
مثلا اگه شما یه هارددیسک اضافه بکنید اون هارددیسک میشه sda، هارددیسک دوم میشه sdb. حالا داخل هر کدوم از اینا بیاید یک یا چند تا پارتیشن ایجاد بکنید، مثلا میشه sda1, sda2, sda3 یا sdb1, sdb2, sdb3 و به همین ترتیب.
توجه داشته باشید که هر هارددیسکی که شما اضافه می کنید می تونید بیاید پارتیشن بندی ش رو انجام بدید.
بنابراین انتظار میره که شما بتونید در انتهای این پارت configuration پارتیشن دیسک هاتون رو انجام بدید، فایل سیستم هاتون رو درست بکنید و swapپارتیشن ها رو هم باید بلد باشید.
اما حالا ببینیم چه چیزهایی رو قرار هستش توی این قسمت یاد بگیریم:
- ما قرار هستش که یاد بگیریم با دستور fdisk بیایم پارتیشن بندی بکنیم دیسکی که داریم.
- در مورد ساختار فایل سیستم میخایم صحبت بکنیم که چه جوری می تونیم یه فایل سیستم ایجاد بکنیم.
- و در مورد فضای swap میخایم صحبت کنیم که چه جوری می تونیم یه فضای swap ایجاد کنیم.
پارت 19: کنترل سلامت فایل سیستم ها در لینوکس
میرسیم به مبحث نگهداری و تعمیر فایل سیستم ها، در این قسمت میخایم یاد بگیریم که چطور صحت و سلامت فایل سیستم مون رو بررسی بکنیم. بعد از اون میایم بررسی میکنیم که چطور می تونیم فضای خالی که رو فایل سیستم هامون وجود داره رو ببینیم. یا اینکه فضای خالی که داخل فولدرهامون وجود داره، اینکه فولدرهامون چقدر فضا اشغال کردن، همه اینها رو می تونیم باهم ببینیم و استفاده بکنیم.
طبق معمول ابتدا ببینیم چه دستوراتی رو قرار هستش توی این قسمت یاد بگیریم:
اولین دستور، دستور df هستش، کاری که این دستور میکنه اینه که مقدار فضایی که فایل سیستم های ما استفاده کردن روی سیستم رو به ما نشان میده.
دستور بعدی دستور du هستش، که مخفف disk usage ه. تفاوتش با disk free در اینه که disk free در سطح فایل سیستم نشون میده. و disk usage در سطح فولدر به ما نشون میده.
دستور mount و umount رو داریم که در این پارت یه کوچولو در موردشون صحبت میکنیم و د جلسه بعد بطور کامل این دو تا دستور رو مورد بررسی قرار میدیم.
در مورد یه مبحثی میخایم صحبت بکنیم به نام inode، میگیم یه چیزی توی دیسک ما وجود داره، توی فایل سیستم ما وجود داره، که به محض اینکه فایل سیستم مون رو فرمت میکنیم یه فضایی اشغال میشه.
دقت بکنید ما یه مفهومی داریم به نام inode، حالا inode چیه؟ هر فایلی که داخل هارددیسک شما ایجاد بشه، کنارش یه فایل جداگانه مربوط به اون فایل ایجاد میشه. اصطلاحا میگن متادیتای فایل اصلی ه. یا اطلاعات جانبی مربوط به فایل اصلی ه.
حالا یه سوالی که ممکنه اینجا مطرح بشه اینه که داخل این inodeها چه چیزهایی هستش؟؟؟
پارت 20: نحوه mount و unmount فایل سیستم ها در لینوکس
در این قسمت همانطور که در ویدئوی قبلی وعده داده بودیم میخایم در مورد mount کردن و unmount کردن فایل سیستم صحبت بکنیم.
توی قسمت های قبلی یاد گرفتیم که چه جوری فایل سیستم ایجاد بکنیم، انواع مختلف فایل سیستم ها رو شناختیم، فرمت ش کردیم، پارتیشن بندی کردیم، همه اینا رو یاد گرفتیم، اما یادتون باشه گفتیم شما تا زمانی که یه فایل سیستم رو mount نکردید، نمی تونید ازش استفاده بکنید.
حالا در این قسمت قصد داریم یه مقدار جزئی تر به این موضوعات بپردازیم.
این پارت mount و unmount رو به شما نشون میده. وقتی کارتون تموم شد unmount می کنید فایل سیستم رو، جدا میشه بعد فیزیکی جداش میکنید. و در عین حال تنظیم کردن اینکه فایل سیستم ها حین بوت mount بشن.
در واقع من هارد اصلی م رو نمیخام بیام هر دفعه دستی mountش بکنم. من میخام حین بوت اونا mount بشن. میخام هر وقت کامپیوترم اومد بالا، مثلا دو تا هاردی ک دارم رو، توی دو تا دایرکتوری که براش مشخص کردم، اونجا برام mountش بکنه. و در عین حال تنظیم کردن اینکه یوزر خودش بدون دسترسی روت بتونه یه چیزی رو mount بکنه رو یاد میگیریم.
خب بریم داخل ویدئوی این قسمت ببینیم اصلا مفهوم mount کردن یعنی چی؟
پارت 21: مدیریت ظرفیت فضای دیسک در لینوکس (disk quota)
این پارت مون اختصاص داره به مدیریت سهمیه بندی دیسک.
هدف اینه که بتونید: تنظیم بکنید disk quota برای فایل سیستم، quota یعنی اینکه سهمیه بدید روی دیسک برای هرکسی، ادیت بکنید، چک بکنید و در عین حال ریپورت بگیرید.
مفهوم quota
ببینید هر یوزر یا گروه ممکنه محدود بشه، مثلا یه دانشگاه که 1000 تا دانشجو داره که قراره از اون سیستم استفده بکنند، نمیان هر 1000 نفر هر چقدر که بخان فایل کپی کنند چون دیسک اصلی سستم سریع پر میشه. یه quota میذارن که هرکسی مثلا فقط 100 مگ حق داره فایل کپی بکنه.
بنابراین ما می تونیم برای استفاده از دیسک مون ظرفیت و محدودیت بذاریم. که چقدر از فضای دیسک مون رو کاربرهامون بتونن استفاده بکنند. به این میگن disk quota.
اما دستوراتی که قراره توی این پارت کار بکنیم:
- quota
- edquota
- repquota
- quotaon
- quotaoff
خب بریم داخل محیط عملی مون تا بیشتر با این مبحث و دستوراتی که داره آشنا بشیم.
پارت 22: مدیریت سطوح دسترسی در لینوکس
سطوح دسترسی یا پرمیژن در لینوکس بصورت کلی به سه نوع حساب یا اکانت اعمال میشه:
- سطوح دسترسی owner یا یوزر
- سطوح دسترسی group یا گروه
- سطوح دسترسی other یا سایر افراد
خب اجازه بدید بریم داخل لینوکس و محیط عملی مون تا بیشتر در مورد این سطوح صحبت بکنیم.
پیشنهاد میکنم به دقت ویدئو این پارت رو مشاهده کنید. زیرا یکی از قسمتهای مهم و کاربردی لینوکس، همین سطوح دسترسی هستش.
پارت 23: نحوه ساخت لینک سخت و نرم در لینوکس (symbolic لینک ها)
در هر سیستم عاملی مفهومی به نام shortcut وجود داره و کارش هم مشخصه. برای اینکه سرعت دسترسی به فایل ها رو بالا ببره. و نیازی نباشه که کاربر همه دایرکتوری ها رو بچرخه.
در سیستم عامل ویندوز ما این مفهوم رو با نام شورت کات می شناسیم. و در سیستم عامل لینوکس تقریبا همین مفهوم با عنوان لینک شناخته میشه.
خب قبل از اینکه وارد مبحث symbolic لینک بشیم، میخایم ببینیم مفهوم inode یعنی چی؟ توجه داشته باشید که هر پارتیشن در لینوکس برای خودش یه فایل سیستم داره، در یه فایل سیستم هر فایل با استفاده از یک inode نمایش داده میشه. inodeها ساختارهای داده ای هستن که شامل اطلاعاتی در خصوص فایل هایی هستن که توسط فایل سیستم ایجاد میشن. یعنی وقتی که یک فایلی بوجود میاد توسط یک فایل سیستم، کنارش یه فایل inode هم ایجاد میشه. که میاد اطلاعات تکمیلی در مورد اون فایل رو نمایش میده. در واقع هر فایل با این inode شناخته میشه. که در کنار اون قرار گرفته.
خب حالا یه سوالی که اینجا ممکنه پیش بیاد اینه که این inode اصلا شامل چه اطلاعاتی هستش که مورد توجه ما قرارگرفته؟؟؟
برای دریافت پاسخ این سوال و سایر مباحث مطرح شده در این پارت دعوت میکنم با ویدئوی این جلسه همراه من باشید.
پارت 24: یافتن فایلهای سیستمی لینوکس و قرار دادن آنها در جایگاه صحیح
در دنیای کامپیوتر واژه فایل سیستم، روشی برای کنترل کردن ذخیره سازی داده ها و بازیافت اونا استفاده میشه. بدون فایل سیستم زمانی که شما یه فایل رو درون فضای ذخیره سازی خودتون قرار میدید، مشخص نیست که این فایل از کجا شروع شده و به کجا ختم میشه. با استفاده از تقسیم کردن داده ها به قطعات مجزای کوچیکتر و قرار دادن یه اسم برای هر کدوم از این قسمت ها، هر کدوم از این داده ها به عنوان یه فایل در نظر گرفته میشه.
پس در واقع فایل مجموعه ای از داده ها هستش که بصورت گروه بندی شده توسط فایل سیستم کنار همدیگه قرار گرفتن. بنابراین به قوانین ساختاری و منطقی که برای مدیریت این گروههای داده ای و اطلاعات اونها وضع شده و این ساختار رو مدیریت میکنه در اصطلاح میگن فایل سیستم.
سیستم های لینوکسی فایل های مهم خودشون رو براساس ساختاری که FHS نامیده میشه ذخیره میکنن.
FHS در واقع یه داکیومنته در اصل، که توضیح میده که یه سیستم یونیکس باید فایل هاش رو چه جوری روی دیسک منظم بکنه. خیلی مهمه که یه درک درستی از این مفهوم داشته باشید. وگرنه به عنوان مثال اگه به شما بگن فایل های کانفیگ آپاچی رو تنظیم بکنید که فلان کار رو انجام بده. اصلا نمی تونید این بحث رو شروع بکنید، نمی دونید که چکار باید بکنید. وقتی FHS رو بدونید خیلی راحت فایل کانفیگ رو پیدا می کنید و تنظیمات مربوطه رو انجام می دید. توی لینوکس هم همه چیز رو بصورت کامل توضیح داده خود فایل، که چه جوری باید تنظیم ش بکنید، هر متغییرش یعنی چی؟ بنابراین شروع راه درک درست ساختار FHSه.
با ما همراه باشید تا داخل محیط عملی بیشتر با این مفهوم و دستوراتی که وجود داره آشنا بشیم.
جلسه اول : معرفی دوره
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهدوره های مرتبط
دوره آموزشی امنیت سرورهای لینوکسی lpic 3-303
دوره 100% عملی و کاربردی تدریس شده
دوره آموزشی 202 Linux LPIC-2
دوره 100% عملی و کاربردی تدریس شده
آموزش مدیریت متمرکز شبکه با Ansible
دوره 100% عملی و کاربردی تدریس شده
دوره آموزشی لینوکس 102 LPIC-1
دوره 100% عملی و کاربردی تدریس شده
امتیاز دانشجویان دوره
نظرات
1,000,000 تومان 475,000 تومان
تنها اشخاصی که این محصول را خریداری کرده اند و وارد سایت شده اند می توانند در مورد این محصول بازبینی ارسال کنند.