برنامه نویسی

لینوکس برای مهندس DevOps: 101🚀🎯🔥

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

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

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

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

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

تاریخچه مختصر لینوکس
آیا تا به حال فکر کرده اید که چگونه لینوکس به چنین نیروی مسلط در دنیای IT تبدیل شده است؟ در اینجا یک نگاه سریع به گذشته است:

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

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

در پروژه های نرم افزاری شرکتی بلادرنگ، مهندسان DevOps اغلب از دستورات لینوکس برای مدیریت سیستم ها، سرورها و پیکربندی ها استفاده می کنند. در اینجا دستورات ضروری لینوکس همراه با مثال آمده است:

  • اطلاعات سیستم:

    • uname -a – نمایش اطلاعات سیستم
    • مثال: uname -a نسخه هسته، معماری سیستم و نام میزبان را برمی گرداند.
  • مدیریت فایل و دایرکتوری:

    • ls -la – لیست فایل ها با اطلاعات دقیق
    • مثال: ls -la همه فایل ها، از جمله فایل های مخفی را به همراه مجوزها، مالکان و اندازه آنها فهرست می کند.
    • cp file1 file2 – کپی فایل ها
    • مثال: cp /etc/config.txt /backup/ را کپی می کند config.txt فایل به دایرکتوری پشتیبان.
    • mv file1 file2 – انتقال یا تغییر نام فایل ها
    • مثال: mv test.txt /tmp/ حرکت می کند test.txt به /tmp/ دایرکتوری
    • rm -rf directory_name – حذف فایل ها یا دایرکتوری ها
    • مثال: rm -rf /old_files/ را حذف می کند old_files دایرکتوری و محتویات آن
  • مجوزها و مالکیت:

    • chmod 755 file.txt – تغییر مجوزهای فایل
    • مثال: chmod 755 script.sh به مالک فایل اجازه می دهد فایل را بخواند، بنویسد و اجرا کند، در حالی که دیگران فقط می توانند آن را بخوانند و اجرا کنند.
    • chown user:group file.txt – تغییر مالکیت فایل
    • مثال: chown devops:admin config.yml صاحب آن را تغییر می دهد config.yml فایل به devops و گروه به admin.
  • مدیریت بسته (اوبونتو):

    • apt-get update – لیست بسته ها را به روز کنید.
    • مثال: sudo apt-get update لیست بسته را به‌روزرسانی می‌کند تا آخرین نسخه‌های نرم‌افزار موجود از مخازن را شامل شود.
    • apt-get install – بسته ها را نصب کنید.
    • مثال: sudo apt-get install nginx وب سرور NGINX را روی سیستم نصب می کند.
  • شبکه سازی:

    • ping www.example.com – اتصال شبکه را بررسی کنید.
    • مثال: ping google.com بررسی می کند که آیا سیستم می تواند به سرورهای Google دسترسی پیدا کند یا خیر.
    • ifconfig – نمایش یا پیکربندی رابط های شبکه
    • مثال: ifconfig eth0 اطلاعات شبکه را برای eth0 رابط کاربری
    • netstat -tuln – نمایش پورت های باز و اتصالات فعال
    • مثال: netstat -tuln تمام پورت های گوش دادن فعال در سیستم را لیست می کند.
  • مشاهده و مانیتورینگ فایل:

    • tail -f /var/log/syslog – گزارش های سیستم را در زمان واقعی نظارت کنید.
    • مثال: tail -f /var/log/nginx/error.log به‌روزرسانی‌های بلادرنگ گزارش‌های خطای NGINX را نشان می‌دهد.
    • dmesg – نمایش پیام های سیستم (بافر حلقه هسته).
    • مثال: dmesg | grep error پیام های سیستم را فیلتر می کند تا فقط خطاها را نشان دهد.
    • cat file.txt – مشاهده محتویات یک فایل
    • مثال: cat /etc/hosts محتویات را نمایش می دهد hosts فایل
  • مدیریت فرآیند:

    • ps aux – لیست فرآیندهای در حال اجرا
    • مثال: ps aux | grep nginx تمام فرآیندهای در حال اجرا NGINX را نشان می دهد.
    • kill -9 PID – خاتمه یک فرآیند توسط PID آن.
    • مثال: kill -9 1234 به زور فرآیند را با PID 1234 متوقف می کند.
  • آرشیو و فشرده سازی:

    • tar -czvf archive.tar.gz /folder/ – ایجاد یک آرشیو فشرده
    • مثال: tar -czvf backup.tar.gz /var/www/ یک آرشیو فشرده از /var/www/ پوشه
    • unzip file.zip – یک آرشیو فشرده را استخراج کنید.
    • مثال: unzip backup.zip را استخراج می کند backup.zip را در دایرکتوری فعلی فایل کنید.

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

لینوکس چندین ویرایشگر متن قدرتمند را برای ویرایش فایل ها به طور مستقیم از خط فرمان ارائه می دهد. پرکاربردترین ویرایشگرها عبارتند از vi، sed، و cat.

1. vi ویرایشگر (Vim):

  • vi یک ویرایشگر متن همه کاره و پرکاربرد در لینوکس با دو حالت دستور و درج است.

مثال:

  • برای ویرایش فایل از: vi filename.txt
  • را فشار دهید i برای وارد کردن حالت درج و شروع به ویرایش فایل.
  • را فشار دهید Esc برای خروج از حالت درج، و تایپ کنید :wq برای ذخیره و خروج، یا :q! برای ترک بدون ذخیره کردن

2. sed ویرایشگر (ویرایشگر جریان):

  • sed یک ویرایشگر جریان قدرتمند است که برای تجزیه و تبدیل متن در فایل ها استفاده می شود. معمولاً برای عملیات جستجو و جایگزینی استفاده می شود.

مثال:

  • برای جایگزینی “foo” با “bar” در یک فایل: sed -i 's/foo/bar/g' file.txt
  • این دستور هر رخداد “foo” را با “bar” در جایگزین می‌کند file.txt.

3. cat (الحاق) ویرایشگر:

  • cat در درجه اول برای مشاهده محتویات یک فایل استفاده می شود، اما همچنین می تواند فایل های جدید را به هم متصل کرده و ایجاد کند.

مثال:

  • برای مشاهده یک فایل: cat filename.txt
  • برای ایجاد یک فایل جدید: cat > newfile.txt و سپس محتوا را تایپ کنید. را فشار دهید Ctrl+D برای ذخیره و خروج

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

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

  • مالک (u)
  • گروه (g)
  • دیگران (o)

هر فایل یا دایرکتوری دارای سه نوع مجوز است:

  • بخوانید (r) – اجازه خواندن مطالب
  • بنویس (w) – اجازه تغییر محتوا
  • اجرا (x) – اجازه اجرای فایل به صورت برنامه

مثال:

  • برای تنظیم مجوزهایی که مالک دسترسی کامل دارد، گروه می‌تواند بخواند و اجرا کند و دیگران فقط می‌توانند بخوانند:
    chmod 755 script.sh

    • این یعنی:
    • مالک: خواندن، نوشتن و اجرا.
    • گروه: بخوانید و اجرا کنید.
    • دیگران: فقط خواندن.

فایل Sudoers در لینوکس چیست:
این sudoers فایل در لینوکس برای کنترل اینکه کدام کاربران یا گروه ها می توانند با استفاده از امتیازات (ریشه) بالا دستورات را اجرا کنند استفاده می شود. sudo.

  • مکان: /etc/sudoers
  • ویرایش: شما باید استفاده کنید visudo برای ویرایش ایمن sudoers فایل این تضمین می کند که از خطاهای نحوی جلوگیری می شود و شما را از سیستم قفل نمی کند.

مثال:
برای اجازه دادن به یک کاربر (devops) برای اجرای تمام دستورات با sudo امتیازات، شما باید خط زیر را به آن اضافه کنید sudoers فایل:

devops ALL=(ALL:ALL) ALL

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این اعطا می کند devops کاربر توانایی اجرای هر دستوری را مانند هر کاربر یا گروهی با استفاده از آن دارد sudo.

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

غذای آماده شما
به عنوان یک مهندس DevOps، تسلط بر دستورات لینوکس فقط یک گزینه نیست، بلکه یک ضرورت است. از مدیریت سرورها و نظارت بر عملکرد گرفته تا عیب یابی مشکلات، لینوکس پایه و اساس لازم را برای برتری در نقش خود فراهم می کند.

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

حتما واکنش نشان دهند در پست و دنبال کنید نویسنده 👏

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا