آموزش مهارت های ضروری یونیکس برای توسعه دهندگان

Essential Unix Skills for Developers

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: از خط فرمان قدرتمند یونیکس در لینوکس، MacOS و سایر سیستم‌عامل‌ها استفاده کنید تا مهارت‌های توسعه‌دهنده خود را به سطح بعدی ببرید نحوه استفاده از رایج‌ترین ابزارها و ابزارهای یونیکس کار با پوسته‌های یونیکس ویرایشگرهای خط فرمان محبوب مانند vi/vim و pico/nano متعدد دستورات و تکنیک‌های دستکاری فایل‌های متنی و خروجی متن مدیریت حساب‌های کاربری، افزودن/حذف برنامه‌ها، کار با فرآیندها دستورات مفید مرتبط با شبکه برای کمک به عیب‌یابی برنامه‌ها/سرویس‌های وب و ابزارهای شبکه‌ای استقرار برنامه‌ها در سرورهای لینوکس به عنوان سرویس و با Docker پیش نیازها:ویندوز 10 (قابلیت اجرای WSL2)، MacOS یا سیستم عامل یونیکس مانند (Linux/FreeBSD/و غیره) مهارت های اولیه کامپیوتر حداقل مهارت برنامه نویسی در سطح مبتدی مفید است اما ضروری نیست تمایل/انگیزه قوی برای یادگیری

C، Go، Python، Perl، Java، Node.js، Git، SSH، Docker، Kubernetes، MySQL، SQLite، iOS، MacOS، Android و بسیاری دیگر از زبان‌های برنامه‌نویسی، پلتفرم‌های ابزار چه اشتراکاتی دارند؟ همه آنها بر روی سیستم عامل های مرتبط با یونیکس مانند Linux، MacOS (بله، MacOS IS Unix نیز)، FreeBSD بسیاری دیگر توسعه داده شدند. یعنی این ابزارها شهروندان درجه یک در یونیکس هستند. تقریباً هر توسعه‌دهنده مدرنی در حرفه خود با برخی از جنبه‌های یونیکس تعامل خواهد داشت، خواه از Git و GitHub استفاده کند یا برنامه‌ها و سرویس‌های وب خود را در Cloud استقرار دهد، یونیکس تقریباً غیرقابل اجتناب است.

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

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

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

اجازه دهید به شما کمک کنیم تا این قدرت را برای خود آزاد کنید تا مجموعه مهارت های خود را به سطح بعدی ببرید.


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

آغاز The Beginning

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

  • نکاتی برای این دوره Tips for this Course

  • آنچه شما نیاز دارید What You'll Need

  • نصب لینوکس روی ویندوز Installing Linux on Windows

  • راه اندازی ترمینال در MacOS Launching a Terminal on MacOS

  • راه اندازی ترمینال در رابط کاربری گرافیکی لینوکس Launching a Terminal on Linux GUI

  • نصب لینوکس در MacOS Installing Linux on MacOS

اصول اولیه The Basics

  • پوسته The Shell

  • سیستم های فایل Filesystems

  • پیمایش در سیستم فایل Navigating the Filesystem

  • کپی کردن فایل ها Copying Files

  • ساخت دایرکتوری ها Making Directories

  • حذف فایل ها Deleting Files

  • انتقال فایل ها Moving Files

  • تئوری مجوزهای فایل File Permissions Theory

  • تمرین مجوزهای فایل File Permissions Practice

  • انتخاب فایل ها با File Globs Selecting Files with File Globs

  • پیوندهای نمادین Symbolic Links

  • دفترچه راهنمای داخلی The Built-In MANual

  • جستجوی صفحات راهنما Searching for MANuals Pages

  • راه های دیگر برای جستجوی دستورات Other Ways to Search for Commands

  • پاک کردن صفحه نمایش Clearing the Screen

  • بازتاب متن روی صفحه Echoing Text to the Screen

  • چاپ فایل های متنی روی صفحه Printing Text Files to Screen

  • صفحه بندی متن Paginating Text

  • دریافت تاریخ و زمان Getting Date & Time

  • دریافت اطلاعات ذخیره سازی فایل سیستم Getting Filesystem Storage Information

  • دریافت اطلاعات فضای دایرکتوری Getting Directory Space Information

پوسته ها Shells

  • معرفی Introduction

  • میانبرهای صفحه کلید Keyboard Shortcuts

  • متغیرها Variables

  • صادرات متغیرها Exporting Variables

  • متغیر PATH The PATH Variable

  • متغیرهای محیطی دائمی Permanent Environment Variables

  • بازبینی فرمان Command Review

  • کنترل شغل Job Control

  • فرآیندهای کشتار Killing Processes

  • تغییر مسیر و لوله کشی Redirection & Piping

  • تغییر مسیر خطاها Redirecting Errors

  • تغییر مسیر ورودی Redirecting Input

ویرایشگرهای متن Text Editors

  • vi & vim vi & vim

  • پیکو و نانو pico & nano

دستورات متنی Text Commands

  • نگاه کردن به سر و دم یک فایل Peeking at the Head & Tail of a File

  • دریافت تعداد حروف، کلمات و خطوط یک متن Getting the Count of Letters, Words & Lines of a Text

  • مرتب سازی خطوط متن Sorting Lines of Text

  • جستجو از طریق خطوط متن و فایل ها Searching Through Lines of Text & Files

  • مقایسه فایل های متنی برای تفاوت ها Comparing Text Files for Differences

  • تبدیل کاراکترهای متن Converting Characters of Text

  • پردازش متن پیشرفته با اسکریپت های AWK - قسمت اول Advanced Text Processing with AWK Scripts - Part One

  • پردازش متن پیشرفته با اسکریپت های AWK - قسمت دوم Advanced Text Processing with AWK Scripts - Part Two

  • پردازش متن پیشرفته با SED Advanced Text Processing with SED

دستورات ابزار Utility Commands

  • فشرده سازی فایل ها با GZIP و BZIP2 Compressing Files with GZIP & BZIP2

  • بایگانی کردن فایل ها و دایرکتوری ها در یک فایل با TAR Archiving Files & Directories to One FIle with TAR

  • فشرده سازی و آرشیو کردن با ZIP Compressing & Archving with ZIP

  • اجرای دستورات پویا (xargs) Executing Dynamic Commands (xargs)

  • جستجو برای فایل ها Searching for Files

دستورات سیستم System Commands

  • کاربران و گروه ها Users & Groups

  • تعیین نسخه سیستم عامل Determining the Version of Operating System

  • مشاهده اطلاعات گزارش سیستم Viewing System Log Information

  • نصب برنامه ها در لینوکس دبیان/اوبونتو - قسمت اول Installing Applications on Debian/Ubuntu Linux - Part One

  • نصب برنامه ها در لینوکس دبیان/اوبونتو - قسمت دوم Installing Applications on Debian/Ubuntu Linux - Part Two

  • نصب برنامه ها در خط فرمان MacOS Installing Applications on MacOS Command Line

  • دریافت شناسه های فرآیند/برنامه Getting Process/Application IDs

  • مدیریت منابع سیستم با TOP Managing System Resources with TOP

  • یافتن فرآیندها بر اساس فایل و بالعکس Finding Processes by File & Vice-Versa

  • برنامه ریزی مشاغل با CRON Scheduling Jobs with CRON

شبکه سازی Networking

  • مبانی شبکه Networking Basics

  • دستورات برای عیب یابی مشکلات شبکه Commands for Troubleshooting Network Issues

  • جستجوهای DNS DNS Lookups

  • ایمن عملیات از راه دور با SSH Secure Remote Operations with SSH

  • رمزگذاری کلید عمومی و احراز هویت با SSH Public Key Encryption & Authentication with SSH

  • توابع اضافی SSH Additional SSH Functions

  • تست خدمات وب با CURL Testing Web Services with CURL

سناریوهای توسعه دهنده Developer Scenarios

  • نصب برنامه های Spring Boot به عنوان سرویس های لینوکس Installing Spring Boot Applications as Linux Services

  • کانتینر کردن یک برنامه با Docker Containerizing an App with Docker

  • نتیجه گیری دوره Course Conclusion

نمایش نظرات

آموزش مهارت های ضروری یونیکس برای توسعه دهندگان
جزییات دوره
18 hours
76
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
588
4.7 از 5
دارد
دارد
دارد
Terry Martin
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Terry Martin Terry Martin

توسعه دهنده نرم افزار/معمار