هادی صارمی
کارشناس شبکه

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

برای یادگیری لینوکس بصورت اصولی ، اساسا شما یا باید کتاب مطالعه کنید ، یا در دوره های آموزش لینوکس حضوری مثل دوره های LPIC و ... شرکت کنید و یا اینکه از طریق آموزشهای ویدویی و فیلم های آموزشی لینوکس به این سیستم عامل تسلط پیدا کنید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. معرفی دوره Linux Essentials
  2. مقدمه ای بر تاریخچه لینوکس
    1. منظور از توزیع لینوکس چیست؟ معرفی توزیع های معروف
    2. لینوکس دبین ( Debian ) چیست؟
    3. لینوکس اوبونتو ( Ubuntu ) چیست؟
    4. لینوکس ردهت ( RedHat ) چیست؟
    5. لینوکس در کجاها استفاده می شود؟
    6. اندروید ( Android ) چیست؟
  3. بررسی مفهوم لایسنس در متن باز
    1. لایسنس (License) چیست؟
  4. پروژه گنو ( GNU ) و بنیاد نرم افزار رایگان ( FSF ) چه هستند؟
    1. جی پی ال ( GPL ) چیست؟
  5. آشنایی با محیط دسکتاپ لینوکس
    1. مروری بر مفهوم دسکتاپ ( Desktop ) در لینوکس
    2. معرفی محیط های دسکتاپ معروف لینوکس
    3. معرفی برنامه های کاربردی مهم لینوکس
  6. آموزش دستورات مقدماتی لینوکس
    1. بررسی ساختار دستورات در Shell لینوکس
  7. آموزش لینوکس اسنشیال جلسه 6 : راهنمای دستورات لینوکس
  8. دایرکتوری ها و فایل های مهم لینوکس
  9. ایجاد انتقال و حذف فایل ها
  10. آرشیو سازی و فشرده سازی
  11. جستجو و استخراج اطلاعات
  12. اسکریپت نویسی در لینوکس
    1. معرفی ویرایشگرهای متنی لینوکسی
    2. معرفی ویرایشگر متنی VI
    3. معرفی ویرایشگر متنی Nano
    4. اسکریپت نویسی BASH
  13. انتخاب سیستم عامل
    1. انواع توزیع های لینوکس برای سرویس دهی
    2. معرفی توزیع های لینوکس Enterprise 
    3. توزیع های لینوکس برای عموم
    4. توزیع های امنیتی لینوکس
    5. ویندوز مایکروسافت
  14. درک سخت افزار کامپیوتر
    1. منبع تغذیه چیست؟
    2. مادربرد چیست؟
    3. حافظه RAM چیست؟
    4. پردازنده CPU چیست؟
    5. ذخیره سازی و تجهیزات آن

هدف ما از این مقاله جامع آموزش مقدماتی لینوکس این است که شما مقدماتی از سیستم عامل لینوکس ، تاریخچه لینوکس ، نحوه انتخاب یک توزیع مناسب لینوکس ، استفاده کردن از محیط خط فرمان و اساسا شناخت اولیه از این سیستم عامل را پیدا کنید. در واقع این یک جزوه آموزش لینوکس مکمل برای دوره آموزشی Linux Essentials است و به شما عزیزان پیشنهاد می کنیم که اگر می خواهید بصورت اصولی لینوکس را یاد بگیرید از مسیر درست یعنی گذراندن دوره لینوکس اسنشیالز سپس دوره های آموزشی LPIC 1 و LPIC 2 شروع به یادگیری و کنید و به مراحل بالاتر برسید.

معرفی دوره Linux Essentials

آموزش لینوکس رو از کجا شروع کنیم؟ سرفصل های دوره آموزشی Linux Essentials چیست؟ سلام خدمت همه کاربران عزیز وب سایت توسینسو ، زمانی که شروع کردم لینوکس رو یاد بگیرم داخل اینترنت سعی کردم در مورد آموزش لینوکس مقاله مرتب و یکپارچه ای به زبان فارسی رو بخونم که البته پیدا نکردم و به همین دلیل تصمیم گرفتم یک مقاله خوب در حد توانم رو در وب سایت توسینسو به اشتراک بزارم.

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

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

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

این جلسه مقدمه ای به مطالبی که قراره در طی این دوره گفته بشه رو لیست کردم که با این سرفصل پیش خواهیم رفت :

  1. جلسه 1 : معرفی دوره
  2. جلسه 2 : مقدمه لینوکس
  3. جلسه 3 : open source بودن برنامه ها و لاسینس ها لینوکس
  4. جلسه 4 : محیط دسکتاپ لینوکس
  5. جلسه 5 : دستورات مقدماتی لینوکس
  6. جلسه 6 : آموزش استفاده از راهنما دستورات
  7. جلسه 7 : آشنایی با دایرکتوری ها و فایل ها
  8. جلسه 8 : ایجاد فایل ، انتقال فایل و حذف فایل ها
  9. جلسه 9 : آرشیو سازی و فشرده سازی در لینوکس
  10. جلسه 10 : جستجو کردن و خارج کردن اطلاعات
  11. جلسه 11 : آشنایی با اسکریپت نویسی
  12. جلسه 12 : انتخاب سیستم عامل
  13. جلسه 13 : درک سخت افزار کامپیوتر

مقدمه ای بر تاریخچه لینوکس

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

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

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

منظور از توزیع لینوکس چیست؟ معرفی توزیع های معروف

یک مفهوم از لینوکس که باید درک کرد در توزیع های لینوکس این هست که لینوکس فقط یک هسته (Kernel) هست و یک سیتم عامل متن باز (Open Source) است که این امکان باعث شد تا توزیع های مختلف لینوکس ایجاد شوند.مثل توزیع های دبیان،رد هت و ... توزیع های لینوکس بسیار زیاد هستن که میتوان چند جلد کتاب فقط توزیع های مهم لینوکس رو مورد بررسی قرار داد. خوب تصویر زیر رو ببینید نترسید فکر نکنید الان قراره همه رو یاد بگیرید فقط تعداد توزیع اون رو ببینید تا سال 2011 که آروم آروم با توزیع های مهم لینوکس آشنا میشیم.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

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

لینوکس دبین ( Debian ) چیست؟

دبیان به عنوان Debian GNU / Linux  شناخته می شود. یک توزیع کاملا رایگان و متن باز هست که در سال 1993 شاخته شد.بیشتر نسخه های که شما در تصویر بالا دیده باشید از این نسخه گرفته شده است که نمونه آن اوبونتو(Ubuntu) که مجدد از خود ابونتو نسخه های دیگه ای گرفته شده است .دبیان یک نسخه محبوب در دنیا برای سرورها هست و یک سیستم عامل پایدار برای سرور مورد استفاده قرار میگیرد.

لینوکس اوبونتو ( Ubuntu ) چیست؟

ابونتو یک توزیع بر پایه دبیان است که در سال 2004 توسط Mark Shuttleworth و تیمش با هدف ایجاد یک توزیع دستکتاپ کلاینتی ساخته شده است که رایگان است . این توزیع هر شش ماه یک باز با برنامه پشتیبانی طولانی مدت و هر دو سال یکبار منتشر می شود.

لینوکس ردهت ( RedHat ) چیست؟

ردهت یک توزیع دیگر از لینوکس است که توسط یک شرکت با همین نام در آمریکا در سال 1993 ساخته شد البته سال گذشته توسط IBM خریداری شد.Red Hat Enterprise Linux یک سیستم عامل قابل اعتماد است که توسط Red Hat  پشتیبانی می شود و هدف اصلی این نسخه استفاده در محیط های حرفه ای به عنوان سرور است.ردهت در قبال پشتیبانی که انجام می دهد هزینه ای دریافت میکند. توزیع CentOs که بر گرفته از Red Hat Enterprise Linux است کاملا رایگان در دسترس است اما در عوض پشتیبانی ندارد و می تونید برای سرورهای سازمانی خود استفاده نمائید.خوب توزیع های دیگه از لینوکس هست که میتونید از این لینک اطلاعات بیشتری کسب کنید.


کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز


لینوکس در کجاها استفاده می شود؟

به قول استاد نصیری بهتره بگیم لینوکس کجا نیست!!! شما سیستم عامل لینوکس رو میتونید در موبایل خودتون (البته اگر اندورید است)،تلویزیون،فایروال ها ببینید در پزشکی و دستگاه های نظامی و ...هسته سیستم عامل لینوکس سازگاری خوبی با پلت فرم های مختلف داره و با توجه با این سازگاری خوب  شرکت های مختلف با توجه به نیاز خودشون تغییراتی در هسته این سیستم عامل اعمال کرده اند که یکی از نمونه بارز اون سیستم عامل اندروید است.

اندروید ( Android ) چیست؟

اندروید یک سیستم عامل موبایل که توسط گوگل ساخته شد است .شرکت Android Inc در سال 2003 در کالیفرنیا  تاسیس شد که ابتدا یک سیستم عامل ایجاد کرد برای دوربین های دیجیتال اما سال 2005 گوگل این شرکت رو خریداری کرد و این شرکت رو توسعه داد در زمینه ساخت سیستم عامل های تلفن همراه.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

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

بررسی مفهوم لایسنس در متن باز

مسئله ای که هست در طول روز ما از اصطلاحات نرم افزاد رایگان (free software) و نرم افزار متن باز (open source) استفاده میکنیم این دو اصطلاح باهم متفاوت هستن پس ابتدا این مسئله رو روشن کنیم که به چه نرم افزارهای متن باز میگن و به چه نرم افزاری هایی آزاد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

اول از همه ، نرم افزار آزاد منظور رایگان بودن نیست که برای درک بهتر این آقای ریجارت استالمن (بنیان گذار بنیاد نرم افزار آزاد (FSF)) میگه : آزادی را مانند آزادی بیان در نظر بگیرید ، نه به عنوان "نوشابه رایگان"(حالا شما فکر کنید گفته نوشابه) خوب صرف نظر از این بکنیم که ما باید هزینه نرم افزار را پرداخت کنیم یا نه آقای ریچارت استالمن چهار معیار رو مشخص کرده برای اینکه ما بفهمیم این نرم افزار آزاد است یا خیر که متخصر میگیم این چهار قانون چی هست : (این قانون های از صفر شروع میشن)

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

این نکته رو اضافه کنم پس هر نرم افزاری که آزاد هست حتما رایگان نیست اما در زمان فروش نرم افزار به شما یک نرم افزار متن باز به شما میدن بر اساس این چهار قانونFSF اختیاراتی هم میدن.

لایسنس (License) چیست؟

لایسنس یک نرم افزار این رو مشخص میکنه که این نرم افزار تحت چه شرایطی در اختیار شما قرار میگیرد که این لایسنس ها بسیار زیاد هستن که ما این مجوز رو میدن پس ما مختصری در مورد لایسنس FSF\GPL , صحبت میکنیم .(شما اگه یک نرم افزار تولید کرده باشید و بخواهید اون رو به عنوان یک نرم افزار متن باز ارائه بدین باید لایسنس داشته باشین ).

پروژه گنو ( GNU ) و بنیاد نرم افزار رایگان ( FSF ) چه هستند؟

FSF که یک بنیاد نرم افزاری متن باز است توسط ریچارد استالمن تاسیس شد که این بنیاد نرم افزار رایگان و آزاد تولید و پشتیبانی میکنن و در اختیار کاربران قرار می دهند. این بنیاد یک مجوز به نرم افزار ها داد به نام GPL را معرفی کرد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

جی پی ال ( GPL ) چیست؟

GPL  معروف ترین لایسنس متن باز (Open Source) است که همینطور گفتیم توسط FSF معرفی شد بنابر این وقتی نرم افزاری تحت لیسانس GPL است چهار تا قانونی که گفتیم رو داره.برای درک بهتر پیشنهاد میکنم این مقاله را مطالعه نمائید.

از این قسمت به بعد چند تا تمرین هم در انتهای هر  جلسه میزاریم:

  • به طور خلاصه چهار قانونی که ریچارد استالمن تعریف کرد را شرح دهد؟
  • تفاوت AGPL با GPL در چیست؟ (این دیگه با خودتون)

آشنایی با محیط دسکتاپ لینوکس

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

مروری بر مفهوم دسکتاپ ( Desktop ) در لینوکس

زمانی که سیستم عامل لینوکس تولید شد کار با این سیستم عامل برای حرفه ای ها بود چون محیط کامندی داشت و تا چند سال محیط گرافیکی خوبی نداشت و مشکل چندانی برای حرفه ای ها ایجاد نمی کرد اما با گذر زمان محیط های دسکتاپ لینوکس راحت تر شدن و برای کاربران عادی هم قابل استفاده شدن

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

(فرار نکنید از خط فرمان در هیمن دور متوجه میشید که خط فرمان به مرور زمان چقدر زیباست و چقدر قدرت مند است و امکانانت خاصی به شما می دهد به عنوان یک حرفه ای اما این پیشنهاد شخصی هست اگر کلا خوشتون نمیاد با خط فرمان کار کنید بهتره لینوکس رو ادامه ندید چون قدرت لینوکس در خط فرمان )

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

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

معرفی محیط های دسکتاپ معروف لینوکس

سیستم عامل لینوکس با توجه به این که یک سیستم عامل متن باز می باشد و شرکت های مختلف با توجه به محیط های امکاناتی که نیاز داشتن چندین دسکتاپ و پکیج های مختلف برای این سیستم عامل تولید کردن که برخلاف سیستم عامل های اختصاصی مانند ویندوز و macOS که شما محدود به محیط دستکاپ خود سیستم عامل هستید اما در لینوکس شما انتخاب های مختلفی دارید و میتوانید چند محیط دستکتاپ بر روی یک سیستم عامل داشته باشید و به دلخواه استفاده کنید.

اساسا ، در لینوکس دو محیط دسکتاپی عمده وجود داره که مشا باید اون ها رو بشناسید : Gnome  و KDE که هر دو این محیط یک محیط کامل و جامعه ای هستن .همینطور که در تصویر بالا مشاهده می کنید محیط های دستکتاپی زیاد هست برای لینوکس و بیشترین درصد استفاده تعلق دارد به این دو محیط گرافیکی خوب . به طور خلاصه گنو م سعی می کند یک محیط ساده و تمیز در اخیتار شما قرار بدهد و این محیط مبتنی به زبان C نوشته شده است .از سوی دیگر KDE  یک محیط با انتخاب برنامه های مختلف در اختیار شما قرار می دهد و  این محیط مبتنی به زبان C ++ نوشته شده است.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

معرفی برنامه های کاربردی مهم لینوکس

مهمترین برنامه کاربری که در لینوکس می توان استفاده کرد Liber Office  است که یک برنامه متن باز که می توان گفت یک جایگزین مناسب Microsoft Office در ویندوز است.یکی دیگر از برنامه کاربری که در نوشتن معادلات ریاضی استفاده شود برنامه Beamer  است که از الگو های مختلف از پیش تعریف شده استفاده می کند تا در وقت شما صرفه جویی کند برای نوشتن معادلات .

یکی از برنامه های کاربردی و امنیتی برای نگهداری رمز های عبور است KeepPass است (سعی میکنم در مورد اهمیت نگهداری و روش های انتخاب پسورد یک مقاله جدا بنویسم) در آخر ، اگه میخواهید جایگزینی برای Microsoft Project در لینوکس پیدا کنید می توانید از برنامه GanttProject  یا ProjectLibre استفاده کنید.

Hypervisor ها در لنوکس یا مجازی سازی لینوکس هم بسیار کاربرد دارد که سه Hypervisor متن باز که کاملا شناخته شده هستن  : KVM  ، Xen و VirtualBox که مهمترین ها و قدیمی ترین Xen است اسفتاده می شود.البته VirtualBox که توسط شرکت Oracle اداره می شود نسخه های این نرم افزار رو برای سیستم عامل های دیگر هم ارائه داده و VirtualBox رو میتوانید روی ویندوز هم نصب کنید.

  • دو محیط عمده دستکاپ لینوکس را نام ببرید؟
  • جایگزین نرم افزار آفیس ویندوز در لینوکس چه نرم افزاری است؟

آموزش دستورات مقدماتی لینوکس

در جلسه گذشته در مورد محیط های کاربری توضیح دادیم و گفتیم کسی که قراره در سطح حرفه ای با لینوکس کار کنه باید خط فرمان رو یاد بگیره از این جلسه به بعد سعی خواهیم کرد دستورات خط فرمان رو معرفی کنیم و کار کنیم و هر سوالی در خصوص دستورات داشتین میتونید سوال کنید. قبل از شروع کار باید ابتدا بدونید که وقتی صحبت از کامند یا ترمینال لینوکس میشه یعنی چی ؟

به صورت خیلی ساده می توان گفت که ارتباط بین هسته اصلی لینوکس و کاربر توسط یک مفسر برقرار میشه که اون مفسر رو shell می نمامند.(اینطور من پیش خودم فکر کنم که shell دستورات رو از کاربر میگیره و در هسته این دستورات اجرا می شوند مثل مغر انسان در نظر بگیرید که دستور صادر می شود اعضای بدن انجام میدن) چندین پوسته (shell) مختلف در لینوکس وجود دارد که ما فقط چند مورد رو معرفی میکنیم :

  • Bourne-again shell (Bash)
  • C shell (csh or tcsh, the enhanced csh)
  • Korn shell (ksh)
  • Z shell (zsh)

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در لینوکس رایج ترین آن پوسته Bash است  که ما در این دوره با این shell کار خواهیم کرد.البته این دستورات برای هر توزیع لینوکس ممکن است کمی متفاوت باشد اما معمولا از یک ساختار پیروی می کنند. در این مقاله ما در Linux Ubuntu استفاده میکنیم و پیشنهاد ما این هست که شماهم از این نسخه استفاده کنید.در تصویر زیر شکل و ساختار ترمینال در لینوکس رو خواهید دید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در این تصویر hadi  نام کاربر  saremi  اسم کامپیوتر است.

  • Username : اسم کاربری هست که shell را اجرا کرده است.
  • علامت @ جدا کننده اسم کاربر و اسم کامپیوتر است.
  • Hostname : اسم کامپیوتری نشون میده که این shell رو اجرا کرده .
  • علامت ~ : نشان دهنده اینه که در Home Directory کاربر قرار داریم

نوع shell که با علامت $ نشان دهنده این است که shell توسط یک کاربر عادی باز شده است و علامت # نشان دهنده این است که کاربر root اجرا کرده است. (کاربر root در لینوکس مانند کابر administrator در ویندوز است و اختیار کامل دارد که حالا جلوتر متوجه این موضوع خواهید شد که بعضی از دستورات باید با کاربر root اجرا شوند)

بررسی ساختار دستورات در Shell لینوکس

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

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

به عنوان مثال دستور زیر رو در نظر بگیرید:

 ls –al /home

هیمنطور که در دستور بالا مشاهده میکنید ابتدا دستور را مینویسیم و پس از ان Options های که اون دستور دارد وارد میکنیم.

  • (الان فقط ما داریم ساختار دستورات رو میگیم فقط درک از ساختار داشته باشین در ادامه توضیح خواهیم داد که دستور ls  چیکار میکنه و چه قابلیت های داره)

همینطور که مشاهده میکنید ls  یک command است و l- یک option است و home/ یک argument هست. در مثال بالا آپشن l-  کوتاه شده format=long-- هست و هر کدوم رو شما استفاده کنید فرقی ندارم در مثال زیر ما از a-  استفاده میکنیم که کوتاه شده all- است .  این دو دستور دقیقا یک عمل را انجام می دهند.

 ls –all –format=long /home

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

نکته : تنها قسمت ساختار دستورات که اجباری است خود دستور است و به طور کلی همه عنصر های دیگه اختیاری هستن البته ممکن هم هست برخی دستورات نیاز به آرگومان یا پارامتر خاصی داشته باشد.نشانه اختیاری بودن  [ ] بین این دو علامت می آید.

در Shell دو نوع دستور پشتیبانی می شود :

  • داخلی : دستوراتی که خودشان بخشی از shell هستند و برنامه جداگانه ای نیستن.هدف این دستورات اجرا دستور درون پوسته است.به عنوان مثال ( export , set , cd echo )
  • خارجی : این دستورات در مکانی جدا قرار دارند و معمولا برنامه ها یا اسکریپت های باینری هستند و این نکته که کاربران زمانی که دستور اختصاصی خودشون رو ایجاد میکنند در این قسمت قرار میگیرند. به عنوان مثال ( PATH , man )

مثال :

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در این مثال قسمت اول که دستور  type echo  نوشته شده یک دستور داخلی است اما دستور  type man  یک دستور خارج از بدنه shell هست که مسیر اجرا  این دستور را نمایش می دهد.

علامت ها نقل قول

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

  • Double quotes             “ “
  • Single quotes             ‘ ‘
  • Escape characters             ,

به عنوان مثال :

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در قسمت بالا ابتدا ما کلمه  Hadi Saremi را داخل یک متغیر به نام Tosinso ریختیم که اگه شما علامت " " را در ابتدا و انتهای کلمه نزارید فقط کلمه Hadi  ریخته می شود داخل مغییر Tosinso و برای این که متوجه بشین با توجه به محتوای متغیر تعریف شده فایل ایجاد کردیم .

علامت ‘ ‘ در بالا دیگه محتوای متغیر رو نشون نمیده و فقط بین این دو علامت هر چیزی نوشته باشین رو ایجاد میکنه. مجدد تاکید کنم میدونم شاید چیزی متوجه نشین از این دستورات اشکالی نداره فقط این علامت هارو درک کنید و ساختار دستورات جلو تر همه دستورات رو توضیح خواهیم داد. علامت $ در دستورات جهت فراخوانی متغیر های تعریف شده استفاده می شود.

نکته : لینوکس به حروف بزرگ و کوچیک حساس است به این توجه کنید

سوال :

  • دستور mv از چه نوع دستوری است؟ ( داخلی خارجی )
  • دستور Touch ‘www.tosinso.com’ چه عملی انجام می دهد؟

تا یادم نرفته این نکته رو بگم که ما در ویندوز برای دسته بندی اطلاعات از پوشه استفاده میکردیم اما در لینوکس بهش میگم دایرکتوری و نکته بعدی تمامی تنظیمات در لینوکس در قالب یک فایل هستن کلا هر چیزی در لینوکس بخواین تعریف کنید در فایل ها قرار میگیرن و تنظیم میشوند.اولین دستور که خلیلی باهاش کار خواهیم کرد دستور ls است که پر کاربرد ترین دستور در لینوکس است و همچنین اولین دستور در زمان ورود به خط فرمان لینوکس.

  • ساختار دستور :

[ls [OPTIONS] [FILES $

دستور ls لیست محتوای مسیر که مشخص میکنیم رو بهمون نشون میده حالا این محتوا میتونه فایل باشه یا دایرکتوری یا هر چیزی دیگه ای و همینطور که قبلا گفتیم اکثر دستورات آپشن های مختلف دارن که قابلیت های بیشتری رو به اون دستور می دهند.یکی از این آپشن ها l- است که همینطور که میبینید در قالب یک لیست کامل نمایش می دهد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

این اطلاعات اضافی شامل :

  • نوع فایل
  • مجوز های فایل
  • مالک فایل
  • گروه فایل
  • حجم فایل
  • تاریخ و زمان
  • نام فایل

در تصویر زیر اطلاعات ذکر شده را به خوبی نمایش می دهد.

ls -l /etc/hosts $

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

خروجی دستور بالا فایل زیر و میده به ما که این فایل رو بررسی میکنیم چه اطلاعاتی نمایش میدهد.

 rw-r--r-- 1 root root 337 Oct  4 11:31 /etc/hosts- 


خوب این ستون های که به شما نمایش داده می شود رو بررسی میکنیم.اولین کاراکتر نوع فایل رو نمایش می دهد که این فایل اجرائی فایل یا دایرکتوری و ....

  • علامت ( - ) نمایش دهنده این است که این فایل است .
  • علامت ( d ) نمایش دهنده دایرکتوری است.
  • علامت ( l ) نمایش دهنده Symbolic link است که در آینده باهاش آشنا خواهید شد.

علامت های دیگری هم می تواند قرار بگیرد که در این مقاله دونستن همین فایل ها کفایت میکند.قسمت دوم که از از کاراکتر 2 تا 10 نشان دهنده سطوح دسترسی به اون فایل است که این 9 کاراکتر به سه بخش سه کاراکتری تقسیم می شوند که سه کاراکتر اول مربوط به تعیین سطوح دسترسی برای مالک فایل سه کاراکتر دوم مربوط به سطوح دسترسی گروه و سه کاراکتر سوم که نمایشگر سطوح دستری دیگر کاربران بر روی فایل است که می تواند مقداریر زیر باشد که دارا بودن هر یک از این کاراکتر ها نشان دهنده سطح دسترسی برای اون فایل است که در جلسات بعد بیشتر توضیح خواهیم داد.

  • r دسترسی خواندن بر روی فایل
  • w دسترسی نوشتن بر روی فایل
  • x دسترسی اجرا کردن فایل

برای درک بهتر این قسمت به این مثال توجه کنید : rw-r—r—در این مثال گفته می شود مالک فایل فایل را بخواند و بر روی ان هم بنویسد اما در دسترسی سطح گروه فقط می تواند فایل را بخواند و دیگر کاربران هم فقط می توانند فایل را بخوانند.در دو فیلد بعدی که نوشته شده است root قسمت اول نشان دهنده مالک فایل در فیلد دونم ناش دهنده مالک گروه هست .

فیلد بعد از تعیین مالک نشان دهنده اندازه فایل و تاریخ ساخت و مسیر قرار گیری فایل را نمایش می دهد.آپشن دیگر این دستور –a است تمامی فایل هارا نمایش می دهد اما با این تفاوت که تمای فایل مخفی را نیز نمایش خواهد داد و جهت فهمیدن این که کدام فایل مخفی است با توجه کرد که ابتدای فایل با دات (.) شروع می شود.

مانند این مثال :

  ls -la $

خروجی دستور:

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

همانطور که مشاهده میکنید پنج فایل با دات شروع می شود که این پنج فایل در زمانی که از دستور ls به تنهایی استفاده کنید نمایش داده نخواهد شد اما با آپشن –a نمایش داده می شوند در حقیقت این فایل ها  مخفی هستند .آپشن دیگر این دستور –R است به صورت بازگشتی تمای زیر مجموعه ها را نیز نمایش می دهد . به عنوان تمرین خروجی دستور را بنویسید ؟

  • دستور echo

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

  • ساختار دستور :

[(echo [option(s)] [string(s $

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

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

مثلا شما متغییری ایجاد کرده باشید و محتوان اون متغیر رو هم می تواند چاپ کند .

 x=10 $

 echo The value of variable x = $x $

      The value of variable x = 10

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • دستور pwd

این دستور به شما نمایش می دهد که در چه مسیری قرار دارین و زمانی که شما نمیدانید دقیقا کجای فایل های لینوکس هستید کاربرد دارد.

  • ساختار دستور :

[pwd [OPTION $

 کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در مثال بالا به شما می گوید که شما در چه مسیری قرار دارید که در این مثال ما در دایرکتوری home\hai\Desktop قرار داریم و در این قسمت دستورات را وارد میکنیم.

  • دستور touch : دستور touch یک دستور استاندارد است که در سیستم عامل UNIX / Linux مورد استفاده قرار می گیرد و برای ایجاد ، تغییر و اصلاح زمانی تغییر یک فایل استفاده می شود. در واقع ، دو دستور مختلف برای ایجاد یک فایل در سیستم لینوکس وجود دارد که به شرح زیر است:
  • دستور cat: برای ایجاد پرونده با محتوا استفاده می شود.
  • دستور touch: برای ایجاد فایلی بدون هیچ محتوا استفاده می شود. پرونده ایجاد شده با استفاده از دستور touch خالی است. این دستور زمانی می تواند مورد استفاده قرار گیرد که کاربر در هنگام ایجاد پرونده داده ای برای ذخیره ندارد.

....[touch [OPTION] [FILE $

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

همچنین با دستور touch می توانید چندین فایل ایجاد کنید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • دستور cat : دستور Cat (الحاق) به طور مکرر در Linux استفاده می شود. داده ها را از پرونده می خواند و محتوای آنها را به عنوان خروجی نمایش می دهد. این به ما کمک می کند تا پرونده ها را ایجاد ، مشاهده و ادغام کنیم. بنابراین اجازه دهید برخی از دستورات که بیشتر استفاده می شوند را به شما بگوییم.

ساختار دستور :

....[cat [OPTION] [FILE $

در مثال زیر محتوای فایل Tosinso.txt را با دستور cat نمایش می دهیم.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

همچنین با دستور cat می توان محتوای چند فایل پشت سر هم چاپ کرد به مثال زیر توجه نمائید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در مثال زیر محتوای دو فایل Doc1 و Doc2 را در Doc3 ریخته می شود و محتوای Doc3 جمع محتوای دوفایل قبلی می باشد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • دستور cd :

دستور cd در لینوکس معروف به دستور change Directory است برای تغییر دایرکتوری فعلی استفاده می شود.

[cd [directory $

در تصویر زیر همانطور که مشاهده میکنید جهت ورود به دایرکتوری Desktop از این دستور استفاده کردیم.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

جهت برگشت به دایرکتوری بالا سری پس از دستور cd از .. دات استفاده مکنیم.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزبرای رفتن به دایرکتوری های ریشه می توانید از ساختار / cd استفاده کنید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزبه این نکته توجه کنید اگر cd را به تنهایی وارد کنید وارد home دایرکتوری کاربری وارد خواهید شد.

آموزش لینوکس اسنشیال جلسه 6 : راهنمای دستورات لینوکس

خط فرمان ابزاری بسیار پیچیده است. هر دستور گزینه های منحصر به فرد خود را دارد ، بنابراین راهنما هنگام کار با سیستم لینوکس مهم می باشند. علاوه بر دایرکتوری / usr / share / doc / که بیشتر مستندات مربوط به دستورات را ذخیره می کند ، دستورات مختلف دیگری هست که اطلاعات مربوط به استفاده از دستورات Linux را در اختیار شما قرار می دهد.

این جلسه با هدف راهنمای از روشهای دستیابی به آن اسناد و راهنماهای استفاده از دستورات پرداخته ایم. روشهای زیادی برای راهنمائی در خط فرمان Linux وجود دارد. دستورات man ، help و info فقط چند مورد از آنهاست. برای Linux Essentials ، ما بر روی دستورات man و info تمرکز خواهیم کرد زیرا این ابزارها معمولاً برای دریافت راهنما استفاده می شوند.موضوع دیگر این فصل ، مکان یابی پرونده ها خواهد بود. شما عمدتا با دستور location کار خواهید کرد. همچنین در این جلسه در خصوص محل قرار گیری فایل ها کمی صحبت خواهیم کرد و با دستور locate کار خواهیم کرد.

  • help در خط فرمان :

پارامتر help -- یک دستورالعمل مختصری در مورد کاربرد اون دستور به شما نمایش خواهد داد اگرچه همه دستورات این سوئیچ را ارائه نمی دهند ، اما هنوز اولین پارامتر برای کسب اطلاعات بیشتر در مورد یک دستور است.این پارامتر بعد از دستوری که میخواهید راهنمای آن را مشاهده کنید می آید. در تصویر زیر جهت استفاده از دستور cat راهنمای مختصر را به شما نمایش می دهد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزنکته : در برخی از دستورات شما نمی توانید از پارامتر help استفاده کنید.دستور زیر را شما در سیستم عامل خود وارد نمائید و نتیجه آن توجه کنید که راهنمای از دستور echo به شما نمایش داده نخواهد شد و بلکه help-- برای شما چاپ خواهد شد.

 echo --help $

  • دستور Man :

بیشتر دستورات را می توان با دستور man راهنمای کاملی را به شما ارائه دهد.

  • ساختار دستور :

[man [OPTION]... [COMMAND NAME $

دستور man man $ را وارد کنید و به تصویر زیر توجه کنید :

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزبا زدن دستور بالا راهنمای کامل از دستور man نمایش داده شد که می توان بر اساس پارامتر های مختلفی که برای دستور man نمایش داده شده است می توان استفاده کرد و در خصوص هر پارامتر توضیحات داده شده است.

  • نکته : در صفحه باز شده جهت خروج از این صفحه می توانید با وارد کردن کلید q از آن خارج شوید یا با کلید های جهت نمای بالا و پایین پیمایش نمائید.

توضیحات که داده شده به بخش های مختلف تقسیم می شود که برخی از آن ها را توضیح خواهیم داد.

  1. Name : نام دستور و شرح مختصری از دستور نمایش می دهد.
  2. SYNOPSIS : در این قسمت نحوه استفاده از دستور را نمایش می دهد.
  3. DESCRIPTION : همانطور که از نامش پیداست مختصری در مورد دستور توضیح می دهد.
  4. OPTIONS : آپشن های مختلف دستور را نمایش می دهد.
  5.  ARGUMENTS : آرگومان های مختلف دستور را نمایش می دهد.
  6. FILES : محل قرار گیری دستور را نمایش می دهد.
  7. EXAMPLES : نمونه استفاده از دستورات را نمایش می دهد.
  8. ......
  • نکته : ممکن از در برخی از دستورات بخش های که گفته شد موجود نباشد یا بخش های دیگری باشد.

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

man ls $

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • دستور info : 

دستور دیگری که در هنگام کار با سیستم لینوکس به شما کمک می کند info است. دستور info معمولاً جزئیات بیشتری نسبت به دستور man نمایش می دهد و مشابه صفحات وب در اینترنت هستند.

  • ساختار دستور  :

[info [OPTION]... [MENU-ITEM $

به عنوان نمونه شما می توانید خروجی دو دستور زیر را با یکدیگری مقایسه کنید :

man ls $

info ls $

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • مستندات دستورات :

 مسیر / usr / share / doc / بیشترین مستندات و راهنماهای دستورات که سیستم از آنها استفاده می کند در این مسیر ذخیره شده است. 

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • دستور locate :

دستور locate در لینوکس برای یافتن پرونده ها با نام استفاده می شود. دستور locate از دستور find سریعتر و بهتر است .در صورتی که دستور locate را وارد کریدن و پیغام خطا دریافت کردید باید آن را نصب نمائید.به تصویر زیر توجه کنید:

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزهمانطور که مشاهده میکنید باید با دستوری sudo apt install mlocate این دستور را نصب کنید.

  • نکته : باید به اینترنت متصل باشید.در جلسات آینده در خصوص دستور بالا توضیح خواهیم داد فقط شما دستور را وارد نمائید تا دستور locate برای شما فعال شود.حتما از نسخه Ubuntu استفاده نمائید.

بعد از نصب ابزار mlocate شما می توانید از این دستور استفاده نمائید.به عنوان نمونه برای پیدا کردن فایل ali.txt از دستور locate استفاده خواهیم کرد :

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزهمانطور که مشاهده میکنید بعد از اجرا دستور مسیر دقیق فایل را به شما نمایش می دهد .

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

سیستم فایل لینوکس از آنجا که شامل پرونده ها و دایرکتوری ها است ، مشابه سیستم های فایل سیستم عامل دیگر مانند ویندوز و ... است. دایرکتوری ها برای سازماندهی نمودن اطلاعات استفاده می شوند. یک دایرکتوری می توانند حاوی دایرکتوری ها و سایر فایل ها باشد.(همانطور که در جلسات گذشته گفتیم منظور از دایرکتوری همان پوشه ها در ویندوز می باشد)

  • نامگذاری دایرکتوری ها و فایل ها

نام پرونده ها و فهرست ها در لینوکس می تواند شامل حروف کوچک و بزرگ ، اعداد ، فاصله ها و کاراکتر خاصی باشد. با این حال ، از آنجا که بسیاری از کاراکترها در پوسته لینوکس معنای خاصی دارند .

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

به عنوان مثال ، نام فایل Tosinso.txt را در نظر بگیرید. نام این فایل حاوی پسوندی می باشد که بعد از (.) می آید. برخلاف ویندوز ، این پسوند در لینوکس معنای خاصی ندارد. برای درک بهتر موضوع به این مثال توجه کنید در این فایل  txt. به ما نشان می دهد که این یک فایل متنی ساده است ، اگر چه از لحاظ فنی می تواند حاوی هر نوع داده ای  باشد.(جلوتر با این مفاهیم اشنا خواهید شد)

  • برای ادامه کار شما ابتدا باید دستور tree را بر روی سیستم عامل لینوکس خود نصب کنید بنابراین دستور زیر را وارد نمائید تا این ابزار برای شما نصب شود .(فعلا نیاز نیست شما نحوه کار این دستورات را بدانید در lpic1 با این دستورات آشنا خواهیدشد)

sudo apt-get install tree $

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزپس از نصب دستور tree در ترمینال خود دستور زیر را وارد کنید :

/ tree -L 1 $

به این نکته توجه کنید که L- با حروف بزرگ نوشته شده است.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در تصویر بالا نمونه ای از سیستم فایل های موجود در لینوکس را به شما نشان می دهد که حاوی دایرکتوری ، فایل و ... می باشد. اکثر این دایرکتوری ها در تمام سیستم های لینوکس یکی هستند. از سرورها ، ابر رایانه ها تا سیستم های کوچک هستند. درباره محتوای این فهرست ها بیشتر صحبت خواهیم کرد ، اما فعلاً بدانید که:

تغییراتی که در فایل های سیستمی ریشه ایجاد می کنید بر روی همه کاربران تأثیر خواهد گذاشت ، و تغییر فایل ها ی سیستمی ریشه به مجوزهای مدیر یا همان root نیاز دارد این بدان معناست که ممکن است کاربران عادی دسترسی به برخی از این دایرکتوری ها و دسترسی به تغییر در درون فایل ها ندارند.به عنوان مثال سعی نماید با کاربر عادی وارد دایرکتوری root شوید به شما چه پیغامی نمایش می دهد؟

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

یکی از دایرکتوری های اصلی لینوکس دایرکتوری home/ می باشد که محل قرار گیری دایرکتوری ها و فایل های هر کاربر می باشد . در این دایرکتوری هر کاربری که ایجاد می شود یک دایرکتوری به نام آن کاربر در این قسمت ایجاد می شود . برای درک بهتر به تصویر زیر نگاه کنید:

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزدر تصویر بالا با توجه به گفته های قبلی با زدن دستور cd /home شما وارد دایرکتوری ریشه home می شوید همانطور که مشاهده می کنید دستور ls را وارد کردیم تا لیست دایرکتوری های موجود را به ما نمایش دهد که در این قسمت یک دایرکتوری به نام hadi وجود دارد که در حال حاضر ما یک کاربر بیشتر نداریم بعد از ورود به دایرکتوری hadi و لیست کردن محتوای دایرکتوری مشاهده می کنید که دایرکتوری های مختلفی وجود دارد.

  • نکته : هر کاربر حتما لزومی ندارد دایرکتوری خودش را در home داشته باشد برای درک بهتر کاربر ali ممکن است وجود داشته باشد اما در دایرکتوری home ، دایرکتوری مختص به خودش را نداشته باشد.
  • نکته : هر کاربر در دایرکتوری خودش دقیقا مطابق بالا دایرکتوری های Desktop , Documents و ... را در خودش دارد.

ایجاد انتقال و حذف فایل ها

این قسمت مدیریت فایل ها و دایرکتوری ها در Linux با استفاده از دستورات خط فرمان را کار خواهیم کرد :

mv  cp  rm  
mkdir  rmdir

یک فایل مجموعه ای از داده ها با یک نام و مجموعه ای از ویژگی ها است. به عنوان مثال ، اگر بخواهید چند عکس را از فلش خود بر روی سیستم انتفال دهید شما چند فایل خواهید داشت ،  این فایل ها دارای ویژگی هایی مانند زمان آخرین دسترسی به فایل یا اصلاح مدت زمان دسترسی آن هستند.دایرکتوری نوع خاصی از فایل ها هستند که برای سازماندهی فایل ها استفاده می شود. 

خط فرمان موثرترین راه برای مدیریت فایل ها در سیستم لینوکس است. دستورات دارای ویژگی هایی هستند که استفاده از آن ها کار با فایل ها را سریعتر و آسان تر از یک برنامه مدیر فایل گرافیکی می کنند. در این بخش از دستورات ls، mv، cp، pwd، find، touch، rm، rmdir، echo، cat و mkdir برای مدیریت و سازماندهی پرونده ها و دایرکتوری ها استفاده خواهید کرد که برخی از این دستورات را قسمت های قبل توضیح داده شده است.

  • نکته(تکرار) : برخلاف Windows ، نام فایل ها و دایرکتوری ها در سیستم های لینوکس به حروف کوچک و بزرگ حساس هستند.مانند این که نام / etc / و / ETC / دابرکتوری مختلفی هستند.

دستور mkdir :

دستور mkdir در لینوکس به کاربر اجازه می دهد تا دایرکتوری ایجاد کند . این دستور می تواند همزمان چندین دایرکتوری ایجاد کند و همچنین مجوزها را برای دایرکتوری ها تنظیم کند. توجه به این نکته مهم است که کاربر ی که  این دستور را اجرا می کند باید مجوز کافی برای ایجاد یک دایرکتوری در دایرکتوری اصلی را داشته باشد ، در غیر این صورت ممکن است خطای ‘permission denied’ را دریافت کند.

  • ساختار دستور :
[....mkdir [options...] [directories $

برای ساخت یک دایرکتوری لازم است دستور mkdir همراه نام دایرکتوری را وارد کنید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

همانطور که در تصویر بالا مشاهده می کنید ابتدا وارد دایرکتوری Desktop/ می شوید با دستور ls -l لیست محتوای دایرکتوری را نمایش می دهد که ما در انجا هیچ محتوای نداریم total 0 می باشد پس از آن با دستور mkdir یک دایرکتوری ایجاد میکنیم.به این نکته توجه داشته باشید که در صورتی که در بین کلمات بجای دات . فاصله قرار دهید سه دایرکتوری ایجاد خواهد شد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

آپشن ها : 

  • -v یا --verbose: برای هر دایرکتوری ایجاد شده پیامی را نمایش می دهد.
  • -p: آپشنی که برای ایجاد دایرکتوری های والد در صورت لزوم ایجاد می کند.برای درک بهتر به تصویر زیر دقت نمائید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در تصویر بالا ابتدا دستور را بدون آپشن وارد نمودیم که خطایی نمایش می دهد و اجازه ایجاد دایرکتوری های والد را نمی دهد اما در دستور دوم پس از وارد کردن آپشن v- و p- این دایرکتوری ها ایجاد می شود.همانطور که در بالا گفته شد v- برای ایجاد هر دایرکتوری یک پیام را نمایش می دهد و p- برای ساختن دایرکتوری ها والد به صورت سلسله مراتبی دایرکتوری هارا ایجاد می کند.

  • دستور کپی فایل ها cp :

cp مخفف copy است. این دستور برای کپی کردن فایل ها یا گروهی از فایل ها یا دایرکتوری ها استفاده می شود. 

  • ساختار دستور :
cp [OPTION] Source Destination
cp [OPTION] Source Directory
cp [OPTION] Source-1 Source-2 Source-3 Source-n Directory

سه حالت برای استفاده از دستور cp خواهید داشت که با مثال توضیح کاملی خواهیم داد. ساده ترین حالت استفاده از دستور مانند تصویر زیر می باشد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در اینجا یک فایل به نام a.txt داریم که دارای محتوا می باشد با توجه به ساختار دستور قسمت اول دستور فایل که میخواهیم ازش کپی گرفته شود را مشخص خواهیم کرد و قسمت دوم نام فایلی خواهد بود که کپی به آن نام خواهد بود که در اینجار b.txt است بنابراین b.txt یک کپی کامل همراه محتوا از a.txt می باشد. در ساختار دوم قصد داریم یک فایل را در درون یک دایرکتوری کپی نمائیم .

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

همانطور که در تصویر مشاهده میکنید ابتدا یک دایرکتوری به نام cp ایجاد نمودیم پس از آن با دستور cp a.txt cp فایل a.txt را در داخل دایرکتوری قرار دادیم و جهت بررسی وارد دایرکتوری شدیم و مشاهده میکنید که فایل کپی شده است. ساختار سوم دستور به این صورت می باشد که شما می توانید چندین فایل را انتخاب نمائید و در داخل دایرکتوری کپی نمائید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در تصویر بالا چهار فایل و یک دایرکتوری داریم که در این قسمت قصد داریم سه فایل a.txt b.txt و d.txt را درون دایرکتوری cp کپی نماییم که با زدن دستور بالا این عمل انجام می شود. علاوه بر موارد فوق همچنین شما می توانید دایرکتوری را درون یک دایرکتوری دیگر کپی نمائید .

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • نکته : جهت کپی کردن دایرکتوری ها از آپشن r- استفاده نمائید و در صورتی که دایرکتوری دارای محتوا باشد باید از آپشن R- بزرگ استفاده نمائید.(به عنوان تمرین امتحان نمائید)
دستور انتقال یا mv :
mv مخفف move است. mv برای انتقال یک یا چند فایل یا دایرکتوری از یک مکان به مکان دیگر در سیستم می باشد.همچنین از mv برای تغییر دادن نام هم استفاده می شود.

ساختار دستور :

mv [Option] source destination

در تصویر بالا با دستور mv فایل a.txt به درون دایرکتوری move انتقال داده شد و شما می توانید به همین نحو دایرکتوری را درون یک دایرکتوری دیگر انتقال دهید.

  • نکته : در زمان انتقال فایل ها یا دایرکتوری ها توجه نمائید که در مقصد فایل یا دایرکتوری با نام مبدا نباشد در صورت وجود نام یکسان overrwrite می شود بنابراین جهت جلوگیری از این مسئله از آپشن i- استفاده نمائید.

دستور حذف یا rm :

rm مخفف کلمه remove است. از دستور rm برای حذف فایل ها ، دایرکتوری ها ، پیوندهای نمادین و غیره از سیستم اسفتاده می شود.

  • نکته : این دستور معمولاً بی صدا کار می کند و باید هنگام اجرای دستور rm بسیار مراقب باشید زیرا وقتی فایل ها را پاک کردید ، دیگر نمی توانید محتویات فایل ها و دایرکتوری ها را بازیابی کنید.

ساختار دستور :

...rm [OPTION]... FILE $

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در دستور تصویر بالا کلیت استفاده از دستور rm گفته شده است در اینجا چهارتا فایل وجود دارد که برای حذف یک فایل یا دوفایل لازم است اسم فایل ها را در مقابل دستور بیاورید و بدون هیچ اعلامی فایل ها پاک می شوند اما در دستور آخر برای پرسیدن از اینکه سوال شود از حذف فایل اطمینان دارید از آپشن i- استفاده نمائید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز 

در تصویر بالا جهت حذف یک دایرکتوری که دارای محتوا می باشد با زدن دستور rm به تنهای نمی تواند دایرکتوری دارای محتوا را پاک نماید بنابراین از آپشن r- استفاده نمائید جهت حذف دایرکتوری .

آرشیو سازی و فشرده سازی

فشرده سازی برای کاهش میزان فضای مصرفی مجموعه از فایل ها استفاده می شود.فشرده سازی با جایگزینی الگوهای تکراری در داده ها کار می کند. فرض کنید شما یک رمان دارید. بعضی از کلمات بسیار رایج هستند اما دارای چندین شخصیت هستند ، مانند کلمه "این". اگر بخواهید این کلمات و الگوهای متداول چند کاراکتری را جایگزین تک کاراکترها کنید ، می توانید از اندازه رمان به میزان قابل توجهی کم کنید.

به عنوان مثال ، "این" را با یک حرف یونانی جایگزین کنید که در جای دیگر متن استفاده نشده است. الگوریتم های فشرده سازی داده ها مشابه این اما پیچیده تر هستند.فشرده سازی در دو نوع بدون تخریب و با تخریب وجود دارد. مواردی که با الگوریتم بدون تخریب فشرده می شوند ، می توان دوباره داده های فشرده شده را به شکل اصلی خود خارج شوند.

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

  • دستور tar به تنهایی آرشیو سازی فایل ها را مدیریت می کند اما آنها را فشرده نمی کند.

ابزارهای فشرده سازی زیادی در Linux وجود دارد. برخی از موارد معمول بدون تخریب عبارتند از bzip2  و gzip این دو مورد را در اکثر سیستم ها پیدا خواهید کرد. هر دو آنها از الگوریتم های مختلفی استفاده می کنند . اگر سیستم های لینوکس و ویندوزی دارید که باید فایل ها را به اشتراک بگذارند این را بخاطر داشته باشید که سیستم های لینوکس همچنین دارای دستوراتی برای مدیریت پرونده های .zip هستند که معمولاً در سیستم ویندوز استفاده می شوند. به آنها zip و unzip گفته می شود. این دستورات به طور پیش فرض بر روی همه سیستم ها نصب نشده اند ، بنابراین در صورت نیاز به استفاده از آنها ممکن است مجبور شوید آنها را نصب کنید.

  • ابزارهای فشرده سازی:

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

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

$ mkdir ~/linux_essentials-3.1
$ cd ~/linux_essentials-3.1
$ mkdir compression archiving
$ cd compression
$ cat /etc/* > bigfile 2> /dev/null
$ cp bigfile bigfile2 $ cp bigfile bigfile3 $ ls -lh total 2.8M -rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile -rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile2 -rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile3

با توجه به دستورات فکر کنم فهمیدید چیکار کردیم ابتدا دایرکتوری ایجاد کردیم و یک فایل bigfile که دارای محتوای مسیر etc/ می باشد و با دستور ls -lh محتوای مسیر جاری را نمایش می دهد همراه سایز تک تک فایل ها و جمع کل سایز فایل ها.حالا ما می خواهیم با هر ابزار فشرده سازی گفته شده ، فایل ها را فشرده کنیم:

$ bzip2 bigfile2
$ gzip bigfile3
$ ls -lh
total 1.2M
-rw-r--r-- 1 emma emma 712K Jun 23 08:08 bigfile
-rw-r--r-- 1 emma emma 170K Jun 23 08:08 bigfile2.bz2
-rw-r--r-- 1 emma emma 179K Jun 23 08:08 bigfile3.gz

اندازه فایل های فشرده شده را با فایل فشرده نشده به نام bigfile مقایسه کنید. همانطور که مشاهده میکنید فایل bigfile2 با الگوریتم bzip2 فشرده سازی شده است که حجم 170K را بعد از فشرده سازی نمایش می دهد و فایل bigfile3 با الگوریتم gzip فشرده سازی شده است که حجم 179K را دارد. همچنین توجه داشته باشید که دستورات فشرده سازی پسوندهایی را به نام فایل ها اضافه کرده نشان دهنده نوع فشرده سازی می باشد و پس از فشرده سازی فایل های اصلی را حذف می کنند.برای خارج کردن فایل ها از حالت فشرده از bunzip2 ، gunzip استفاده خواهیم کرد :

$ bunzip2 bigfile2.bz2
$ gunzip bigfile3.gz
$ ls -lh
total 2.8M
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile2
-rw-r--r-- 1 emma emma 712K Jun 23 08:20 bigfile3

توجه کنید که اکنون فایل فشرده شده پس از خارج شدن از حالت فشرده حذف می شود.

  • ابزار آرشیو سازی :

دستور tar احتمالاً پرکاربردترین ابزار آرشیو سازی در سیستم های لینوکس است. مخفف "tape archive" است.

آرشیو سازی فایل های :

$ cd ~/linux_essentials-3.1
$ tar cf archiving/3.1.tar compression

کاراکتر c برای ایجاد یک فایل آرشیو جدید در دستور tar استفاده می شود و گزینه f نام فایل برای ایجاد آرشیو است. بلافاصله بعد از کاراکترها همیشه نام فایل های ای است که آرشیو بندی شوند. ادامه دستور مسیرهای موجود در هر فایل یا دایرکتوری است که می خواهید به آن فایل آرشیو اضافه کنید ، لیست کنید در مثال ، ما فشرده سازی دایرکتوری و تمام محتوای آن را به آرشیو خود اضافه می کنیم.برای مشاهده محتویات یک فایل آرشیو شده ، از کاراکتر t استفاده می کنیم :

$ tar -tf 3.1.tar
compression/
compression/hosts.gz
compression/bigfile2
compression/bigfile
compression/bigfile3

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

$ cd ~/linux_essentials-3.1/archiving
$ ls
3.1.tar
$ tar xf 3.1.tar
$ ls
3.1.tar  compression

کاراکتر x برای خارج کردن فایل از حالت آرشیو شده مورد استفاده قرار میگیرد.

جستجو و استخراج اطلاعات

  • تغییر مسیر خروجی دستور :

برای هدایت خروجی دستور به یک فایل ، باید از عملگر < و به دنبال آن نام فایل استفاده کنیم. اگر فایل وجود نداشته باشد ، فایل جدیدی ایجاد می شود ، در غیر این صورت ، اطلاعات فایل موجود را رونویسی می کند.برای دیدن محتویات فایلی که تازه ایجاد کردیم ، می توانیم از دستور cat استفاده کنیم. به طور پیش فرض ، این دستور محتویات یک فایل را بر روی صفحه نمایش می دهد. 

مثال :

$ echo "Hello World!" > text
$ cat text
Hello World!

با وارد کردن مجدد دستور جهت ورود داده جدید به فایل مورد نظر محتوا رونویسی می شوند.

$ echo "Hello!" > text
$ cat text
Hello!

همانطور که مشاهده میکنید کلمه Hello بر روی محتوای قبلی فایل text جایگزین شده است.اگر می خواهیم اطلاعات جدیدی در انتهای فایل اضافه کنیم ، باید از عملگر << استفاده کنیم. این عملگر همچنین اگر نتواند فایل موجود را پیدا کند ، یک فایل جدید ایجاد می کند.همانطور که در دستور زیر مشاهده می کنید، متن جدید در خط زیر اضافه شده است با توجه به اینکه محتوای فایل Hello بود محتوای جدید به ادامه این فایل اضافه شده است :

$ echo "Hello to you too!" >> text
$ cat text
Hello!
Hello to you too!

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

$ echo "Hello to you too!" >> text2
$ cat text2
Hello to you too!
  • گرفتن خروجی از خطا های دریافتی

برای دریافت پیام های خطا ، کاربر باید از عملگر 2> و به دنبال آن نام فایل ای که خطاها در آن قرار است نوشته شود بیاورید. اگر فایل وجود نداشته باشد ، فایل جدیدی همراه محتویات خطا داده شده ایجاد می شود ، در غیر این صورت فایل دوباره رونویسی می شود.به عنوان مثال ، دستور زیر یک فایل یا دایرکتوری را به نام tosinso جستجو می کند و هنگام نمایش خروجی روی صفحه ، فقط خطا را در فایل text-error می نویسد :

$ find /usr tosinso 2> text-error
/usr
/usr/share
/usr/share/misc
---------Omitted output----------
/usr/lib/libmagic.so.1.0.0
/usr/lib/libdns.so.81
/usr/tosinso
$ cat text-error
find: `tosinso': No such file or directory

در مثال بالا فایل tosinso را پیدا نخواهد کرد بنابراین پیغام خطا را در فایل text-error می نویسد. دستور زیر بدون خطا اجرا می شود ، بنابراین هیچ اطلاعاتی در فایل text-error نوشته نمی شود:

$ ls /home 2> text-error
$ cat text-error

همچنین می تواند به یک فایل با عملگر 2 << اضافه شود. با این کار خطای جدید در انتهای فایل اضافه می شود.

$ sort /etc 2>> text-error
$ cat text-error
sort: read failed: /etc: Is a directory

$ sort /etc/shadow 2>> text-error2 $ cat text-error2 sort: open failed: /etc/shadow: Permission denied

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

  • دادن ورودی به دستورات

این نوع دادن ورودی برای وارد کردن داده ها به یک دستور ، از یک فایل مشخص به جای صفحه کلید ، استفاده می شود. در این حالت از عملگر > همانطور که در مثال نشان داده شده است استفاده می شود:

$ cat < text
Hello!
Hello to you too!
  • دستور tr :

دستور tr در linux یک ابزار خط فرمان برای ترجمه یا حذف کاراکترها است. این برنامه از طیف وسیعی از تغییرات از بزرگ به کوچک ، فشردن کاراکترهای تکراری ، حذف کاراکترهای خاص و پیدا کردن و جایگزینی پشتیبانی می کند.  tr مخفف translate است.

$ tr -d "l" < text
Heo!
Heo to you too!

در مثال بالا دستور tr با استفاده از آپشن d- آورده شده است عمل حذف کاراکتر را می توان انجام داد که در این دستور هر کجایی از فایل text که کاراکتر l آمده باشد را حذف می کند.

  • دستور cut :

دستور cut در لینوکس یک دستور برای برش بخشها از هر سطر فایل و نوشتن نتیجه در خروجی است. در اصل دستور cut یک خط را برش می زند و متن را استخراج می کند. 

$ cat state.txt
Andhra Pradesh
Arunachal Pradesh
Assam
Bihar
Chhattisgarh

نمونه فایل بالا را در نظر بگیرید که نام کشور و پایتخت می باشد.با استفاده از آپشن b- برای خارج کردن بایت های خاصی از متن استفاده می شود.هر کاراکتر در فایل یک بایت محسوب می شود به دو مثال زیر توجه کنید:

$ cut -b 1,2,3 state.txt
And
Aru
Ass
Bih
Chh

در این دستور گفته شده است که بایت های 1 2 3 هر خط را جدا نماید که اگر به فایل کاملی state.txt مراجعه کنید خواهید دید که سه کاراکتر اول در خروجی نمایش داده شده است.

$ cut -b 1-3,5-7 state.txt
Andra
Aruach
Assm
Bihr
Chhtti

 با استفاده از عملگر - می توانید رنجی از بایت هارا انتخاب نمائید.در مثال بالا 1-3 کاراکتر های 1 2 3 هر خط و 5 6 7 هر خط چاپ می شود.

  • پایپ Pipes (|) :

به صورت خلاصه اگر بخواهیم بگوییم با استفاده از | pipes شما می توانید خروجی دستور اول را ورودی دستور دوم خود قرار دهید. برای درک بهتر به مثال زیر توجه کنید :

$ echo "Wellcom to Tosinso" | touch Wellcom 
$ cat Wellcom
Wellcom to Tosinso

همانطور که مشاهده میکنید باید دستور echo متن روبه روی خودش را چاپ کند اما با عملگر | خروجی دستور اول ورودی دستور touch می شود که در اینجا یک فایل Wellcom ایجاد می شود که محتوای Weelcom to Tosinso را که خروجی دستور اول می باشد را نمایش می دهد.

  • دستور Less :

دستور Less ابزار لینوکس است که می تواند برای هر بار مطالعه محتوای فایل متنی یک صفحه ،یک صفحه استفاده شود. دسترسی سریع تری دارد زیرا اگر فایل بزرگ باشد ، به فایل کامل دسترسی پیدا نمی کند ، اما صفحه به صفحه به آن دسترسی پیدا می کند.

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

dmesg | less

به عنوان مثال فایل dmesg یک فایل بزرگی می باشد که با دستور less محتوای آن در صفحه جدید نمایش داده می شود و می توانید در صفحه های آن پیمایش نمائید .

  • دستورات head و tail :

دستور head ، همانطور که از نامش پیداست ، تعداد N خط از داده های ورودی داده شده را چاپ می کند. به طور پیش فرض ، 10 خط اول فایل های مشخص شده را چاپ می کند. 

$ cat state.txt
Andhra Pradesh
Arunachal Pradesh
Assam
Bihar
Chhattisgarh
Goa
Gujarat
Haryana
Himachal Pradesh
Jammu and Kashmir
Jharkhand
Karnataka
Kerala
Madhya Pradesh
Maharashtra
Manipur
Meghalaya
Mizoram
Nagaland
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

$ head state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh Goa Gujarat Haryana Himachal Pradesh Jammu and Kashmir

همانطور که مشاهده میکنید دستور head بدون آپشن 10 خط ابتدای فایل state.txt را نمایش داده است.با استفاده از آپشن n- می توانید تعداد خط را زیاد یا کم نمائید.

  • دستور tail :

همانطور که از نام آن مشخص است ، آخرین تعداد N داده ورودی فایل را چاپ می کند. به طور پیش فرض 10 خط آخر فایل های مشخص شده را چاپ می کند.

$ tail state.txt
Odisha
Punjab
Rajasthan
Sikkim
Tamil Nadu
Telangana
Tripura
Uttar Pradesh
Uttarakhand
West Bengal

اسکریپت نویسی در لینوکس

ما تاکنون یاد گرفته ایم که دستورات را در Shell اجرا کنیم ، اما می توانیم دستورات را نیز در فایل ذخیره کنیم و سپس آن فایل را به حالت اجرائی در بیاوریم و اجرا کنیم. وقتی فایل اجرا می شود ، دستورات یکی پس از دیگری اجرا می شوند. این فایل های اجرایی را اسکریپت می گویند و برای هر مدیر لینوکس یک ابزاری کاملاً مهم هستند. اساساً ، ما می توانیم Bash را به عنوان یک زبان برنامه نویسی و همچنین Shell در نظر بگیریم.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

برای ایجات یک فایل اسکریپت ابتدا دستور مورد نظر را وارد یک فایل نموده سپس فایل را در حالت اجرا قرار خواهیم داد.برای درک بهتر ابتدا با echo یک خروجی را چاپ خواهیم کرد:

$ echo "Hello World!"
Hello World!

در ادامه ما قصد داریم محتوای دستور بالا را درون یک فایل به نام new_script وارد نماییم و پس از ان با دستور cat محتوای فایل را نمایش دهیم.

$ echo 'echo "Hello World!"' > new_script
$ cat new_script
echo "Hello World!"

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

  • ساخت اسکریپت قابل اجرا :

پس از نوشتن دستور درون یک فایل نوبت به اجرای فایل می رسد که اولین فکر کاربر این می باشد که به راحتی بتوانیم با زدن نام فایل اسکریپت دستور درون فایل اجرا شود به مثال زیر توجه فرمائید : بیایید برخی از مراحل مورد نیاز برای اجرای این فایل را همانطور که انتظار داریم اجرا کنیم. اولین فکر کاربر ممکن است این باشد که به راحتی نام اسکریپت را تایپ کند ، روشی که ممکن است در نام هر دستور دیگری تایپ کند:

$ new_script
/bin/bash: new_script: command not found

ما میدانیم که فایل new_script در مکان فعلی ما وجود دارد ، اما توجه داشته باشید که پیام خطا به ما نمی گوید فایل موجود نیست ، بلکه به ما می گوید که این دستور وجود ندارد. بنابراین در ادامه سعی خواهیم کرد نام فایل را به دستورات قابل اجرا اضافه نمائیم و فایل را به حال اجرائی در آوریم.

  • دستورات و متغیر PATH :

برای مثال ، وقتی دستور ls را در shell تایپ می کنیم ، در حال اجرای فایلی به نام ls وجود دارد و اجرا می شود . به دستور زیر توجه کنید محل قرار اجرای دستور ls را به شما نمایش می دهد :

$ which ls
/bin/ls

فرض کنید جهت نمایش محتوای مسیر جاری بجای زدن دستور ls باید مسیر فایل را مشخص میکردید چی اتفاقی رخ می داد؟با توجه به مسیر دستورات متوجه خواهید شد که این امر برای شما خسته کننده خواهد بود بنابراین Bash دارای یک متغییر محیطی است که شامل تمام دایرکتوری هایی است که می توانیم دستوراتی را که می خواهیم اجرا کنیم پیدا کنیم. با استفاده از echo می توانید محتوای این متغیر را مشاهده کنید.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

هر کدام از این مسیر های نمایش داده شده جایی است که bash انتظار دارد دستوری پیدا کند که با دو نقطه (:) پایان هر مسیر را نشان می دهد و مسیر جدیدی را جهت اجرا دستور می گردد . همانطور که گفتیم مسیر فایل new_script در این مسیر ها نمی باشد و همچنین هنوز فایل به حالت اجرائی در نیامده است بنابراین پس از وارد کردن دستور new_script پیغام خطا نبود دستور را به ما نمایش می دهد. برای حل این مسئله سه راه حل وجود دارد:

  1. ما می توانیم new_script را به یکی از فهرست های PATH منتقل کنیم.
  2. می توانیم دایرکتوری فعلی خود را به PATH اضافه کنیم.
  3. می توانیم نحوه تماس اسکریپت را تغییر دهیم.

راه حل دوم ساده ترین راه حل است ، به سادگی ما را ملزم می کند هنگام فراخوانی اسکریپت با استفاده از (/.) مکان فعلی را مشخص کنیم.

$ ./new_script
/bin/bash: ./new_script: Permission denied

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

  • اجرائی کردن فایل :

اولین قدمی که در مواجه با این پیغام انجام خواهیم داد استفاده از دستور ls -l برای مشاهده جزئیات فایل است:

$ ls -l new_script
-rw-rw-r-- 1 user user 20 Apr 30 12:12 new_script

می توانیم ببینیم که مجوزهای این فایل به طور پیش فرض روی --rw -rw- r- تنظیم شده است. در جلسات آینده در خصوص مجوز ها بیشتر توضیح خواهیم داد اما همانطور که مشاهده میکنید مجوز اجرائی بودن در فایل مشاهده نمی شود که با علامت x مشخص می شود.با زدن دستور زیر قابلیت اجرائی بودن به فایل می دهیم :

$ chmod +x new_script
$ ls -l new_script
-rwxrwxr-x 1 user user 20 Apr 30 12:12 new_script

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

$ ./new_script
Hello World!

همانطور که مشاهده میکنید این بار خروجی دستور درون فایل موجود را به ما نمایش می دهد.در جلسه آینده با اسکریپت های بیشتری آشنا خواهید شد.

معرفی ویرایشگرهای متنی لینوکسی

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

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

معرفی ویرایشگر متنی VI

یک ویرایشگر متنی خوب می باشد و کار کردن با این ویراشکر دشوار می باشد و به طور پیش فرض تقریباً روی همه سیستم های لینوکس موجود نصب شده است. مهمترین تفاوت بین vi و برنامه هایی مانند Notepad این است که vi سه حالت مختلف دارد.

هنگام راه اندازی ، از کلیدهای H ، J ، K و L برای پیمایش در صفحات استفاده می شود ، نه برای تایپ کردن. می توانید I را فشار دهید تا وارد حالت insert شود. در این مرحله ، شما می توانید دستورات یا متن دلخواه خو را تایپ نمائید. برای خروج از حالت درج ، Esc را فشار دهید تا به حالت پیمایش بازگردید.برای ذخیره فایل از wq: استفاده نمائید تا فایل ذخیره شود و از محیط vi خارج شوید.

نمونه :

vi file.text

با زدن دستور vi و نام فایل یک پنجره جدید باز می شود که در محیط vi قرار گرفته اید.همانطور که در بالا گفتیم با زدن کلید i وارد مد insert می شویم و متن مورد نظر را درون فایل می نویسیم :

Wellcom to Linux
www.Tosinso.com

بعد وارد کردن دستور بالا در فایل مورد نظر با زدن Esc از حالت insert خارج خواهید شد و با زدن wq: متن مورد نظر در فایل ذخیره شده و از ویرایشگر vi خارج خواهید شد.با چاپ کردن فایل مورد نظر خواهید دید که اطلاعات در آن ذخیره شده است.

#cat file.txt

Wellcom to Linux
www.Tosinso.com

معرفی ویرایشگر متنی Nano

nano ابزاری جدیدتر است که برای استفاده ساده و آسان تر از vi ساخته شده است. nano حالت های مختلفی ندارد. در عوض ، یک کاربر با بازکردن فایل مورد نظر می تواند تایپ را شروع کند.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

اسکریپت نویسی BASH

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

نمونه کد اسکریپت :

#!/bin/bash

# A simple script to greet a single user.

if [ $# -eq 1 ]
then
  username=$1

  echo "Hello $username!"
else
  echo "Please enter only one argument."
fi
echo "Number of arguments: $#."

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

  • همه اسکریپت ها باید با یک شبانگ شروع شوند ، که مسیر را برای مفسر مشخص می کند.(#!/bin/bash)
  • همه اسکریپت ها باید شامل توضیحاتی برای توصیف کاربرد آنها باشند.(# A simple script to greet a single user.)
  • این اسکریپت خاص با یک شرط کار می کند ، که هنگام فراخوانی به اسکریپت منتقل می شود.
  • این اسکریپت شامل یک دستور if است ، که شرایط یک متغیر داخلی $ # را آزمایش می کند. این متغیر به تعداد آرگومان ها تنظیم شده است.(if [ $# -eq 1 ])
  • اگر تعداد آرگومان های ارسالی به اسکریپت برابر با 1 باشد ، مقدار اولین آرگومان به یک متغیر جدید به نام نام کاربری منتقل می شود و اسکریپت به کاربر سلام می دهد. در غیر این صورت ، یک پیام خطا نمایش داده می شود.

انتخاب سیستم عامل

در این قیمت میخواهیم در مورد انتخاب سیستم عامل برای سیستم کامپیتوری صحبت کنیم.وقتی صحبت از سیستم عامل می شود ناخودآگاه ذهن ما سمت سیستم عامل های ویندوز نسخه های Windows 10 یا دیگر نسخه هاشون میره چون از اون سیستم عامل ها بیشتر اسفتاده کردیم.

ما در اینجا میخوایم به شما در انتخاب سیستم عامل لینوکس با توجه به کار خود انتخاب کنید و توزیع های مختلف این سیستم عامل رو تا حدی معرفی کنیم . ابتدا یک توزیع ساده ای در خصوص سیستم عامل داشته باشیم.سیستم عامل چیست؟نسخه های مختلف سیستم عامل؟ و ...

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

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

  • سیستم عامل های مبتنی بر لینوکس
    •  لینوکس سازمانی
    • لینوکس عامیانه
  • یونیکس
  • سیستم عامل مک
  • سیستم عامل های مبتنی بر ویندوز
    • ویندوز سرور
    • ویندوز دسکتاپ

خوب در اینجا ما قصد داریم سیستم عامل لینوکس رو مورد بررسی قرار بدهیم بنابراین در ادامه وقتی در مورد توزیع های مختلف سیستم عامل مثل Ubuntu , Red Hat و دیگر توزیع ها صحبت می شود منظور سیستم عامل لینوکس می باشد.

انواع توزیع های لینوکس برای سرویس دهی

ما میتونیم توزیع های مختلف لینوکس را در سه دسته بندی مختلف قرار بدیم : (توزیع های مهم)

  • توزیع های لینوکس Enterprise Grade
    •  Red Hat Enterprise Linux

    • CentOS

    • SUSE Linux Enterprise Server

    • Debian GNU/Linux

    • Ubuntu LTS

  • توزیع های لینوکس برای عموم
    • Fedora

    • Ubuntu non-LTS

    • openSUSE

  • توزیع های امنیتی
    • Arch

    • Gentoo

    • Kali Linux

البته ، این فقط یک زیرمجموعه بسیار کوچک از توزیع های لینوکس است ، و همچنین ایران هم چند توزیع مختلف لینوکس رو به عنوان سیستم عامل بومی معرفی کرده مثل : پارسیکس       شریف          قاصدک

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

معرفی توزیع های لینوکس Enterprise 

توزیع هایی مانند CentOS (Community Enterprise OS) ، RedHat یا Debian طوری طراحی شده اند که با استفاده از سخت افزار سرور ها در سازمان های بزرگ استفاده شوند. نیازهای شرکت های بزرگ بسیار متفاوت از نیازهای مشاغل کوچک یا کاربران خانگی است. شرکت های بزرگ نیازمند این می باشند که سیستم سرور خود به صورت شبانه روز در دسترسی کابران باشند و تا حد امکان سرور از دسترس خارج نشود ، بنابراین ، توزیع های لینوکس سازمانی قابل اعتماد برای این سازمان ها و شرکت ها می باشد و بیشتر استفاده این توزیع ها در سازمان ها می باشد.

توزیع های لینوکس برای عموم

توزیع هایی مانند Mint , Ubuntu بیشتر برای مشاغل کوچک یا کاربران خانگی و علاقه مندان به لینوکس مورد اسفتاده قرار می گیرد. این توزیع ها از سخت افزار های جدید پشتیبانی می کنند و داریور های جدید آن سریعتر از توزیع قبلی منتشر می شود و بروز رسانی های سریع انجام می شود.بعضی از توزیع ها مانند Ubuntu در دو نسخه ارائه می شود که یکی از نسخه های پیشنهادی برای استفاده کاربران خانگی قرار دارد و نسخه LTS ، که بیشتر برای محیط های سازمانی مناسب هستند.

توزیع های امنیتی لینوکس

توزیع هایی مانند Arch Linux یا Kali Linux در حال پیشرفت در مسائل امنیتی هستند. آنها جدیدترین نسخه های نرم افزار  امنیتی را در خود قرار داده اند . این توزیع ها توسط کاربران پیشرفته ای مانند متخصصین امنیت ، هکر ها استفاده می شود که می خواهند همیشه جدیدترین نرم افزار را در اختیار داشته باشند که جهت تست امنیتی سازمان ها و وب سایت ها می توان از این توزیع ها استفاده کرد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

برخی از توزیع های لینوکس بر گرفته شده از توزیع های دیگر است به عنوان مثال توزیع Ubuntu بر گرفته شده از توزیع اصلی Debian می باشد ، Fedora  به عنوان مثال توزیع رایگان  از نسخه  RedHat Enterprise Linux است . علاوه بر توزیع هایی که در اینجا ذکر کردیم ، بسیاری از توزیع های لینوکس دیگر نیز وجود دارد. یکی از مزایای استفاده از سیستم عامل  لینوکس ، در اختیار داشتن نرم افزار منبع باز یا رایگان بودن آن ها است .

بنابراین ما صدها توزیع دیگر از لینوکس داریم که برای مشاهده توزیع های بیشتر می توانید از وب سایت The Distro Watch استفاده نمائید ، این وب سایت 100 تا از توزیع های برتر لینوکس را لیست کرده و به شما این امکان می دهد آنچه را که در حال حاضر محبوب است مقایسه کنید و اطلاعات در مورد آن توزیع کسب کنید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

ویندوز مایکروسافت

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

همانطور که در مطب قبلی گفته شد ویندوز در دونسخه کلاینت و سروری ارائه می شود ، که کاربران خانگی می توانند از نسخه های کلاینتی ویندوز 11 و دیگر نسخه های استفاده نمایند ، و همچنین نسخه سروی آن که سرویس های خوبی در خصوص مدیریت کلاینت ها در سازمان ارائه می دهد را در خود جای داده است که امروزه برای مدیریت کلاینت ها در سازمان و شرکت ها اسفتاده می شود و بسیار محبوب می باشد . سرویس های مانند Active Directory و ... 

درک سخت افزار کامپیوتر

ما در قسمت قبل در مورد سیستم عامل صحبت کردیم و به صورت کلی سیستم عامل های مختلف را معرفی کردیم در این بخش میخواهیم ، سخت افزار های کامپیوتری به طور کلی مورد بررسی قرار بدهیم. برای درک بهتر اهمیت سخت افزار به این مسئله فکر کنید سیستم عامل دارید اما سخت افزار نداشته باشید ! یکی از وظایف اصلی سیستم عامل رابطی میان کاربر و سخت افزار کامپیوتر است. سخت افزار و نرم افزار روز به روز در حال پیشرفت می باشد بنابراین باید برای نرم افزار ها سخت افزار مناسب و برای سخت افزار ها نرم افزار مناسب انتخاب کنید.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

منبع تغذیه چیست؟

منبع تغذیه یا همون پاور کامپیوتری یکی از مولفه های اصلی یک سیستم می باشد که وظیفه تامین جریان برق مورد نیاز قطعات کامپیوتر را بر عهده دارد. هر قطعه از کامپیوتر با توجه به متن بالا نیاز به جریان برق می باشد که وظیفه تبدیل جریان AC به DC را دارد و این جریان برق برای هر قطعه با یکدیگر فرق دارد بنابراین پاور باید دارای ولتاژ های مختلف باشد که به صورت کلی ولتاژهای 12 ، 5 ، 3.3  ارائه می دهد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

در تصویر بالا دقیق تر می توانید رنگ بندی سیم های پاور سیستم و ولتاژ های خروجی را مشاهده کنید و تشخیص دهید هر رنگ چه خروجی را ارائه می دهد.

مادربرد چیست؟

برد اصلی یک سیستم می باشد که ارتباط بین قطعات مانند CPU . RAM . ... را برقرار می کند. به صورت ظاهری مادربرد از اجرائی الکترونیکی زیر تشکیل شده است :

  1. خازن 
  2. ترانزیستور 
  3. مقاومت 
  4. دیود 
  5. آی سی 
  6. ورودی های ماربرد و جامپرها

مادربرد ها یک مدار چاپی می باشد که از جنس سیلیسیم است.مادربرد همچنین از نظر اندازه ظاهری به دسته بندی مختلف تقسیم می شوند که دسته اصلی امروزه مورد استفاده قرار می گیرد EATX و ATX  است.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالزدر تصویر بالا قسمت های مختلف مادربرد جهت آشنایی اولیه نوشته شده است.


حافظه RAM چیست؟

RAM مخفف Random Access Memory می باشد. حافظه یا همون RAM که به صورت عامیانه بیشتر شناخته می شود یک حافظه برای دستورالعمل های CPU مورد استفاده قرار میگیرد. رم ها همانند قطعات دیگر نسل های مختلفی هستن که هر نسل دارای پین های مختلفی هست که می توان از نوع این پین ها نسل آن را از روی ظاهر تشخیص دهید.جدیدترین نسل رم های که امروزه در کامپیوتر مورد استفاده قرار میگیرد DDR4 می باشد.

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

ظرفیت رم ها با یکدیگر فرق دارد که امروزه ظرفیت 4 ، 8 بیشتر مورد استفاده قرار میکیرد. برای مشاهده ظرفیت رم در لینوکس و مقدار اشغال می توانید از دستور زیر استفاده کنید :

$ free -m

خروجی total used free shared buff/cache available Mem: 748 37 51 14 660 645 Swap: 99 0 99

در خروجی دستور بالا قسمت total مقدار حافظه رم را به شما نمایش می دهد و در قسمت used مقدار حافظه در حال استفاده را و قسمت بعد مقدار خالی اون رو نمایش می دهد.

پردازنده CPU چیست؟

پردازنده یا همون CPU مرکز اصلی واحد پردازش یک سیستم کامپیوتری است که تمامی پردازش های سیستم در این قسمت انجام می شود.دو شرکت اصلی سازنده CPU در دنیا 1-AMD-2     INTL  که رقابت قابل توجهی باهم دارند که CPU های ساخته شده توسط شرکت اینتل I3 I5 I7 که بیشتر استفاده می شوند و شرکت AMD به صورت ryzen3 ryzen5 ryzen7 شناخته می شود و مورد استفاده قرار میگیرد.برای دیدن مشخصات CPU در لینوکس از دستور زیر می توانید استفاده کنید :

$ lscpu

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

ذخیره سازی و تجهیزات آن

برای ذخیره سازی اطلاعات در سیستم می توانید از هارد دیسک مکانیکی HDD  و هارد الکترونیکی SSD استفاده کنید.هارد HDD از دیسک ها برای ذخیره اطلاعات در خود استفاده می کند و امروز متداول ترین هارد برای ذخیره سازی استفاده می شود و شرکت های مختلف تولید کننده این هارد ها هست که شرکت وسترن دیجیتال بیشتر مورد استفاده قرار میگیرد.هارد SSD که از چیپ برای ذخیره اطلاعات استفاده می کند و سرعت بالاتری دارد و بهترین نوع از ذخیره ساز برای نصب سیستم عامل بر روی آن جهت اجرای سریع تر برنامه ها پیشنهاد می شود.برای دیدن فضای هارد و پارتیشن ها در لینوکس می توانید از دستور زیر استفاده نمائید :

$ lsblk

کاملترین آموزش رایگان لینوکس (Linux) طبق سرفصل لینوکس اسنشیالز

  • آیا یادگیری لینوکس | Linux سخت است؟

    هم بله و هم خیر ، اگر می خواهید فقط لینوکس را نصب کنید و از آن همان کاربرد ویندوز را داشته باشید و با خط فرمان آن غریبه باشید ، لینوکس اصلا سخت نیست ، اما اگر قرار است که سیستم عامل لینوکس را درک کنید ، از آن برای راه اندازی سرویس های شبکه و البته برنامه نویسی و هک و نفوذ و ... استفاده کنید ، قطعا باید به خوبی به زیرساخت این سیستم عامل مسلط شوید و این یعنی لینوکس چندان ساده هم نیست و از محیط گرافیکی باید خارج شوید. هر چند با یادگیری لینوکس از طریق دوره های آموزشی با کیفیت ، می توانید درک بهتری از لینوکس پیدا کنید و با کیفیت تر آموزش ببینید.
  • دوره لینوکس اسنشیال | Linux Essentials چه سطحی از آموزش لینوکس است؟

    دوره لینوکس اسنشیالز ، مقدماتی ترین دوره آموزشی لینوکس است که به عنوان اولین دوره برای یادگیری لینوکس بدون هیچ پیش زمینه ای به علاقه مندان به این حوزه توصیه می شود. Linux Essentials پایه و اساس دوره های LPIC 1 و LPIC 2 است و شما را آماده ورود به دنیای لینوکس و Open Source خواهد کرد.

هادی صارمی
هادی صارمی

کارشناس شبکه

کارشناس شبکه - مدرس دوره برنامه ریزی مراکز تلفن سانترال - علاقه مند امنیت شبکه -همکاری با سازمان های نظامی و خصوصی - علاقه مند به کوهنوردی

23 آذر 1399 این مطلب را ارسال کرده

نظرات