آموزش تسلط بر لینوکس: راهنمای جامع خط فرمان

Mastering Linux: The Comprehensive Guide to the Command Line

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با باز کردن قفل قدرت لینوکس، یک مزیت تقریبا ناعادلانه به دست آورید: 70 ساعت آموزش حضوری. تنها دوره ای که به تقویت شغلی نیاز دارید: در نقش های فناوری مانند مدیر سیستم، توسعه دهنده وب، مهندس نرم افزار، مهندس DevOps، مهندس قابلیت اطمینان سایت و موارد دیگر برجسته شوید: دیگر هرگز در خط فرمان گم نخواهید شد. کارهای روزانه سریعتر و ساده تر از قبل خواهند بود. درک جامع: "چرا" پشت لینوکس را درک کنید. این باعث می شود یادگیری بصری و جذاب باشد. بدون نیاز به حفظ آزاردهنده 1:1! تعاملی و جذاب: با مثال‌های متعدد، پروژه‌های عملی، و آزمون‌ها برای تقویت و آزمایش دانش خود در یک تجربه یادگیری سرگرم‌کننده غوطه ور شوید. اسکریپت هایی با استفاده از حلقه ها، تست ها، API ها و JSON برای اتوماسیون و کارهای پیچیده بینش جامع لینوکس: درک فرآیندها، گروه های کاربر، مجوزها، و آشنایی با بوت های سیستم و پایه های ذخیره سازی راهنمای فراگیر: در دوره نهایی لینوکس غوطه ور شوید، که با دقت ساخته شده است. برای اینکه تنها منبعی باشید که همیشه به آن نیاز دارید پیش نیازها: سواد کامپیوتری پایه: آشنایی با عملیات عمومی کامپیوتر (باز کردن فایل ها، جستجو در وب،...) ذهن باز: اشتیاق به یادگیری و کشف مفاهیم جدید سیستمی برای تمرین : دسترسی به رایانه (ویندوز، مک یا لینوکس) برای اجرای شبیه‌سازی‌ها یا نصب‌های لینوکس. ما همه چیز مورد نیاز را با هم نصب خواهیم کرد - تقریباً فقط به چند گیگابایت فضای ذخیره اضافی نیاز دارید اینترنت قابل اعتماد: برای دسترسی به مطالب دوره، فیلم ها و منابع آنلاین

آیا گاهی اوقات با خط فرمان احساس گمراهی می کنید و می خواهید با اطمینان از لینوکس استفاده کنید؟ آیا می خواهید کارایی روزانه خود را افزایش دهید یا یک مزیت تقریباً ناعادلانه برای حرفه فناوری خود به دست آورید؟

این جایی است که دوره کارشناسی ارشد لینوکس ما وارد می‌شود. با رهبری یک مربی برتر Udemy با تخصص در دنیای واقعی، ما لینوکس را برای شما ساده می‌کنیم. دارای بیش از 70 ساعت محتوا، پروژه های عملی، و سناریوهای عملی، و آزمون های متعدد - این دوره تمام چیزی است که شما نیاز دارید.

غواصی کنید، مهارت‌های خود را تقویت کنید و به حرفه فناوری خود پیشرفت بزرگی بدهید.

نکات برجسته دوره:

  • تقویت شغلی: شغل خود را به جلو سوق دهید. این دوره شما را به عنوان یک مرجع محبوب لینوکس معرفی می‌کند که برای مشارکت‌های فناوری نخبه طراحی شده است.

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

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

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

ساختار این دوره چگونه است؟

  1. تسلط Bash CLI:
    با Bash به عمق رابط خط فرمان (CLI) شیرجه بزنید و وظایف فنی روزمره خود را متحول کنید. با تسلط بر این عنصر اساسی، نه تنها در محیط خط فرمان راحت خواهید بود، بلکه اعتماد به نفس لازم برای انجام یکپارچه عملیات روزانه را نیز به دست خواهید آورد.

    از اجرای دستورات اولیه تا مدیریت فایل ها، CLI ابزاری ضروری برای هر علاقه مند به لینوکس از طریق تمرینات عملی و سناریوهای دنیای واقعی ما، یاد خواهید گرفت که از Bash با دقت استفاده کنید و کارهای روزمره را آسان‌تر و کارآمدتر کنید.

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

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

  3. اسکریپت‌نویسی پیشرفته Bash:
    با دانش پایه‌ای شما، این بخش عمیق‌تر به کاربردهای دنیای واقعی اسکریپت‌نویسی Bash می‌پردازد. یاد بگیرید که کارهای تکراری را خودکار کنید، سلامت سیستم را نظارت کنید، مجموعه داده های وسیعی را پردازش کنید و به طور یکپارچه با خدمات وب یکپارچه شوید. در ساخت اسکریپت‌های پیچیده که از حلقه‌ها، آزمایش‌ها و APIها استفاده می‌کنند، غوطه‌ور شوید.

    این ماژول تضمین می‌کند که شما هم به بینش نظری و هم مهارت‌های عملی مجهز شده‌اید و برای مقابله با چالش‌های مختلف در محیط‌های فناوری مختلف آماده هستید.


چرا این دوره متمایز است:

  • یادگیری هدفمند: تأکید بر درک مطلب به جای حفظ کردن ساده.

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

  • برنامه درسی جامع: بیش از 70 ساعت محتوای تنظیم شده برای یادگیری جامع.

  • تعالی مربیگری: خرد را از استاد درجه یک Udemy جذب کنید.

  • تعاملات عملی: در پروژه هایی که منعکس کننده سناریوهای دنیای واقعی هستند، غوطه ور شوید.

  • یادگیری مشارکتی: انجمن‌های پر جنب و جوش برای بحث‌ها و پرسش‌های جمعی.

  • دسترسی ابدی: یک بار پرداخت کنید، برای همیشه سود ببرید.

آینده لینوکس خود را در آغوش بگیرید:

آیا حاضرید با لینوکس و خط فرمان با احساس گمشده خداحافظی کنید؟ آیا مشتاق هستید مانند یک حرفه ای به لینوکس فرمان دهید و به حرفه فنی خود پیشرفت قابل توجهی بدهید؟

اکنون روی دکمه ثبت نام کلیک کنید و اولین قدم را برای باز کردن قدرت لینوکس بردارید. شما چیزی برای از دست دادن ندارید و یک دنیا فرصت برای به دست آوردن!


سرفصل ها و درس ها

----- قسمت 1: مقدمه و نصب ----- ----- Part 1: INTRODUCTION & INSTALLATION -----

  • مقدمه Intro

  • بیشترین بهره را از این دوره ببرید Getting the Most out of this Course

  • اسلایدهای این دوره (به صورت pdf) Slides of this Course (as .pdf)

  • لینوکس چیست؟ What is Linux?

  • توزیع های لینوکس چیست؟ What are Linux Distributions?

  • دانش خود را در مورد شرایط پایه لینوکس آزمایش کنید Test your knowledge about Basic Linux Terms

  • نصب VirtualBox Installing VirtualBox

  • نصب اوبونتو [VirtualBox] Installing Ubuntu [VirtualBox]

  • پیکربندی اوبونتو [VirtualBox] Configuration of Ubuntu [VirtualBox]

  • برای راحتی شما: Configuration Recap For your convenience: Configuration Recap

  • نصب CentOS Stream [VirtualBox] Installing CentOS Stream [VirtualBox]

  • پیکربندی CentOS Stream [VirtualBox] Configuration of CentOS Stream [VirtualBox]

  • برای راحتی شما: Configuration Recap For your convenience: Configuration Recap

  • چگونه یک اسنپ شات بسازیم؟ [VirtualBox] How to create a Snapshot? [VirtualBox]

  • چشم انداز Outlook

[نصب بر روی MacOS با تراشه های سیلیکون اپل]: UTM [Installation on MacOS with Apple Silicon Chips]: UTM

  • مهم: فقط برای کاربران macOS Important: Only for macOS users

  • نصب UTM Installing UTM

  • نصب اوبونتو [UTM] Installing Ubuntu [UTM]

  • پیکربندی اوبونتو [UTM] Configuration of Ubuntu [UTM]

  • برای راحتی شما: Configuration Recap For your convenience: Configuration Recap

  • در حال نصب CentOS Stream [UTM] Installing CentOS Stream [UTM]

  • پیکربندی CentOS [UTM] Configuration of CentOS [UTM]

  • برای راحتی شما: Configuration Recap For your convenience: Configuration Recap

  • چشم انداز Outlook

----- قسمت 2: BASH CLI ----- ----- Part 2: BASH CLI -----

  • معرفی Bash CLI Bash CLI Intro

مراحل اول در ترمینال First Steps in the Terminal

  • مهم: اگر قبلاً از ترمینال استفاده کرده اید Important: If you've already been using the Terminal

  • راه اندازی ترمینال شما Setting up your Terminal

  • خروجی متن: فرمان 'echo' Outputting Text: the Command `echo`

  • دانش خود را در مورد First Commands تست کنید Test your knowledge about First Commands

  • نمایش و تغییر دایرکتوری فعلی: دستورات «pwd» و «cd». Displaying and Changing the Current Directory: the Commands `pwd` & `cd`

  • فهرست کردن محتوا در فهرست راهنماها: فرمان «ls». Listing Content in Directories: the Command `ls`

  • انواع مسیر: مسیرهای مطلق در مقابل مسیرهای نسبی Path Types: Absolute Paths vs. Relative Paths

  • اجرای چند دستور با استفاده از `;` Executing Multiple Commands using `;`

  • دانش خود را در مورد مسیریابی دایرکتوری آزمایش کنید Test your knowledge about Directory Navigation

  • دریافت کمک ترمینال: «man» و «--help». Getting Terminal Help: `man` and `--help`

اولین قدم با لینوکس First Steps with Linux

  • مقدمه Intro

  • مبانی مدیریت کاربر: حساب های سیستمی، کاربران عادی، ابرکاربران User Management Basics: System Accounts, Regular Users, Superusers

  • بالا بردن امتیازات: فرمان «سودو». Elevating Privileges: the Command `sudo`

  • اختیاری [عیب‌یابی]: وقتی «sudo» کار نمی‌کند Optional [Troubleshooting]: When `sudo` does not work

  • دانش خود را در مورد مدیریت امتیازات کاربر آزمایش کنید Test your knowledge about Handling User Privileges

  • مدیریت بسته چیست و چگونه کار می کند؟ What is Package Management and how does it work?

  • به روز رسانی و نصب نرم افزار در اوبونتو: apt Updating and Installing Software in Ubuntu: apt

  • به روز رسانی و نصب نرم افزار در CentOS Stream: dnf Updating and Installing Software in CentOS Stream: dnf

  • تمرین: «کاوسی» را کاوش کنید Exercise: Explore `cowsay`

  • سخنرانی اضافی (اختیاری) [MacOS]: نحوه استفاده از Bash در MacOS (قسمت 1) Extra lecture (optional) [MacOS]: How to use Bash in MacOS (Part 1)

  • سخنرانی اضافی (اختیاری) [MacOS]: نحوه استفاده از Bash در MacOS (قسمت 2) Extra lecture (optional) [MacOS]: How to use Bash in MacOS (Part 2)

مدیریت فایل (بخش 1) - سازماندهی فایل ها و فهرست ها File Management (Part 1) - Organize Files & Directories

  • مهم: اگر قبلاً از ترمینال/لینوکس استفاده کرده اید Important: If you've already been using the Terminal / Linux

  • مقدمه Intro

  • ایجاد فایل ها و دایرکتوری ها: دستورات 'touch' و 'mkdir' Creating Files and Directories: the Commands `touch` & `mkdir`

  • جابجایی و کپی کردن فایل ها: دستورات mv و cp Moving and Copying Files: the Commands `mv` & `cp`

  • حذف فایل‌ها و دایرکتوری‌ها: دستورات «rm» و «rmdir». Deleting Files and Directories: the Commands `rm` & `rmdir`

  • دانش خود را در مورد مدیریت فایل تست کنید Test your knowledge about File Management

  • مقدمه تمرین: مدیریت فایل وب سایت Exercise Intro: Website File Management

  • تمرین: مدیریت فایل وب سایت Exercise: Website File Management

  • راه حل: مدیریت فایل وب سایت Solution: Website File Management

  • انتخاب نام فایل بر اساس تطبیق الگو: گلوب با «*». File Name Selection by Pattern Matching: Globbing with `*`

  • حروف عامیانه پیشرفته: «?»، «[0-9]»، «**» Advanced Globbing Wildcards: `?`, `[0-9]`, `**`

  • دام های گلوبینگ: اجتناب از تله ها در تطبیق الگو Pitfalls of Globbing: Avoiding Traps in Pattern Matching

  • دانش خود را در مورد گلوبینگ تست کنید Test your knowledge about Globbing

  • مطالب تمرین بعدی را دانلود کنید Download the materials for the next exercise

  • تمرین: یک ساختار پوشه تو در تو را با استفاده از Globbing پیمایش کنید Exercise: Navigate a nested folder structure using Globbing

  • راه حل: یک ساختار پوشه تو در تو را با استفاده از Globbing پیمایش کنید Solution: Navigate a nested folder structure using Globbing

  • سخنرانی اضافی (اختیاری): جستجوی پیچیده فایل: برنامه «یافتن». Extra lecture (optional): Sophisticated File Searching: the Program `find`

مدیریت فایل (قسمت 2) - مدیریت فایل های متنی File Management (Part 2) - Handle Text Files

  • مقدمه Intro

  • کتاب الکترونیکی در سخنرانی بعدی The eBook in the next lecture

  • مشاهده محتوای فایل (متن): دستور «cat»، «head» و «tail». Viewing (Text) File Content: the Command `cat`, `head` and `tail`

  • خواندن فایل های متنی بزرگ: فرمان «کم». Reading Large Text Files: the Command `less`

  • شمارش کلمات و اندازه‌گیری استفاده از دیسک: برنامه‌های «wc» و «du». Counting Words and Measuring Disk Usage: the Programs `wc` & `du`

  • ویرایش متن در ترمینال: Command-Line-Editor nano Text Editing in the Terminal: the Command-Line-Editor nano

  • دانش خود را در مورد مدیریت فایل های متنی آزمایش کنید Test your knowledge about Handling Text Files

  • مقدمه تمرین: تجزیه و تحلیل یک فایل گزارش Exercise Intro: Analyze a Log File

  • مواد تمرین: تجزیه و تحلیل یک فایل گزارش Exercise Materials: Analyze a Log File

  • بررسی تمرین: تجزیه و تحلیل Logfile Exercise Check: Analyze a Logfile

  • راه حل: تجزیه و تحلیل Logfile Solution: Analyze a Logfile

تغییر مسیر - مدیریت جریان داده Redirection - Manage Data Streams

  • مقدمه Intro

  • نوشتن و الحاق به فایل‌های (متن): عملگرهای تغییر مسیر «>» و «>>» Writing and Appending to (Text) Files: the Redirection Operators `>` & `>>`

  • جریان های استاندارد: stdin، stdout، stderr The Standard Streams: stdin, stdout, stderr

  • مدیریت پیام های خطا: تغییر مسیر stderr (و stdout) Managing Error Messages: Redirecting stderr (and stdout)

  • دانش خود را در مورد جریان های استاندارد و تغییر مسیر آزمایش کنید Test your knowledge about Standard Streams and Redirection

  • تغییر مسیر stdout به stderr (قسمت 1) Redirecting stdout to stderr (Part 1)

  • تغییر مسیر stdout به stderr (قسمت 2) Redirecting stdout to stderr (Part 2)

  • تغییر مسیر stdin Redirecting stdin

  • دانش خود را در مورد تغییر مسیر پیشرفته آزمایش کنید Test your knowledge about Advanced Redirection

Pipes - پردازش داده ها از طریق Command Chaining Pipes - Data Processing through Command Chaining

  • مقدمه Intro

  • لوله (`|`) چیست؟ What is a Pipe (`|`)?

  • خروجی دوگانه: «تی» ابزار Dual Output: the Utility `tee`

  • مرتب‌سازی و حذف موارد تکراری: دستورات «sort» و «uniq». Sorting and Removing Duplicates: the Commands `sort` and `uniq`

  • جستجوی الگوها در متن: ابزار «grep». Searching for Patterns in Text: the Utility `grep`

  • جایگزینی و معکوس کردن کاراکتر: ابزارهای «tr» و «rev». Character Replacements and Reversal: the Utilities `tr` & `rev`

  • استخراج انتخابی: برنامه «برش». Selective Extraction: the Program `cut`

  • جایگزینی متن با ویرایشگر جریان «sed». Text Substitution with the Stream Editor `sed`

  • تمرین: تجزیه و تحلیل فایل لاگ سرور وب Exercise: Webserver Log File Analysis

  • مواد تمرین: تجزیه و تحلیل فایل لاگ سرور وب Exercise Material: Webserver Log File Analysis

  • بررسی تمرین: تجزیه و تحلیل فایل لاگ سرور وب Exercise Check: Webserver Log File Analysis

  • راه حل: تجزیه و تحلیل فایل لاگ وب سرور Solution: Webserver Log File Analysis

متغیرهای محیطی - پیکربندی پوسته خود را مدیریت کنید Environment Variables - Manage your Shell Configuration

  • مقدمه Intro

  • متغیرهای محیطی چیست و چگونه می توان به آنها دسترسی داشت؟ What are Environment Variables and how to access them?

  • متغیرهای محیط HOME، PWD و USER The Environment Variables HOME, PWD & USER

  • ایجاد و حذف متغیرهای محیطی: دستورات 'export' & 'unset' Creating and Deleting Environment Variables: the Commands `export` & `unset`

  • اجرای کارآمد دستور: متغیر PATH Efficient Command Execution: the variable PATH

  • سخنرانی اضافی (اختیاری): استاندارد سلسله مراتب فایل Extra lecture (optional): The File Hierarchy Standard

  • تغییر متغیر PATH Modifying the PATH variable

  • سخنرانی اضافی (اختیاری) [اسکریپت پایتون]: ایجاد فایل های اجرایی سفارشی Extra lecture (optional) [Python Script]: Creating Custom Executable Files

  • استفاده از متغیرهای محیطی برای انتقال داده ها به برنامه ها (مثال پایتون) Utilizing Environment Variables for Data Transfer into Programs (Python example)

  • پوسته پیش فرض را بازیابی کنید: متغیر SHELL Retrieve the Default Shell: the Variable SHELL

  • ذخیره پیکربندی های پوسته سفارشی: bashrc. و سایر فایل های راه اندازی Bash Storing Custom Shell Configurations: .bashrc and other Bash Startup Files

  • ویرایش فایل های راه اندازی Bash با ویرایشگر خط فرمان nano Editing Bash Startup Files with the Command-Line Editor nano

  • میانبرهای دستوری: ایجاد نام مستعار با دستور مستعار Command Shortcuts: Creating Aliases with the `alias` Command

  • تنظیم رفتار پوسته: «مجموعه» فرمان Adjusting Shell Behavior: the Command `set`

  • Fine-Tuning Shell Behavior (Bash): فرمان «shopt». Fine-Tuning Shell Behavior (Bash): the Command `shopt`

  • دانش خود را در مورد متغیرهای محیطی آزمایش کنید Test your knowledge about Environment Variables

پروژه - یک درخواست Bash سفارشی ایجاد کنید Project - Create a Custom Bash Prompt

  • مقدمه Intro

  • سفارشی کردن Shell Prompt: متغیر PS1 Customizing your Shell Prompt: the Variable PS1

  • کنترل رنگ ترمینال از طریق Escape Sequences Terminal Color Control via Escape Sequences

  • متن پررنگ در ترمینال:`infocmp` و قابلیت‌های ترمینال اضافی Bold Text in the Terminal:`infocmp` and additional Terminal Capabilitites

  • Crash-course: جایگزینی دستور «$(...)» در Bash Crash-course: Command Substitution `$(...)` in Bash

  • ساده سازی کنترل ترمینال: برنامه «tput». Streamlining Terminal Control: the Program `tput`

  • مهم: رفع PS1 برای تمرین آینده Important: PS1 fix for upcoming Exercise

  • تمرین: درخواست ترمینال خود را سفارشی کنید Exercise: Customize your Terminal Prompt

  • راه حل: درخواست ترمینال خود را سفارشی کنید Solution: Customize your Terminal Prompt

  • دانش خود را در مورد Bash Prompt Control آزمایش کنید Test your knowledge about Bash Prompt Control

گسترش پوسته - چگونه دستورات تجزیه می شوند Shell Expansions - How Commands are parsed

  • مقدمه Intro

  • گسترش نام فایل: `*`& `?` Filename Expansions: `*`& `?`

  • ارجاع به فهرست اصلی: گسترش Tilde `~` Referencing the Home Directory: the Tilde expansion `~`

  • دسترسی و دستکاری مقادیر: بسط متغیرها و پارامترها `${...}` Accessing and Manipulating Values: Variable and Parameter Expansions `${...}`

  • تقسیم کلمات و متغیر IFS Word splitting & the variable IFS

  • مکانیسم‌های نقل‌قول: بدون نقل‌قول در مقابل مظنه‌های تکی «...» در مقابل نقل‌قول‌های دوگانه «...» Quoting Mechanisms: No Quotes vs. Single Quotes '...' vs. Double Quotes "..."

  • احتیاط: مشکلات رایج در گسترش پوسته Caution: Common Pitfalls in Shell Expansions

  • فرار: کاراکتر بک اسلش `\` Escaping: the Backslash character `\`

  • گسترش رشته کاراکترها: گسترش پرانتز «{...}». Expanding Strings of Characters: the Brace Expansion `{...}`

  • اهرم خروجی فرمان: جایگزینی دستور «$(...)». Leveraging Command Output: the Command Substitution `$(...)`

  • ورودی و خروجی پویا: جایگزینی فرآیند با «<(...)`& `>(...)` Dynamic Input & Output: Process Substitution with `<(...)`& `>(...)`

  • دانش خود را در مورد گسترش پوسته آزمایش کنید Test your knowledge about Shell Expansions

  • خلاصه Recap

----- قسمت 3: LINUX ----- ----- Part 3: LINUX -----

  • قسمت 3: معرفی لینوکس Part 3: Linux Intro

فایل ها در یونیکس - مفهوم "همه چیز یک فایل است". Files on Unix - The "Everything is a File" Concept

  • مقدمه Intro

  • فایل چیست؟ What is a File?

  • ارجاع فایل های انعطاف پذیر با پیوندهای نمادین (پیوندهای نمادین) Flexible File Referencing with Symlinks (Symbolic Links)

  • سخنرانی اضافی (اختیاری) [ویندوز]: پیوندهای نمادین در ویندوز Extra lecture (optional) [Windows]: Symlinks on Windows

  • ارجاع به Inode ها با لینک های سخت Referencing Inodes with Hardlinks

  • عیب یابی: محدودیت Inode Troubleshooting: The Inode Limit

  • دستگاه چیست؟ What is a Device?

  • نمونه‌هایی از شبه‌دستگاه‌ها: «/dev/null»، «/dev/random»، «/dev/urandom»،... Examples of Pseudo-Devices: `/dev/null`, `/dev/random`, `/dev/urandom`,...

  • دانش خود را در مورد فایل ها و پیوندها آزمایش کنید Test your knowledge about Files and Links

  • بینش سیستم: فایل‌ها در پوشه «/proc». System Insights: Files in the Folder `/proc`

  • استاندارد سلسله مراتب سیستم فایل (قسمت 1):/(root)،/bin،/boot،/dev،/etc Filesystem Hierarchy Standard (Part 1): / (root), /bin, /boot, /dev, /etc

  • استاندارد سلسله مراتبی سیستم فایل (بخش 2):/home،/lib،/media،/mnt،/opt Filesystem Hierarchy Standard (Part 2): /home, /lib, /media, /mnt, /opt

  • استاندارد سلسله مراتبی سیستم فایل (قسمت 3):/proc،/root،/run،/sbin،/srv،/sys Filesystem Hierarchy Standard (Part 3): /proc, /root, /run, /sbin, /srv, /sys

  • استاندارد سلسله مراتبی سیستم فایل (قسمت 4):/tmp،/usr،/var،/lost+found Filesystem Hierarchy Standard (Part 4): /tmp, /usr, /var, /lost+found

  • ساده سازی ساختار فایل سیستم: پروژه usrmerge Streamlining Filesystem Structure: the Project usrmerge

  • دانش خود را در مورد استاندارد سلسله مراتبی سیستم فایل آزمایش کنید Test your knowledge about the Filesystem Hierarchy Standard

مدیریت کاربر لینوکس - گروه ها، مجوزها و کنترل دسترسی Linux User Management - Groups, Permissions & Access Control

  • مقدمه Intro

  • مدیریت کاربران: نقش های «/etc/passwd»، «/etc/shadow» و «/etc/group» Managing Users: The Roles of `/etc/passwd`, `/etc/shadow` & `/etc/group`

  • ایجاد و ایمن سازی کاربران جدید: «useradd» و «passwd». Creating and Securing New Users: `useradd` & `passwd`

  • سخنرانی اضافی (اختیاری): نحوه انقضای رمز عبور Extra lecture (optional): How Password Expiration works

  • تغییر گزینه های کاربر: فرمان «usermod». Change User Options: the Command `usermod`

  • حذف کاربران: فرمان «userdel». Deleting Users: the Command `userdel`

  • گروه ها چگونه کار می کنند؟ How do Groups work?

  • افزودن و حذف اعضای گروه با «usermod»، «adduser»، «deluser». Add and Remove Group Members with `usermod`, `adduser`, `deluser`

  • ایجاد و اصلاح گروه‌های سفارشی: فرمان «groupadd». Creating & Modifying Custom Groups: the Command `groupadd`

  • سوئیچ کردن کاربران: فرمان «su». Switching Users: the Command `su`

  • افزایش امتیازات کاربر با «سودو» (شیرجه عمیق) Elevating User Privileges with `sudo` (Deep Dive)

  • اجرای دستورات به عنوان کاربر متفاوت با «sudo -U». Executing Commands as Different User with `sudo -U`

  • پیکربندی پیشرفته «sudo»: فایل «/etc/sudoers». Advanced `sudo` Configuration: the File `/etc/sudoers`

  • دانش خود را در مورد کاربران و گروه ها آزمایش کنید Test your knowledge about Users & Groups

  • تخصیص و تغییر مجوزهای فایل با «chmod» و «chown». Assigning & Changing File Permissions with `chmod` & `chown`

  • تنظیم کارآمد مجوزهای فایل: «chmod» با مقادیر عددی Setting File Permissions Efficiently: `chmod` with Numerical Values

  • مدیریت مجوزها و مالکیت ها برای فهرست ها Managing Permissions and Ownerships for Directories

  • تنظیم مجوزهای پیش‌فرض فایل: فرمان «umask». Setting Default File Permissions: the Command `umask`

  • ایمن سازی دایرکتوری ها: تنظیم بیت چسبنده Securing Directories: Setting the Sticky Bit

  • مجوزهای پیشرفته فایل: SUID (تنظیم شناسه کاربر) و SGID (تنظیم شناسه گروه) Advanced File Permissions: SUID (Set User ID) and SGID (Set Group ID)

  • دانش خود را در مورد مجوزهای فایل آزمایش کنید Test your knowledge about File Permissions

  • بهترین روش ها برای مدیریت کاربر Best Practices for User Management

فرآیندهای لینوکس - سازماندهی عملیات سیستم Linux Processes - Orchestrate System Operations

  • مقدمه Intro

  • [CentOS] مهم: نکته برای کاربران CentOS Important [CentOS]: Note for CentOS Users

  • فرآیندها چیست؟ What are Processes?

  • فرآیندهای نظارت: فرمان «ps». Monitoring Processes: The `ps` Command

  • اختیاری [MacOS]: رفتار متفاوت «ps» در MacOS Optional [MacOS]: Different Behavior of `ps` on MacOS

  • سخنرانی اضافی (اختیاری): پارامترهای سبک BSD («ps aux») Extra lecture (optional): BSD-style parameters (`ps aux`)

  • بررسی سوئیچ های زمینه: نحوه عملکرد چندوظیفه ای Inspecting Context Switches: How Multitasking Works

  • کنترل اولویت های فرآیند با تنظیم زیبایی Controlling Process Priorities by Setting the Niceness

  • شناسایی شناسه‌های فرآیند با «pgrep» و تنظیم اولویت آن‌ها با «renice». Identifying Process IDs with `pgrep` and adjusting their Priority with `renice`

  • دانش خود را در مورد فرآیندها آزمایش کنید Test your knowledge about Processes

  • تأثیرگذاری بر فرآیندها با سیگنال ها Influencing Processes with Signals

  • مطالب مربوط به درس های آینده Materials regarding the Upcoming Lessons

  • ارسال سیگنال‌ها با فرمان «کشتن» و علامت وقفه Sending Signals with the `kill` command & the Interruption Signal SIGINT

  • خاتمه فرآیندهای نرم و سخت: سیگنال‌های SIGTERM در مقابل SIGKILL Terminating Processes Soft and Hard: the Signals SIGTERM vs SIGKILL

  • کنترل فرآیندها با سیگنال های SIGHUP، SIGSTOP و SIGCONT Controlling Processes with the Signals SIGHUP, SIGSTOP and SIGCONT

  • دستور 'kill' در مقابل برنامه '/usr/bin/kill' The `kill` Command vs the Program `/usr/bin/kill`

  • ارسال سیگنال به چندین فرآیند: دستور killall Sending Signals to Multiple Processes: the `killall` Command

  • پایان فرآیند: فرآیند درو، فرآیندهای یتیم و زامبی Process Endings: Process Reaping, Orphan & Zombie Processes

  • بررسی اجمالی ایالات فرآیند Overview of Process States

  • فعالیت سیستم نظارت: برنامه «بالا». Monitoring System Activity: the `top` Program

  • استفاده از «بالا» پیشرفته (شیرجه عمیق) Advanced `top` Usage (Deep Dive)

  • فعالیت سیستم مانیتورینگ: برنامه «htop» (جایگزین «بالا») Monitoring System Activity: the `htop` Program (Alternative to `top`)

  • دانش خود را در مورد سیگنال ها تست کنید Test your knowledge about Signals

کنترل شغل در Bash - عملیات پیش زمینه و پیش زمینه را پیمایش کنید Job Control in Bash - Navigate Background and Foreground Operations

  • مقدمه Intro

  • مشاغل چیست و چگونه اولین شغل پس زمینه خود را شروع کنید (با استفاده از «&») What Jobs are and how to start your First Background Job (using `&`)

  • Job Listing and Foregrounding: دستورات "jobs" و "fg". Job Listing and Foregrounding: The `jobs` and `fg` Commands

  • تعلیق و از سرگیری مشاغل با «fg». Suspending and Resuming Jobs with `fg`

  • پایان دادن به مشاغل با "کشتن". Terminating Jobs with `kill`

  • تعلیق کارها با خروجی با استفاده از «stty». Suspending Jobs with Output using `stty`

  • همگام سازی کار با فرمان «صبر». Job Synchronization with the `wait` Command

  • برنامه ها را در حال اجرا نگه دارید: فرمان «nohup» در مقابل «&». Keep Programs Running: the Command `nohup` vs `&`

  • دانش خود را در مورد مدیریت شغل آزمایش کنید Test your knowledge about Job Management

مدیریت بسته با «APT» و «dpkg» [اوبونتو] - مدیریت نرم افزار ساده Package Management with `APT` & `dpkg` [Ubuntu] - Streamline Software Handling

  • مقدمه Intro

  • نصب دستی نرم افزار با Debian Package Manager (dpkg) Installing Software manually with the Debian Package Manager (dpkg)

  • نصب دستی نرم افزار با ابزار Advanced Package Tool (APT) Installing Software manually with the Advanced Package Tool (APT)

  • مدیریت به روز رسانی و ارتقاء سیستم لینوکس با APT: بهترین روش ها Managing Linux System Updates and Upgrades with APT: Best Practices

  • حذف خودکار وابستگی های قدیمی برای حفظ یک سیستم ناب Autoremoving Old Dependencies to Maintain a Lean System

  • فایل «sources.list» و ساختار مخزن اوبونتو The file `sources.list` and Ubuntu's Repository Structure

  • مدیریت مخازن سفارشی (به عنوان مثال WineHQ) Managing Custom Repositories (by the Example of WineHQ)

  • استفاده از مخازن شخص ثالث با آرشیو بسته های شخصی (PPA) Using Third-Party Repositories with Personal Package Archives (PPAs)

  • سخنرانی اضافی (اختیاری): تأیید یکپارچگی بسته با Debsums Extra lecture (optional): Verifying Package Integrity with Debsums

  • مدیریت وابستگی با APT: حل تعارض ها و تکنیک های اشکال زدایی Dependency Management with APT: Resolving Conflicts and Debugging Techniques

  • بهترین روش ها برای حل تعارضات وابستگی با APT Best Practices for Resolving Dependency Conflicts with APT

  • سخنرانی اضافی (اختیاری): پیکربندی مجدد بسته ها پس از نصب با dpkg Extra lecture (optional): Reconfiguring Packages after Installation with dpkg

  • مدیریت بسته با اسنپ: مقابله با برنامه های کاربردی خودکفا Package Management with Snap: Dealing with Self-Contained Applications

  • دانش خود را در مورد مدیریت بسته در اوبونتو آزمایش کنید Test your knowledge about Package Management on Ubuntu

مدیریت بسته با «DNF» [CentOS] - مدیریت نرم افزار ساده Package Management with `DNF` [CentOS] - Streamline Software Handling

  • مقدمه Intro

  • قالب Red Hat Package Manager (RPM). The Red Hat Package Manager (RPM) Format

  • نصب نرم افزار به صورت دستی با مدیریت بسته DNF (Dandified Yum). Installing Software manually with the DNF (Dandified Yum) Package Manager

  • مخازن چیست؟ What are Repositories?

  • وابستگی های نرم افزاری چیست؟ What are Software Dependencies?

  • چگونه وابستگی های ضعیف کارایی نرم افزار را افزایش می دهند How Weak Dependencies Enhance Software Efficiency

  • چگونه وابستگی های ضعیف به عقب عملکرد نرم افزار را افزایش می دهند How Backward Weak Dependencies Enhance Software Functionality

  • اطلاعیه برای سخنرانی بعدی Notice for the next lecture

  • مدیریت وابستگی‌های بسته در DNF: جلوگیری از حذف‌های ناخواسته Managing Package Dependencies in DNF: Preventing Unintended Removals

  • چگونه می توان با DNF به طور ایمن ارتقا و با احتیاط کاهش داد How to Safely Upgrade and Cautiously Downgrade with DNF

  • مستثنی کردن بسته‌ها از ارتقاء برای اطمینان از سازگاری Excluding Packages from Upgrades for Ensuring Compatibility

  • متعادل کردن ثبات و راحتی سیستم با به‌روزرسانی‌های خودکار Balancing System Stability and Convenience with Automatic Updates

  • کنترل نسخه نرم افزار با ماژول های DNF برای اطمینان از پایداری (قسمت 1) Software Version Control with DNF Modules for Ensuring Stability (Part 1)

  • کنترل نسخه نرم افزار با ماژول های DNF برای اطمینان از پایداری (قسمت 2) Software Version Control with DNF Modules for Ensuring Stability (Part 2)

  • EPEL-Release: بسته‌های اضافی برای لینوکس سازمانی EPEL-Release: Extra Packages for Enterprise Linux

  • رام کردن چالش‌های وابستگی در CentOS: استراتژی‌هایی برای به‌روزرسانی‌های هموار سیستم Taming Dependency Challenges in CentOS: Strategies for Smooth System Updates

  • سخنرانی اضافی (اختیاری): انعطاف پذیری نرم افزار با Snap در CentOS و RHEL Extra lecture (optional): Software Flexibility with Snap on CentOS and RHEL

  • دانش خود را در مورد مدیریت بسته در CentOS آزمایش کنید Test your knowledge about Package Management on CentOS

فرآیند راه‌اندازی سیستم و سیستم - مکانیسم‌های راه‌اندازی را بدانید The System Boot Process & Systemd - Understand the Startup Mechanisms

  • مقدمه Intro

  • بوت لودر GRUB2: اصلاح ایمن پیکربندی برای راه اندازی سیستم لینوکس The GRUB2 Bootloader: Safely Modifying Configuration for Linux System Startup

  • پل زدن سخت افزار و نرم افزار: هسته چگونه کار می کند؟ Bridging Hardware and Software: How does a Kernel work?

  • ابزار مدیریت خدمات سیستم The Service Management Tool systemd

  • پیچیدگی در مقابل انعطاف پذیری: بحث سیستمی Complexity vs Flexibility: The systemd Controversy

  • شیرجه عمیق به مدیریت بوت و خدمات با systemd Deep Dive into Boot and Service Management with systemd

  • مدیریت آپاچی 2 به عنوان واحد سیستم: نصب، پیکربندی و کنترل Managing Apache 2 as systemd Unit: Installation, Configuration, and Control

  • گروه بندی و کنترل فرآیند: مدیریت کارآمد منابع با cgroups Process Grouping & Control: Efficient Resource Management with cgroups

  • مثال: کنترل منابع با systemd و cgroups Example: Controlling Resources with systemd and cgroups

  • اهداف سیستمی: دستیابی به حالات سیستمی کارآمد Systemd Targets: Achieving Efficient System States

  • فعال و غیرفعال کردن واحدها: مدیریت خدمات با systemctl Enabling and Disabling Units: Managing Services with systemctl

  • Systemd Unit Files: Structuring and Optimizing Services Systemd Unit Files: Structuring and Optimizing Services

  • سفارشی کردن فایل‌های واحد سیستمی (قسمت 1) Customizing systemd Unit Files (Part 1)

  • سفارشی سازی فایل های واحد سیستمی (قسمت 2) Customizing systemd Unit Files (Part 2)

  • راه اندازی برنامه در زمان راه اندازی با systemd: ایجاد و مدیریت فایل های واحد Boot-time Program Launch with systemd: Creating and Managing Unit Files

  • برنامه ریزی کارهای تاخیری با تایمرهای سیستمی: دقت و کارایی Scheduling Delayed Tasks with systemd Timers: Precision and Efficiency

  • تایمرهای پیشرفته سیستمی: برنامه ریزی دقیق با رویدادهای تقویم مکرر Advanced systemd Timers: Precision Scheduling with Repeated Calendar Events

  • Journald and journalctl: Effective System Logging and Analysis Journald and journalctl: Effective System Logging and Analysis

  • دانش خود را در مورد systemd تست کنید Test your knowledge about systemd

حجم ها، پارتیشن ها و پایه ها - سیستم های فایل را در لینوکس ادغام و مدیریت کنید Volumes, Partitions & Mounts - Integrate and Manage Filesystems in Linux

  • مقدمه Intro

  • مدیریت فضای ذخیره سازی با جداول پارتیشن: MBR در مقابل GPT Managing Storage with Partition Tables: MBR vs GPT

  • درک واحدهای ذخیره سازی: تمایز کیبی بایت، مبی بایت و موارد دیگر Understanding Storage Units: Differentiating Kibibytes, Mebibytes and more

  • اضافه کردن هارد مجازی [VirtualBox] Adding a Virtual Hard Drive [VirtualBox]

  • بررسی اجمالی سیستم های فایل و ایجاد اولین پارتیشن File Systems Overview and Creating a first Partition

  • پارتیشن بندی دیسک با «پارتد»: مدیریت CLI و بهترین روش ها Disk Partitioning with `parted`: CLI Management and Best Practices

  • حجم ها در مقابل پارتیشن ها: نصب و دسترسی به فضای ذخیره سازی Volumes vs Partitions: Mounting and Accessing Storage

  • نصب دستی درایو: افزایش انعطاف پذیری Manual Drive Mounting: Enhancing Flexibility

  • گزینه‌های نصب پارتیشن (ext4): «ro»، «rw»، «noexec»، «nosuid» و «noatime» Partition Mounting Options (ext4): `ro`, `rw`, `noexec`, `nosuid` and `noatime`

  • نصب پیشرفته و پیکربندی مجوز برای exFAT Advanced Mounting and Permission Configuration for exFAT

  • نصب کارآمد درایو با/etc/fstab Efficient Drive Mounting with /etc/fstab

  • سخنرانی اضافی (اختیاری): نصب سرورهای FTP با curlftpfs Extra lecture (optional): Mounting FTP Servers with curlftpfs

  • سخنرانی اضافی (اختیاری): ایمن کردن مانت های سرور FTP با فایل های netrc Extra lecture (optional): Securing FTP Server Mounts with .netrc Files

  • سخنرانی اضافی (اختیاری): نصب خودکار سرورهای FTP از طریق/etc/fstab Extra lecture (optional): Automatically Mounting FTP Servers through /etc/fstab

  • پروتکل SMART: نظارت بر سلامت درایو فعال The SMART Protocol: Proactive Drive Health Monitoring

  • اطمینان از یکپارچگی داده ها: بررسی سیستم فایل Ensuring Data Integrity: File System Checks

  • بررسی خودکار فایل سیستم برای قابلیت اطمینان پیشرفته [اوبونتو] Automatic File System Checks for Enhanced Reliability [Ubuntu]

  • سخنرانی اضافی (اختیاری): بازیابی داده ها از یک سیستم فایل در معرض خطر Extra lecture (optional): Recovering Data from a Compromised File System

  • کاهش سیستم های فایل و پارتیشن ها Reducing File Systems and Partitions

  • گسترش سیستم های فایل و پارتیشن ها Expanding File Systems and Partitions

  • دانش خود را در مورد Mounts آزمایش کنید Test your knowledge about Mounts

Logical Volume Manager (LVM) - ذخیره سازی را به صورت پویا مدیریت کنید Logical Volume Manager (LVM) - Handle Storage Dynamically

  • مقدمه Intro

  • یک سربالا سریع A quick heads-up

  • راه اندازی: VM با درایوهای ذخیره سازی چندگانه Setup: VM with Multiple Storage Drives

  • مدیر حجم منطقی (LVM): مدیریت ذخیره سازی انعطاف پذیر The Logical Volume Manager (LVM): Flexible Storage Management

  • یک هشدار سریع:/dev/sdb1 در مقابل/dev/sdb2 A quick heads-up: /dev/sdb1 vs. /dev/sdb2

  • راه اندازی حجم های فیزیکی با LVM Initializing Physical Volumes with LVM

  • ایجاد یک گروه حجمی با LVM Creating a Volume Group with LVM

  • ایجاد و مدیریت حجم های منطقی با LVM Creating and Managing Logical Volumes with LVM

  • گسترش گروه های حجم و حذف ایمن حجم های فیزیکی در LVM Expanding Volume Groups & Safely Removing Physical Volumes in LVM

  • تغییر اندازه حجم های منطقی با LVM Resizing Logical Volumes with LVM

  • از بین بردن LVM: حذف ایمن حجم ها و گروه های منطقی Dismantling LVM: Safely Removing Logical Volumes and Groups

  • فرآیند بوت CentOS با یکپارچه سازی LVM CentOS Boot Process with LVM Integration

  • ویژگی های پیشرفته LVM: RAID، حجم نازک، و عکس فوری Advanced LVM Features: RAID, Thin Volumes, and Snapshot

  • دانش خود را در مورد LVM تست کنید Test your knowledge about LVM

فصل اضافی (اختیاری): آموزش کامل ارتقاء نرم افزار و عیب یابی Extra chapter (optional): Full Software Upgrade & Troubleshooting Tutorial

  • مقدمه Intro

  • ارتقاء کامل نرم افزار در اوبونتو Full Software Upgrade on Ubuntu

  • عیب یابی: شناسایی مشکلات هسته و تسهیل پشتیبان گیری از داده ها Troubleshooting: Identifying Kernel Issues & Facilitating Data Backup

  • حل: استفاده از «chroot» و پیکربندی GRUB برای بازیابی Solving: Using `chroot` and GRUB Configuration for Recovery

  • پیشگیری: حفاظت از هسته Prevention: Kernel Safeguarding

  • Outro: بهترین شیوه ها و چالش های رایج Outro: Best Practices and Common Challenges

  • دانش خود را در مورد این فصل آزمایش کنید Test your knowledge about this Chapter

فصل اضافی (اختیاری): Cron Jobs - خودکارسازی و برنامه ریزی وظایف Extra chapter (optional): Cron Jobs - Automate and Schedule Tasks

  • مقدمه Intro

  • بررسی اجمالی انواع کرون: «vixie-cron»، «anacron» و «cronie» Cron Variants Overview: `vixie-cron`, `anacron` & `cronie`

  • فایل‌های Cron Daemon «crond» و Crontab: ویرایش و مجوزها The Cron Daemon `crond` & Crontab Files: Editing and Permissions

  • زمان‌بندی کار در فایل‌های Crontab: درک نحو Crontab Task Scheduling in Crontab Files: Understanding the Crontab Syntax

  • مدیریت خروجی Cron: اعلان‌های ایمیل و پیکربندی MAILTO [اوبونتو] Managing Cron Output: Email Notifications & MAILTO Configuration [Ubuntu]

  • مدیریت خروجی Cron: اعلان ایمیل و ادغام «sendmail» [CentOS] Managing Cron Output: Email Notification & `sendmail` Integration [CentOS]

  • دستور "flock": اطمینان از سازگاری داده ها از طریق قفل کردن فایل The `flock` command: Ensuring Data Consistency through File Locking

  • فایل/etc/crontab: تعریف وظایف سیستم The /etc/crontab File: Defining System-Wide Tasks

  • مدیریت وظایف با آناکرون: زمان‌بندی انعطاف‌پذیر [اوبونتو] Managing Tasks with anacron: Flexible Scheduling [Ubuntu]

  • مدیریت وظایف با anacron: زمان‌بندی انعطاف‌پذیر [CentOS] Managing Tasks with anacron: Flexible Scheduling [CentOS]

  • بهترین روش ها برای Cron Jobs: برنامه ریزی هوشمند، امنیت و نگهداری Best Practices for Cron Jobs: Smart Scheduling, Security and Maintenance

  • دانش خود را در مورد کرون جابز آزمایش کنید Test your knowledge about Cron Jobs

شبکه - ترتیب و مدیریت کانال های ارتباطی لینوکس Networking - Arrange and Manage Linux Communication Channels

  • مقدمه Intro

  • اینترنت چیست؟ What is the Internet?

  • دستور «ip»: بررسی تنظیمات شبکه The `ip` command: Inspecting Network Configurations

  • ابزار Wireshark: نظارت بر ترافیک شبکه (شامل ملاحظات اخلاقی) The tool Wireshark: Monitoring Network Traffic (incl. Ethical Considerations)

  • بررسی اجمالی: مدل اتصال سیستم های باز (OSI). Overview: The Open Systems Interconnection (OSI) model

  • لایه OSI 1/7: لایه فیزیکی OSI Layer 1/7: The Physical Layer

  • مدیریت لایه 1: کنترل دستگاه های فیزیکی با نرم افزار Managing Layer 1: Controlling Physical Devices with Software

  • لایه OSI 2/7: لایه پیوند داده OSI Layer 2/7: The Data Link Layer

  • درک سخت افزار لایه 2: پل ها، سوئیچ ها و نقاط دسترسی بی سیم Understanding Layer 2 Hardware: Bridges, Switches and Wireless Access Points

  • لایه OSI 3/7: لایه شبکه OSI Layer 3/7: The Network Layer

  • چگونه زیرشبکه ها کارایی شبکه را افزایش می دهند How Subnets enhance Network Efficiency

  • Subnet Mask چیست و چگونه کار می کند؟ What are Subnet Masks and how do they work?

  • پروتکل وضوح آدرس (ARP): دینامیک انتقال بسته IP The Address Resolution Protocol (ARP): the Dynamics of IP Packet Transmission

  • مدیریت آدرس‌های IP با دستور «ip»: فهرست‌بندی، افزودن و حذف Managing IP Addresses with the `ip` command: Listing, Adding & Removing

  • پیمایش مسیریابی شبکه: بازرسی جداول مسیریابی و افزودن مسیرها Navigating Network Routing: Inspecting Routing Tables & adding Routes

  • پروتکل پیکربندی میزبان پویا (DHCP): مدیریت آدرس های IP در شبکه ها Dynamic Host Configuration Protocol (DHCP): Managing IP Addresses on Networks

  • بررسی گزارش‌های DHCP با «systemd-networkd»: عیب‌یابی مشکلات آدرس IP Inspecting DHCP Logs with `systemd-networkd`: Troubleshooting IP Address Issues

  • بررسی گزارش‌های DHCP با «NetworkManager»: عیب‌یابی مشکلات آدرس IP Inspecting DHCP Logs with `NetworkManager`: Troubleshooting IP Address Issues

  • برنامه 'ping': بررسی اتصال شبکه توسط ICMP The program `ping`: Inspecting Network Connectivity by ICMP

  • کاوش مسیرهای شبکه با «traceroute»: تشخیص تأخیر و مسیریابی Exploring Network Routes with `traceroute`: Diagnosing Latency and Routing

  • "traceroute" چگونه کار می کند: نقشه برداری از مسیرهای بسته اینترنت و TTL How `traceroute` works: Mapping Internet Packet Paths and TTL

  • دانش خود را در مورد لایه شبکه آزمایش کنید Test your knowledge about the Network Layer

  • لایه OSI 4/7: لایه حمل و نقل OSI Layer 4/7: The Transport Layer

  • پورت های TCP (پروتکل کنترل انتقال): کلید مسیریابی داده ها TCP (Transmission Control Protocol) Ports: The Key to Data Routing

  • پورت های ضروری TCP و UDP Essential TCP & UDP Ports

  • فرآیند دست دادن TCP: ایجاد اتصالات شبکه قابل اعتماد The TCP Handshake Process: Establishing Reliable Network Connections

  • اسکن پورت با Nmap Port Scanning with Nmap

  • انواع اسکن در Nmap: TCP-SYN-Scan، TCP-connect-scan و UDP-scan Scan Types in Nmap: TCP-SYN-Scan, TCP-connect-scan and UDP-scan

  • سخنرانی اضافی (اختیاری): ترجمه آدرس شبکه (NAT) Extra lecture (optional): Network Address Translation (NAT)

  • OSI Layer 5/7: The Session Layer OSI Layer 5/7: The Session Layer

  • لایه OSI 6/7: لایه ارائه OSI Layer 6/7: The Presentation Layer

  • لایه OSI 7/7: لایه کاربردی OSI Layer 7/7: The Application Layer

  • پروتکل سیستم نام دامنه (DNS): حل نام دامنه به آدرس های IP The Domain Name System (DNS) Protocol: Resolving Domain Names to IP Addresses

  • دستور "host" و انواع رکوردهای DNS: A، AAAA، CNAME، MX و NS The `host` command & DNS Records Types: A, AAAA, CNAME, MX and NS

  • سخنرانی اضافی (اختیاری): رزولوشن دستی DNS با دستور «حفاری». Extra lecture (optional): Manual DNS Resolution with the `dig` command

  • آسیب پذیری های DNS و اقدامات امنیتی DNS Vulnerabilities and Security Measures

  • نگاشت دستی Domain-IP: ویرایش فایل «/etc/hosts» در لینوکس Manual Domain-IP Mapping: Editing the `/etc/hosts` File on Linux

  • استاندارد mDNS (Multicast DNS): پیکربندی نام هاست در شبکه های محلی The mDNS (Multicast DNS) Standard: Configuring Hostnames in Local Networks

  • پروتکل انتقال ابرمتن (HTTP): بازرسی مرورگر و تست Telnet The Hypertext Transfer Protocol (HTTP): Browser Inspection and Telnet Testing

  • نمای کلی IPv6: مزایا، امنیت پیشرفته و انتقال دو پشته IPv6 Overview: Advantages, Enhanced Security and Dual-Stack Transition

  • دانش خود را در مورد لایه های OSI تست کنید Test your knowledge about OSI Layers

SSH - اتصال ایمن به سرورهای راه دور SSH - Securely Connect to Remote Servers

  • مقدمه Intro

  • پوسته امن (SSH) چیست؟ What is the Secure Shell (SSH)?

  • شبکه سازی (پلی شده) Networking (bridged)

  • شبکه (NAT) Networking (NAT)

  • اولین اتصال SSH ما Our first SSH Connection

  • نکات امنیتی (قسمت 1، پورت) Security tips (part 1, port)

  • نکات امنیتی (بخش 1، پورت) [CentOS] Security tips (part 1, port) [CentOS]

  • نکات امنیتی (قسمت 2، کاربران) Security tips (part 2, users)

  • چگونه خود را قفل نکنیم How to Not Lock Yourself Out

  • کلید خصوصی عمومی Public Private Key

  • غیرفعال کردن ورود رمز عبور Disabling Password Login

  • چگونه یک اتصال را باز نگه داریم How to Keep a Connection Open

  • اثر انگشت Fingerprints

  • انتقال فایل با SFTP File transfers with SFTP

  • صفحه نمایش ابزار The Utility Screen

  • دانش خود را در مورد SSH تست کنید Test your knowledge about SSH

پروژه: راه اندازی یک وب سرور Project: Set up a Web Server

  • مقدمه Intro

  • راه اندازی لامپ The LAMP Setup

  • در حال نصب LAMP [CentOS] Installing LAMP [CentOS]

  • نصب LAMP [اوبونتو] Installing LAMP [Ubuntu]

  • چگونه آپاچی را پیکربندی کنیم؟ How to configure Apache?

  • پیکربندی آپاچی [CentOS] Configuration of Apache [CentOS]

  • افزودن پورت به httpd [CentOS] Adding a Port to httpd [CentOS]

  • پیکربندی آپاچی 2 [اوبونتو] Configuration of Apache2 [Ubuntu]

  • VirtualHost چگونه کار می کند؟ How does a VirtualHost work?

  • ایجاد هاست مجازی [CentOS] Creating a VirtualHost [CentOS]

  • ایجاد هاست مجازی [اوبونتو] Creating a VirtualHost [Ubuntu]

  • Log Files چگونه کار می کنند؟ How do the Log Files work?

  • دانش خود را در مورد راه اندازی وب سرور آزمایش کنید (قسمت 1) Test your knowledge about Web Server Setup (Part 1)

  • PHP [CentOS] PHP [CentOS]

  • PHP [اوبونتو] PHP [Ubuntu]

  • راه اندازی MySQL Setting up MySQL

  • ایجاد یک کاربر مدیریت MySQL Creating a MySQL Admin User

  • نصب phpmyadmin [CentOS] Installing phpmyadmin [CentOS]

  • نصب phpmyadmin [اوبونتو] Installing phpmyadmin [Ubuntu]

  • آماده سازی DB برای وردپرس Preparing the DB for WordPress

  • نصب وردپرس Installation of WordPress

  • نحوه لغو تنظیمات از طریق htaccess How to Override Configuration via htaccess

  • چگونه یک دایرکتوری را با رمز عبور محافظت کنیم How to Password Protect a Directory

  • از طریق Tunnel به phpmyadmin دسترسی پیدا کنید Access phpmyadmin through Tunnel

  • دانش خود را در مورد راه اندازی وب سرور آزمایش کنید (قسمت 2) Test your knowledge about Web Server Setup (Part 2)

فصل اضافی (اختیاری): فایروال - کنترل ترافیک شبکه Extra chapter (optional): Firewall - Control Network Traffic

  • مقدمه Intro

  • چرا ما به فایروال نیاز داریم Why we need a Firewall

  • چرا ما iptable ها را یاد نمی گیریم Why we are not learning iptables

  • معماری دیوار آتش The Architecture of firewalld

  • نصب فایروال در اوبونتو Installing firewalld on Ubuntu

  • خدمات در فایروال چیست؟ What are Services in firewalld?

  • خدمات باز و بسته شدن Opening and Closing Services

  • مناطق در فایروال Zones in firewalld

  • فایروال Outlook Outlook firewalld

  • دانش خود را در مورد فایروال ها تست کنید Test your knowledge about Firewalls

SELinux (لینوکس تقویت‌شده امنیتی) - سیاست‌های کنترل دسترسی قوی را اعمال کنید SELinux (Security Enhanced Linux) - Enforce Robust Access Control Policies

  • مقدمه Intro

  • کنترل دسترسی اختیاری Discretionary Access Control

  • مشکل با کنترل دسترسی اختیاری The Problem with Discretionary Access Control

  • کنترل دسترسی اجباری Mandatory Access Control

  • فعال و غیرفعال کردن SELinux Enabling and Disabling SELinux

  • زمینه های فایل در SELinux File Contexts in SELinux

  • چگونه SELinux از شما محافظت می کند How SELinux Protects you

  • تغییر متن فایل ('chcon'، 'restorecon') Changing File Context (`chcon`, `restorecon`)

  • تنظیم زمینه های پیش فرض (`semanage fcontext`) Setting Default Contexts (`semanage fcontext`)

  • دانش خود را در مورد SELinux آزمایش کنید (قسمت 1) Test your knowledge about SELinux (Part 1)

  • ویژگی های امنیتی فرآیندها Security Attributes of Processes

  • نگاهی گذرا به سیاست SELinux A quick look at the SELinux Policy

  • خط مشی هدفمند و نحوه شروع فرآیندها Targeted Policy and how Processes are Started

  • SELinux Booleans SELinux Booleans

  • نحوه رفع تخلفات خط مشی How to fix Policy Violations

  • مدیریت پورت ها Managing Ports

  • غیرفعال کردن SELinux در هنگام بوت Disabling SELinux during Boot

  • خلاصه و چشم انداز Summary and Outlook

  • دانش خود را در مورد SELinux آزمایش کنید (قسمت 2) Test your knowledge about SELinux (Part 2)

توزیع‌های لینوکس - مناظر از Red Hat تا Arch Linux را کاوش کنید Linux Distributions - Explore the Landscape from Red Hat to Arch Linux

  • مقدمه Intro

  • خانواده Red Hat: Fedora، CentOS Stream، Red Hat Enterprise Linux The Red Hat family: Fedora, CentOS Stream, Red Hat Enterprise Linux

  • خانواده گسترده Red Hat: Rocky Linux، AlmaLinux، Oracle Linux The extended Red Hat family: Rocky Linux, AlmaLinux, Oracle Linux

  • خانواده دبیان: دبیان، اوبونتو، کالی لینوکس، سیستم عامل رزبری پای، لینوکس مینت The Debian family: Debian, Ubuntu, Kali Linux, Raspberry Pi OS, Linux Mint

  • لینوکس اوبونتو و انواع آن: سرور اوبونتو، کوبونتو، ژوبونتو، لوبونتو Ubuntu Linux and its variants: Ubuntu Server, Kubuntu, Xubuntu, Lubuntu

  • خانواده SUSE: SUSE Linux Enterprise، openSUSE: Leap & Tumbleweed The SUSE family: SUSE Linux Enterprise, openSUSE: Leap & Tumbleweed

  • آرچ لینوکس Arch Linux

  • جنتو لینوکس Gentoo Linux

  • چگونه یک توزیع لینوکس انتخاب کنیم؟ How to choose a Linux Distribution?

----- قسمت 4: BASH SCRIPTING ----- ----- Part 4: BASH SCRIPTING -----

  • قسمت 4: مقدمه اسکریپت Bash Part 4: Bash Scripting Intro

اصول اولیه اسکریپت Bash (قسمت 1) - متغیرهای اهرمی برای اسکریپت های پویا Bash Scripting Basics (Part 1) - Leverage Variables for Dynamic Scripts

  • مقدمه Intro

  • اولین اسکریپت Bash ما Our first Bash Script

  • شبانگ چیست؟ What is a Shebang?

  • نظرات در Bash Comments in Bash

  • متغیرها در Bash Variables in Bash

  • متغیرهای Bash در مقابل متغیرهای محیطی Bash Variables vs. Environment Variables

  • چگونه یک متغیر را اعلام نکنیم How to not declare a Variable

  • دستور "اعلان". The `declare` command

  • عدم تنظیم متغیرها Unsetting Variables

  • دانش خود را در مورد مبانی اسکریپت نویسی Bash آزمایش کنید Test your knowledge about Bash Scripting Basics

  • خواندن ورودی («خواندن») Reading Input (`read`)

  • استفاده از «خواندن» پیشرفته Advanced `read` Usage

  • خواندن محتویات یک فایل Reading the Contents of a File

  • بیایید یک برنامه بسازیم Let's Create a Program

  • تمرین (نمای کلی): اسکریپت اطلاعات سیستم Exercise (Overview): System Info Script

  • تمرین: اسکریپت شروع راه حل من Exercise: The starting script for my solution

  • راه حل: اسکریپت اطلاعات سیستم Solution: System Info Script

  • راه حل (دانلود): اسکریپت اطلاعات سیستم Solution (download): System Info Script

اصول اسکریپت نویسی Bash (قسمت 2) - اسکریپت های قوی بسازید Bash Scripting Basics (Part 2) - Build Robust Scripts

  • مقدمه Intro

  • لوله در مقابل جایگزینی فرآیند Pipe vs Process Substitution

  • تقسیم یک اسکریپت به چندین فایل Splitting a Script into Multiple Files

  • ایجاد یک اسکریپت از طریق PATH Making a Script accessible through PATH

  • بهترین روش ها برای اسکریپت های شل Best Practices for Shell Scripts

  • مسیرها در اسکریپت های شل Paths in Shell Scripts

  • برنامه "shellcheck". The `shellcheck` Program

  • نوشتن اسکریپت های پوسته با کد ویژوال استودیو Writing Shell Scripts with Visual Studio Code

متغیرهای عددی و عملیات حسابی - کار با داده های عددی Numeric Variables & Arithmetic Operations - Work with Numerical Data

  • مقدمه Intro

  • ریاضی پایه در Bash Basic Math in Bash

  • متغیرهای عدد صحیح Integer Variables

  • ints را در Bash بخوانید Read ints in Bash

  • دانش خود را در مورد متغیرهای عددی آزمایش کنید Test your knowledge about Numeric Variables

  • نحوه استفاده از اعشار How to use Decimals

  • سخنرانی اضافی (اختیاری): «awk». Extra lecture (optional): `awk`

دسترسی به داده های خارجی - داده های JSON را از API ها بازیابی کنید Access External Data - Retrieve JSON Data from APIs

  • مقدمه Intro

  • نحوه عملکرد یک درخواست HTTP How an HTTP Request works

  • [ویندوز]: git Bash Environment را روی ویندوز نصب کنید [Windows]: Install git Bash Environment on Windows

  • اولین گام‌ها با «فرش». First steps with `curl`

  • سخنرانی اضافی (اختیاری): نحوه عملکرد نوار دانلود از «curl». Extra lecture (optional): How the Download Bar from `curl` works

  • JSON چیست؟ What is JSON?

  • برنامه jq The Program jq

  • دانش خود را در مورد API و JSON آزمایش کنید Test your knowledge about APIs & JSON

  • تمرین (مواد): واکشی داده های آب و هوا Exercise (Materials): Fetch Weather Data

  • تمرین (نمای کلی): داده های آب و هوا را واکشی کنید Exercise (Overview): Fetch Weather Data

  • راه حل (مواد): واکشی داده های آب و هوا Solution (Materials): Fetch Weather Data

  • راه حل: واکشی داده های آب و هوا (بخش 1؛ API) Solution: Fetch Weather Data (Part 1; API)

  • راه حل: واکشی داده های آب و هوا (بخش 2؛ JSON) Solution: Fetch Weather Data (Part 2; JSON)

تست ها و بند «اگر» - اجرای ارزیابی های منطقی و منطق شرطی Tests & the `if` Clause - Implement Logical Evaluations & Conditional Logic

  • مقدمه Intro

  • کدهای خروج Exit Codes

  • فرمان های زنجیره ای Chaining Commands

  • زنجیر کردن دستورات با OR Chaining Commands with OR

  • آزمایش مقادیر Testing values

  • بیانیه «اگر» در Bash The `if` Statement in Bash

  • دانش خود را در مورد Tests in Bash و عبارت «if» آزمایش کنید (قسمت 1) Test your knowledge about Tests in Bash and `if` Statements (Part 1)

  • بیانیه «الف». The `elif` Statement

  • مقایسه رشته ها Comparing Strings

  • تطبیق الگو Pattern Matching

  • بررسی فایل ها Checking for Files

  • تست های عددی Numeric Tests

  • شرایط پیچیده تر More Complex Conditions

  • تمرین (ماده): دانلود فایل مشروط Exercise (Material): Conditional File Download

  • تمرین (نمای کلی): دانلود فایل مشروط Exercise (Overview): Conditional File Download

  • راه حل (مواد): دانلود فایل مشروط Solution (Material): Conditional File Download

  • راه حل: دانلود فایل مشروط Solution: Conditional File Download

  • چگونه تست نکنیم How not to Test

  • بیانیه «مورد». The `case` Statement

  • دانش خود را در مورد Tests در Bash و عبارت «if» آزمایش کنید (قسمت 2) Test your knowledge about Tests in Bash and `if` Statements (Part 2)

حلقه‌های «while» - از جریان‌های کنترل تکراری استفاده کنید `while` loops - Utilize Iterative Control Flows

  • مقدمه Intro

  • مواد Materials

  • اولین حلقه "while". A first `while` Loop

  • "شکستن" و "ادامه". `break` and `continue`

  • خواندن یک فایل خط به خط Reading a File Line by Line

  • دانش خود را در مورد حلقه های «while» آزمایش کنید Test your knowledge about `while` Loops

  • تمرین (مواد): دانلود انبوه تصویر Exercise (Material): Bulk Image Download

  • تمرین (نمای کلی): دانلود انبوه تصویر Exercise (Overview): Bulk Image Download

  • راه حل (مواد): دانلود انبوه تصویر Solution (Material): Bulk Image Download

  • راه حل: دانلود انبوه تصویر (قسمت 1) Solution: Bulk Image Download (Part 1)

  • راه حل: دانلود انبوه تصویر (قسمت 2) Solution: Bulk Image Download (Part 2)

حلقه‌های «for» - دنباله‌های داده را طی کنید `for` Loops - Traverse Data Sequences

  • مقدمه Intro

  • مواد Materials

  • نوشتن اولین حلقه «for». Writing a first `for` Loop

  • عبارت توالی و حلقه های «for». Sequence expression and `for` Loops

  • توسعه های اضافی Additional Expansions

  • حلقه‌های جایگزینی فرمان و «for». Command Substitution and `for` Loops

  • عبارات حسابی و حلقه های «for». Arithmetic Expressions and `for` Loops

  • دانش خود را در مورد حلقه های «for» آزمایش کنید Test your knowledge about `for` Loops

پروژه: تولید خودکار تصاویر کوچک (با استفاده از ImageMagick) Project: Automated Thumbnail Generation (using ImageMagick)

  • مقدمه Intro

  • مواد Materials

  • در حال نصب ImageMagick Installing ImageMagick

  • استعلام تصاویر Querying Images

  • تبدیل تصاویر Converting Images

  • کار با نام فایل ها Working with Filenames

  • تمرین: تولید خودکار تصاویر بند انگشتی Exercise: Automated Thumbnail Generation

  • راه حل (مواد): تولید خودکار ریز عکسها Solution (Materials): Automated Thumbnail Generation

  • راه حل: تولید خودکار ریز عکسها Solution: Automated Thumbnail Generation

تعامل کاربر با «انتخاب»، «گفتگو» و zenity - منوهای تعاملی Craft User Interaction with `select`, `dialog`, and zenity - Craft Interactive Menus

  • مقدمه Intro

  • مواد Materials

  • ساختار «انتخاب». The `select` Construct

  • مثال: "انتخاب" و "مورد" در عمل Example: `select` and `case` in Action

  • نصب برنامه "گفتگو". Installing the `dialog` Program

  • ایجاد اولین دیالوگ (msgbox) Creating a first Dialog (msgbox)

  • ایجاد یک دیالوگ "yesno". Creating a "yesno" Dialog

  • ایجاد یک گفتگوی ورودی متن Creating a Text Input Dialog

  • ایجاد منوها Creating Menus

  • دیالوگ های رابط کاربری گرافیکی با zenity GUI dialoges with zenity

  • دانش خود را در مورد منوهای تعاملی آزمایش کنید Test your knowledge about Interactive Menus

  • تمرین: مدیریت دانش آموزان تعاملی Exercise: Interactive Students Administration

  • راه حل (مواد): مدیریت دانشجویان تعاملی Solution (Materials): Interactive Students Administration

  • راه حل: مدیریت دانشجویان تعاملی Solution: Interactive Students Administration

Arguments In Bash - پردازش ورودی خط فرمان در اسکریپت Arguments In Bash - Process Command Line Input within Scripts

  • مقدمه Intro

  • مواد Materials

  • پذیرش استدلال Accepting Arguments

  • دستور "shift". The `shift` command

  • "shift" و "while". `shift` and `while`

  • دستور "getopts". The `getopts` command

  • پذیرش چندین گزینه ("getopts"، "while") Accepting Multiple Options (`getopts`, `while`)

  • پذیرش گزینه ها با استدلال Accepting Options with Arguments

  • دانش خود را در مورد Arguments تست کنید Test your knowledge about Arguments

توابع - اسکریپت های با ساختار مناسب بنویسید Functions - Write Well-Structured Scripts

  • مقدمه Intro

  • ایجاد اولین تابع Creating a first Function

  • متغیرهای درون یک تابع Variables within a Function

  • تبدیل داده ها به یک تابع Getting Data into a Function

  • خروج داده ها از یک تابع Getting Data out of a Function

  • دانش خود را در مورد توابع آزمایش کنید Test your knowledge about Functions

  • پروژه (نمای کلی): بازی چیزهای بی اهمیت Project (Overview): Trivia Game

  • مواد Materials

  • پروژه (تمرین): بازی چیزهای بی اهمیت (قسمت 1) Project (Exercise): Trivia Game (Part 1)

  • پروژه (راه حل): بازی چیزهای بی اهمیت (قسمت 2) Project (Solution): Trivia Game (Part 2)

  • پروژه (راه حل): بازی چیزهای بی اهمیت (قسمت 3) Project (Solution): Trivia Game (Part 3)

  • پروژه (راه حل): بازی چیزهای بی اهمیت (قسمت 4) Project (Solution): Trivia Game (Part 4)

  • پروژه: بازی چیزهای بی اهمیت (قسمت 5: ترتیب تصادفی) Project: Trivia Game (Part 5: random order)

  • پروژه: بازی Trivia (قسمت 6: آخرین لمس) Project: Trivia Game (Part 6: final touches)

آرایه ها در Bash - مجموعه های داده را مدیریت و دستکاری کنید Arrays in Bash - Manage and Manipulate Data Collections

  • مقدمه Intro

  • مواد Materials

  • اولین آرایه ما Our first Array

  • دسترسی به یک آرایه Accessing an Array

  • رونویسی عناصر آرایه Overwriting Array Elements

  • دانش خود را در مورد آرایه ها آزمایش کنید (1/3) Test your knowledge about Arrays (1/3)

  • عملیات آرایه Array Operations

  • کپی کردن یک آرایه Copying an Array

  • "برای" و "انتخاب". `for` and `select`

  • دانش خود را در مورد آرایه ها آزمایش کنید (2/3) Test your knowledge about Arrays (2/3)

  • خروجی برنامه به آرایه Output of Program to Array

  • خروجی به آرایه ('readarray') Output to Array (`readarray`)

  • چگونه بررسی کنیم که آیا یک آرایه حاوی عنصر خاصی است یا خیر How to check if an Array contains a specific Element

  • آرایه های انجمنی Associative Arrays

  • دانش خود را در مورد آرایه ها آزمایش کنید (3/3) Test your knowledge about Arrays (3/3)

  • تمرین (نمای کلی): نظارت بر ذخیره‌سازی فهرست Exercise (Overview): Directory Storage Monitor

  • راه حل (مواد): راهنمای ذخیره سازی مانیتور Solution (Material): Directory Storage Monitor

  • راه حل: راهنمای ذخیره سازی مانیتور Solution: Directory Storage Monitor

  • سخنرانی اضافی (اختیاری) (بهبود): راهنمای ذخیره سازی مانیتور Extra lecture (optional) (Enhancement): Directory Storage Monitor

پروژه: ساخت یک اسکریپت پشتیبان با آرشیو و فشرده سازی Project: Build a Backup Script with Archiving and Compression

  • مقدمه Intro

  • مواد Materials

  • کار با آرشیو Working with Archives

  • فشرده سازی (gz، bz2، xz) Compression (gz, bz2, xz)

  • ایجاد دستی یک فایل tar.bz2 Manually creating a .tar.bz2 file

  • ایجاد خودکار یک فایل tar.bz2 Automatically creating a .tar.bz2 file

  • تمرین: یک اسکریپت پشتیبان بنویسید Exercise: Write a Backup Script

  • تمرین (نکات): یک اسکریپت پشتیبان بنویسید (تاریخ) Exercise (Hints): Write a Backup Script (date)

  • راه حل (مواد): یک اسکریپت پشتیبان بنویسید Solution (Materials): Write a Backup Script

  • راه حل: یک اسکریپت پشتیبان بنویسید (قسمت 1) Solution: Write a Backup Script (Part 1)

  • راه حل: یک اسکریپت پشتیبان بنویسید (قسمت 2: افزودن حلقه «for») Solution: Write a Backup Script (Part 2: adding `for` Loop)

  • راه حل: یک اسکریپت پشتیبان بنویسید (بخش 3: خطای Handlung I) Solution: Write a Backup Script (Part 3: Error Handlung I)

  • راه حل: یک اسکریپت پشتیبان بنویسید (قسمت 4: خطای Handlung II) Solution: Write a Backup Script (Part 4: Error Handlung II)

فیلتر کردن داده های موثر با «grep» و عبارات منظم (regex) Effective Data Filtering with `grep` and Regular Expressions (regex)

  • مقدمه Intro

  • اولین جستجو با "grep". A first search with `grep`

  • مهم ترین گزینه ها برای "grep". Most important options for `grep`

  • داده های مسابقه بعدی Data for the next Quiz

  • دانش خود را در مورد استفاده پایه «grep -F» آزمایش کنید Test your knowledge about Basic Usage of `grep -F`

  • گزینه های بیشتر برای `grep` More options for `grep`

  • ترکیب چندین دستور 'grep' در یک خط لوله Combining multiple `grep` commands in a pipeline

  • استخراج اطلاعات خاص با 'grep' و 'cut' Extracting specific information with `grep` and `cut`

  • داده های مسابقه بعدی Data for the next Quiz

  • دانش خود را در مورد استفاده پیشرفته از «grep -F» آزمایش کنید Test your knowledge about Advanced Usage of `grep -F`

  • طعم عبارات منظم Flavors of Regular Expressions

  • متاکاراکتر اول: `. ` First Metacharacter: `. `

  • متاکاراکترهای بیشتر: `^`, `$`, `\` More Metacharacters: `^`, `$`, `\`

  • کمیت اول: `*` First Quantifier: `*`

  • داده های مسابقه بعدی Data for the next Quiz

  • دانش خود را در مورد BRE آزمایش کنید (قسمت 1) Test your knowledge about BRE (Part 1)

  • کلاس های شخصیت Character Classes

  • محدوده شخصیت Character Ranges

  • شخصیت های نفی کننده Negating Characters

  • کلاس های شخصیت نامگذاری شده است Named Character Classes

  • گروه های شخصیت Character Groups

  • دانش خود را در مورد BRE آزمایش کنید (قسمت 2) Test your knowledge about BRE (Part 2)

  • از عبارات با قاعده پایه (BRE) تا عبارات با قاعده گسترده (ERE) From Basic Regular Expressions (BRE) to Extended Regular Expressions (ERE)

  • جایگزین ها Alternations

  • کمیت های بیشتر: `?`، `+`, `{n}`, `{n,m}`, `{n,}` More Quantifiers: `?`, `+`, `{n}`, `{n,m}`, `{n,}`

  • مرزهای کلمه Word Boundaries

  • دانش خود را در مورد ERE تست کنید Test your knowledge about ERE

  • چگونه از ویژگی های ERE در BRE استفاده کنیم؟ How to use ERE features in BRE?

  • چگونه از ERE در تست های Bash استفاده کنیم؟ (`=~`) How to use ERE in Bash tests? (`=~`)

  • عبارات منظم سازگار با مروارید (PCRE) Pearl Compatible Regular Expressions (PCRE)

  • سخنرانی اضافی (اختیاری): Lookaheads & Lookbehinds (ویژگی های PCRE) Extra lecture (optional): Lookaheads & Lookbehinds (PCRE features)

  • تمرین: فایل لاگ از یک وب سرور آپاچی Exercise: Log file from an Apache Webserver

  • تمرین (نمای کلی): تجزیه و تحلیل یک فایل گزارش از وب سرور آپاچی Exercise (Overview): Analyze a Log File from an Apache Webserver

  • تمرین (بررسی): تجزیه و تحلیل یک فایل گزارش از وب سرور آپاچی Exercise (Check): Analyze a Log File from an Apache Webserver

  • راه حل: یک فایل Log را از یک وب سرور آپاچی تجزیه و تحلیل کنید Solution: Analyze a Log File from an Apache Webserver

واکشی قابل اعتماد فایل: فایل‌ها را با «wget» دانلود کنید و یکپارچگی Checksum را تأیید کنید Reliable File Fetching: Download Files with `wget` & Confirm Checksum Integrity

  • مقدمه Intro

  • لینک دانلود سخنرانی بعدی Link to the download of the next lecture

  • "wget" در مقابل "curl". `wget` vs `curl`

  • گزینه های CLI برای «wget». CLI options for `wget`

  • دانلود دسته ای با «wget». Batch downloading with `wget`

  • لینک دانلودهای سخنرانی بعدی Links to the downloads of the next lecture

  • یک وب سایت کامل را با «wget» دانلود کنید Download a whole website with `wget`

  • جمع های چک Checksums

  • دانش خود را در مورد wget آزمایش کنید Test your knowledge about wget

The Depths of Bash - به ویژگی های پیشرفته Bash شیرجه بزنید The Depths of Bash - Dive into Advanced Bash Features

  • مقدمه Intro

  • تغییر رفتار فرمان «cd». Changing the Behavior of the `cd` Command

  • گلوبینگ پیشرفته Advanced Globbing

  • Globbing گسترده Extended Globbing

  • دستورات گروه بندی Grouping Commands

  • کار با History در Bash Working with History in Bash

  • دستور تله The `trap` Command

فصل اضافی (اختیاری): Zsh (پوسته Z) - تجربه CLI را سفارشی کنید Extra chapter (optional): Zsh (the Z Shell) - Customize you CLI experience

  • مقدمه Intro

  • نصب Zsh Installation of Zsh

  • اولین نگاه به Zsh A first look into Zsh

  • فایل های پیکربندی برای Zsh Configuration Files for Zsh

  • نصب Oh-My-Zsh Installing of Oh-My-Zsh

  • سخنرانی اضافی (اختیاری): رفتار متفاوت «پژواک». Extra lecture (optional): Different Behavior of `echo`

  • Zsh در مقابل Bash، بسط با متغیرها Zsh vs Bash, Expansions with Variables

  • نمایه سازی آرایه های مختلف Different Array Indexing

  • سخنرانی اضافی (اختیاری): دستور 'repeat' Extra lecture (optional): The Command `repeat`

  • سخنرانی اضافی (اختیاری): Extended Globbing در Zsh Extra lecture (optional): Extended Globbing in Zsh

  • سخنرانی اضافی (اختیاری): Zsh برای اسکریپت های شل Extra lecture (optional): Zsh for Shell Scripts

کلمات پایانی - پایان دادن به سفر لینوکس شما Final Words - Wrapping Up Your Linux Journey

  • کلمات پایانی Final Words

نمایش نظرات

Udemy (یودمی)

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

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

آموزش تسلط بر لینوکس: راهنمای جامع خط فرمان
جزییات دوره
71 hours
600
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,068
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Denis Panjuta Denis Panjuta

بیش از 200000 دانش آموز را به codeHi آموزش می دهد. من دنیس هستم من مدرک مهندسی از دانشگاه علمی کاربردی کنستانز آلمان دارم و عشقم را برای برنامه نویسی در آنجا کشف کردم. در حال حاضر ، بیش از 200000 دانشجو از دوره های من می آموزند. این به من انرژی زیادی می دهد تا دوره های جدیدی را با بالاترین کیفیت ممکن ایجاد کنم. هدف من این است که یادگیری کدنویسی را برای همه در دسترس قرار دهم ، همانطور که مطمئن هستم ، این آینده است! بنابراین به دوره های من بپیوندید و ایجاد برنامه ، بازی ، وب سایت یا هر نوع برنامه دیگری را بیاموزید. امکانات بی حد و حصر است. سلام. ایچ بن دنیس Ich habe einen لیسانس در Wirtschaftsingenieurswesen der HTWG Konstanz und habe dort meine Begeisterung für's Programmieren entdeckt. Zur Zeit lernen bereits über 200.000 Studenten von meinen Kursen. می میرد gibt mir extreme viel Motivation und Energie noch mehr und bessere Kurse zu erstellen. Mein Ziel ist es، das Programmierenlernen so zugänglich wie möglich zu machen، denn ich bin überzeugt، IT ist die ZUKUNFT!

Jannis Seemann Jannis Seemann

مهندس نرم افزار | B.Sc. Informatik (TU München)