از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 12 آموزش متخصص مهندسی داده و بیگ دیتا، مدرس به بررسی مفهوم اسکریپت شل و کاربردهای آن در مدیریت سرورها پرداخته است. در این جلسه، تفاوت بین شل و بش توضیح داده شده است و نحوه اجرای فایلهای شل با استفاده از دستورات مختلف مانند `bash` و `sh` به عنوان مثال ارائه شده است. همچنین، اهمیت اسکریپتنویسی در اتوماسیون و مدیریت سرورها توضیح داده شده است و مثالهایی از کاربردهای عملی اسکریپت در فرآیندهای مانند نگهداری سرور، ایجاد فایلهای گزارش، و انجام کارهای روتین ارائه شده است. در بخش بعدی، معلم به بررسی خودکارسازی فایلهای کد پرداخته و توضیح میدهد که با اجرای یک بار فایل، تمام دستورات اجرا میشوند و این فرآیند تنها ابتدای خودکارسازی است.
نکات کلیدی
تفاوت بین شل و بش و نحوه اجرای فایلهای شل با استفاده از دستورات مختلف.
اهمیت اسکریپتنویسی در اتوماسیون و مدیریت سرورها و کاربردهای عملی آن.
اجرای یک بار فایل به جای اجرای دستورات به صورت دستی، خودکارسازی را تسهیل میکند.
خودکارسازی به معنی اجرا خودکار فایلها بدون نیاز به ورود دستی به سیستم است.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
تفاوت بین شل و بش در این است که شل (Shell) یک ابزار اجرای دستورات در سیستم عامل است و بش (Bash) یک نوع شل است که اغلب در سیستمهای Linux استفاده میشود.
فایلهای شل را میتوان با استفاده از دستورات مختلف مانند `bash` یا `sh` اجرا کرد.
با اسکریپتنویسی میتوان فرآیندهایی مانند نگهداری سرور، ایجاد فایلهای گزارش و انجام کارهای روتین را به صورت خودکار انجام داد.
آخرین بهروزرسانی محتوای متنی:
🎓 دوره جامع «متخصص مهندسی داده و بیگ دیتا» | Pista Academy در دنیای امروز، حجم عظیمی از دادهها هر روز توسط سازمانها، کسبوکارها و سرویسهای آنلاین تولید میشود؛ اما داده زمانی ارزشمند است که بتوانیم آن را بهدرستی جمعآوری، ذخیره، پردازش و مدیریت کنیم. در دوره «متخصص مهندسی داده و بیگ دیتا» در Pista Academy، قدمبهقدم با مفاهیم، ابزارها و تکنولوژیهای مهم حوزه Data Engineering و Big Data آشنا میشویم و تلاش میکنیم مسیر یادگیری را از مفاهیم پایه تا ابزارهای حرفهای این حوزه طی کنیم. 📚 در این دوره با موضوعاتی مانند موارد زیر آشنا خواهید شد: 🔹 Linux Server و ابزارهای موردنیاز مهندسی داده 🔹 Python و Java برای کار با ابزارهای Data Engineering 🔹 مفاهیم دادههای توزیعشده و پایگاه داده 🔹 پایگاه دادههای رابطهای و SQL 🔹 پایگاه دادههای NoSQL 🔹 مفاهیم Big Data 🔹 اکوسیستم Hadoop 🔹 کار با ابزارهای Hadoop و مثالهای کاربردی 🔹 Apache Spark و پردازش دادههای حجیم 🔹 کار عملی با ابزارهای Spark 🔹 Kubernetes 🔹 خودکارسازی و مدیریت فرایندهای انتشار در مهندسی داده 🎯 این دوره برای چه کسانی مناسب است؟ اگر قصد دارید وارد حوزه مهندسی داده شوید، دانش خود را در زمینه Big Data گسترش دهید یا با ابزارهایی مانند Hadoop، Spark، SQL، NoSQL و Kubernetes بهصورت جدیتر آشنا شوید، این دوره میتواند مسیر مناسبی برای شروع و توسعه مهارتهای شما باشد. در طول دوره تلاش میکنیم مفاهیم را به زبان ساده و کاربردی بررسی کنیم و در کنار مباحث تئوری، با ابزارها و سناریوهای واقعی نیز آشنا شویم. ━━━━━━━━━━━━━━━━━━ 📌 نام دوره: متخصص مهندسی داده و بیگ دیتا 🏫 Pista Academy آموزش تخصصی، ساده و کاربردی اگر این آموزش برای شما مفید بود، با 👍 لایک کردن ویدیو و Subscribe کردن کانال Pista Academy از ادامه تولید آموزشهای تخصصی حمایت کنید. همچنین اگر درباره مباحث دوره سؤال یا پیشنهادی دارید، در بخش نظرات مطرح کنید. 👇 #مهندسی_داده #بیگ_دیتا #DataEngineering #BigData #Python #SQL #NoSQL #Hadoop #Spark #Kubernetes #PistaAcademy
باز اومدیم مثال ساده زده
آها اینجا باید نیست اینو نگاه کنید یه دستور ساده مثلاً داریم به اکو چیکار
میکنه یه چیزیرو تو خروجی چاپ میکنه خب
اما ما میتونیم توی بخش وریبل هم بچهها
داشته باشیم مثلاً یه چیزی وریبل تعریف
بکنیم بعد اون وریبله رو جلوتر بارها
استفاده کنیم یا شرط داشته باشیم
خب مثلاً میتونیم شرط بذاریم یا میتونیم
لوپ داشته باشیم داخل بخش بچهها توی فایل
شلی که مینویسید
همه اینا توسط بخش قابل اجراست.
شلولا معروف لینوش اولیش بشه که خب خیلیا با این کار میکنن.
اس اچو داریم
بعد
دشو داریم
که حالا مخفف اینه زد اس اچو داریم فیشو
داریم اینم باز مخفف اینه و چیزا مختلف
میگه آیا همه شلها سینتکسی یکسان دارن؟
خیر
دستورات
و ساختار پایه بچهها مشابهستا یعنی بیس
قضیه یه چیزه اما تو بعضی قابلیت پیشرفته
میتونه متفاوت باشه
مثلاً میگه که ما میتونیم سروررا رو
اینجوری به صورت آرایه لیست بکنیم
و بعد میتونیم اینجوری بنویسیم مثلاً
بش اسکریپت چیه میگه که گفتم دیگه بش
اسکریپ یه مجموعهای از دستیراتی که شما
داخل یه فایل قرار میدید که یک جا اجرا
بشه.
اینم که هیچی حالا این چپ و راستشو من نتونستم درست
کنم. حالا توی جلسه بعدی سعی میکنم اینو
درستش بکنم.
میگه بش اسکریپت زیرمجموعه شل اسکریپته اینو تو ذهنتون داشته باشید
خب
اینا رو رد شیم ازش
آها اولش بچهها شما میتونید بگید که با کدوم شل اجرا بشه
فایل اون فایلی که نوشتید مثلاً اینجا اگه
بگید بش با بش چی اجرا میشه اولش اگه
بذارید اس اچ با اس اچ اجرا میشه به شرط
که اس اچو رو اون دا سرور داشته باشید
مثلاً اینجا من تو خط اول اینو مشخص کردم که باید باش اجرا بشه یعنی شما داخل اون
فایل شلی که مینویسید میتونید مشخص
بکنید که اولش با چه شلی اجرا بشه مثلاً
من اینجا صراحتاً گفتم با بش اجرا بشه این
فایل
اصلاً میگیم امکان بعضش نصب نباشه مثلاً بریم ببینیم کدوماش سیستم نصب مثلاً اس
اچو داریم
اس اچو داریم نگاه کنید تو این مسیره
بچهها هر چیزی در لینوکس یک فایله اینو
همیشه تو ذهنتون داشته باشید اس اچ یک
فایله که اجرا میشه تو این مسیرم هست این
فایله مثلاً ببینیم که دشو داره
دشم داره س اس اچم داره
اینو نداره بچهها
این شلو رو این سرور ما نداریم ولی سه تای
بالایی رو داریم
دقیقاً همچین چیزی به ما داد
خب
داره توداشونو میگه خیلی نمیخوام ورود کنم بچهها به اینا واقعاً بگذریم از اینا
بیشتر من فوکوسمو میخوایم بذاریم رو خود
بحث شل.
خب [صدای خرناس] میخوایم یه دایرکتوری
بسازیم بعد چیکار کنیم؟ سی دی کنیم داخلش
بعد پی دبلی بزنیم و خروجیش میشه یه همچین
چیزی حالا میگه بریم همینو شلشو بسازیم
نه یه مثال دیگه داره میزنه این یه مثال دیگهست مثلاً اکو کرده اینو بعد اکو کرده
اینو بریم اینو با هم بسازیم
تست.s اس اچ
خب
با دی بچهها میشد خطا رو پاک کرد پشت هم
دی بزنید این خطا پاک میشه تو اینسرت مود
نباشیدا
تو نرمال مود باشید دی خب حالا آیو میزنم
اینسرت مود باز بشه هشتگ علامت تعجب
اسلش بین اسلش بش
بعد میگم یه اکو بذار
بش ورژن میخوام ببینیم ورژن بشمون چیه
یه دو نقطه هم بذار اینجا بذاریم به جای س تا بعد
بدبش دستور دش دش ورژن خروجیشو میده به هد
بچهها مشخص بکنید که اون خروجی که میده
این دستور چند تا خطشو نشون بدم من میگم
فقط خط اولو نشون بده از بالا هد یعنی از
بالا
بعد یه اکو گذاشته
اکو خالی یعنی یه خط ایجاد میکنه بچهها
یه نیو لاین ایجاد ایجاد میکنم اکو اسلش
بین
اس اچ
انفورمیشن
دو نقطه
خب از این [صدای خرناس] سد مور میام بیرون دو نقطه دبلیو کیو این فایلا رو اجرا کنیم
بالا
اس اچو نداشتیم چی شد آخ آخ اس اچ چی خب شل تست بش
ورژنمون اینه
بعد اطلاعات اینو داره بهمون میده که اینا
این اطلاعات مربوط به اس اچه
خب
خط به خطم داره توضیح میده میگه این داره
به اسکریپت میگه که این بشو این در حقیقت
با بش نوشته شده
بعد این که خب اکوئه هیچی اینم واسه اکوئه
این دستور چیکار میکنه میاد ورژن اون بشو
نشون میده که دا هم دیدیم این ورژنشه ورژن
۵ دشه
بعد پای میکنه خروجیشو میده به کی میده
به دستور هد دش ان دش وا که فقط خط اول از
بالا رو نشون بده اگر اینو نذارید بچهها
یه کلی اطلاعات میخواد نشون بده که نیاز
نداریم
میتونیم اینو با هم ببینیم خروجیشو
بچهها نگاه کنید من این دستورو
همین یه تیکه رو فقط بذار بنویسیم چه کپی میکنم بش دش تش ورژن اگر به اون هد ان
وان ندم اینجا یه همچین خروج روجی میده من
گفتم به جای اینکه کل من نشون بدی فقط خط
اولو نشون بده من این برام مهمه این
اطلاعاتش خیلی به دردم نمیخوره
و بقیه رم داره توضیح میده که دیگه بکردیم
خب خروجی م که با هم دیدیم
تمرینم که میتونید بچهها این فایله رو تمرینش کنید اگه دوست داشتید
یه همچین چیزی بش بسازید بعد بگید این
اطلاعاتو بهتون نشون بده اینم دستیراتشه
میخواید یه بار با هم بریم جلو هیچ مشکلی
نداره پس یه دونه فایل بسازید خودتون
بچهها به اسم شل ریپورت بعد این دستوراتو
داخلش بذارید بعد اجراش بکنید
خروجشو ببینید
میگه حالا یه چلنجم داده مثلاً گفته یه فایلی بسازید به نام انوایرمنت چک خروجیش
این شکلی باشه
پس این تمرا یه بار دیگه نشونتون میدم یه شلی بنویسید که خروجیش این شکلی باشه وقتی
اجرا میشه این اطلاعاتو نشون بده حالا
باید برید ببینید برای مثلاً این اطلاعات
ما چه کامندایی لازم داریم مثلاً این چی
میشد هاست نیم این چی میشد پی دبلیودی
همین جا الی آخر
و جمعبندی. خب بذارید ببینم که اینو راست به چپشو میتونیم درست بکنیم یا نه.
چقدر شد ویدیومون تا الان؟
خب ویدیومون طولانی نشده بریم سراغ ادامه
درسمون.
خدا شکر چپ و راستشو تقریباً درست کرد
الان. خب در این جلسه میخوایم مفهوم شل
اسکریپتو یاد بگیریم و چرا مهمه؟
میگه فرض کنید شما یه مدیر یه سرور
لینوکسی هستید. فرض کنید خب هر روز بعد از
اینکه سرورتونو روشن میکنید باید این
اطلاعاتو ببینید اسم سرور زمان روشن بودن
وضعیت حافظه فضای دیس وضعیت سرویس وب و
اتصال به شبکه خب باید چیکار کنید باید
دونه دونه دستی برای هر کدوم یه کامندرا
بکنید خروجیشو ببینید درسته هر روز باید
این کارو بکنید
هاستیم آپتایم فری دیو و الی آخر
خب این کار بچهها اگه یه بار بخواد اجرا
بشه مشکل نداره که دستی انجام بشه اما
قرار باشه هر روز این کارو بکنید اجرای
دستیش منطقی نیست. اینجاست که اسکریپت شر
میاد به شما کمک میکنه. یعنی میایم یه
فایل درست میکنیم. تمام این دستوراتو
میذاریم داخلش یه بار اجراش میکنیم.
خب داخل یه فایل قرار میدیم و اجراش
میکنیم. این میشه چیزی که قراره ج چند
جلسه یاد بگیریم.
خب
اتومیشنم میگه همین مفهومی که الان اینجا گفتیم اتومیشن عملاً یه جورایی
یعنی میتونیم در آینده بچهها یاد بگیریم ما میتونیم یه سری دستورا تو بنویسیم
مثلاً دیف اچو بعد خروجیشو آنالیز بکنیم
با یه دستوری یعنی یه کد بنویسیم که
خروجیشو برا ما آنالیز بکنه و اون نتیجه
رو به ما بگه یه همچین چیزی مثلاً
فقط بچهها این نکته رو یادتون باشه اسکلیپت مجموعهای از دستورا نیست که پشت
همه جا بشهها میتونیم بهش یه سری
منطقهای برنامهنویسی اضافه کنیم شرط لوپ
حالا بریم جلوتر میبینیم اینا رو
میتونه شامل حمل اینا باشه میتونیم با
فایلا توش کار کنیم میتونیم ایپیآی کار
کنیم ارور هندلینگ داشته باشیم
باز مثالشو زده. اوکی خب
چه کاربردایی داره بچهها؟ مثلاً برای کپی
کردن فایلا میشه ازش استفاده کرد از این
فایرای شل حذف فایلای قدیمی مثلاً یه سری
کاراییه که باید مثلاً روتین انجام بدید
تغییر چند تا فایل اسم چند تا فایل ساخت
دایرکتوری مرتبسازی فایلها یا مثلاً
تهیه نسخه پشتیبان
اینم یکی از اون کارایی که مثلاً روتین
انجام میشه
مثلاً نگاه کن میره فایلا رو جمع میکنه اونا رو فشرده میکنه
بعد تاریخ بکآپ بهش اضافه میکنه بکآپ
ذخیره میکنه بکآپ قبلیو حذف بکنه این
میشه مثلاً یه فایل شل اسکریپت که شما
میتونید بنویسید کدش رو هر روز اجرا بشه
کاربر سور مانیتورینگ سروره یه سری
دستورات داریم برای مانیتورینگ میتونید
اینا رو بنویسید داخل یک فایل شعر حتی
میتونید مثلاً منطقه برنامهسم بهش اضافه
بکنید مدیریت سرورها کاربرد بعدیشه
مدیریت کاربران پردازش فای گزارش توی این
دا مسیر هستن مثلاً فایلای گزارش
بررسی شبکه
و کلی کارای دیگه که میشه انجام داد.
خب ساختار شرو داره میگه اسکریپتو داره
میگه بگذریم
باز یه مثال دیگه زده که مثال بارها زدیم خیلی تکرار به درس میده ولی اشکال نداره
خب مثال واقعی لینوکسشم قبلاً دیدیم اینو
با همدیگه
میگذاریم از این
خب این کدو میگه داخلش بنویسید اجرا بکنه نمیخوایم چون چند بار این کدو نوشتیم
و اجراشم که با هم دیدیم چهجوری اجرا
میشه
میتونیم دسترسی ایکسو بدیم مستقیماً
فایلا رو اجرا بکنیم این کارم با هم دیدیم
به این صورت
و خروجیشم که این شکله
خب حالا سؤال میپرسه آیا واقعاً این کار
خودکارسازیه تا حدی بله به جای اینکه ما
بیایم این دستوراتو دونه دونه دستی اجرا
کنیم یه بار یه دست فایلو اجرا میکنیم
همش اجرا میشه
اما بچهها این هنوز ابتدای خودکارسازیه.
خودکارسازی اینه که اصلاً من خود این دست
فایلا رم من اجرا نکنم خودش اجرا بشه.
خب حالا حتی هوشمندترشم میتونیم بکنیم در
آینده بر اساس خروجی که میده تصمیباتی
بگیره مثلاً حالا جلوتر میبینیم اینا رو
این بریم جلو و اشتباهت رایج رسیدیم دوباره بگذریم تمرین
تمری تکراریه
و اینم که بگذریم جمعبندی هم که ندونیم
خب بریم ادامهشو جلسه بعدی صحبت کنیم
فعلاً خداحافظ