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

تاریخ انتشار 

تاریخ انتشار:

تاریخ بروزرسانی :

لینوکس

مقدمه

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


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

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

  • echo برای چاپ متن یا متغیر توی ترمینال استفاده می‌شه. خیلی وقتا برای تست کردن یه مقدار یا نمایش ساده ازش استفاده می‌کنم.
  • cat برای نمایش محتویات یه فایل هست. البته تو فایل‌های بزرگ، less به نظرم انتخاب بهتریه.
  • cut یه ابزار خیلی خوب برای جدا کردن قسمت‌هایی از هر خط یه فایل متنیه. مثلاً وقتی با فایل‌های CSV کار می‌کنم، خیلی کارم راه می‌ندازه.
  • Pipe (|) یکی از جذاب‌ترین ویژگی‌های Bash ـه. باهاش می‌تونیم خروجی یه دستور رو بدیم به ورودی دستور بعدی.
  • tail برای دیدن آخرین خطوط یک فایله، مخصوصاً لاگ‌ها. با -n هم می‌تونیم تعداد خطوط رو مشخص کنیم.
  • head دقیقاً برعکس tail عمل می‌کنه و چند خط اول رو نشون می‌ده.
  • تعریف متغیر با ساختار name=value انجام می‌شه و با $name می‌شه بهش دسترسی داشت.
  • read برای گرفتن ورودی از کاربره. توی اسکریپت‌ها خیلی به کارم اومده.
  • rev هم یه دستور باحاله که متن رو برعکس می‌کنه. گاهی برای سرگرمی ازش استفاده کردم!
مقالات پیشنهادی  چگونه با انتخاب یک هاست ابری به نجات محیط زیست کمک کنیم

ساختار دایرکتوری اصلی در لینوکس

linux-directory-structure
آموزش لینوکس قسمت چهارم مروری بر مفاهیم کلیدی و دستورات پایه 2

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

  • /etc جاییه که تمام فایل‌های تنظیمات سیستم و سرویس‌ها ذخیره می‌شن.
  • /bin شامل دستوراتی مثل ls، cp، mv و… هست. این‌ها معمولاً دستورات پایه‌ای هستن که باید همیشه در دسترس باشن.
  • /lib کتابخونه‌هایی که برای اجرای باینری‌های /bin لازمه توی این پوشه هستن.
  • /home جاییه که اطلاعات و فایل‌های شخصی هر کاربر نگهداری می‌شه. برای هر کاربر یه فولدر جدا داره.
  • /tmp یه پوشه موقتیه که فایل‌هاش بعد از ریست شدن سیستم حذف می‌شن.
  • /dev همه‌ی دیوایس‌های سخت‌افزاری به صورت فایل توی این پوشه نمایش داده می‌شن. این خیلی برام جالب بود که تو لینوکس همه چیز حتی سخت‌افزارها هم یه جور فایل حساب می‌شن.
  • /proc یه سیستم فایل مجازیه که اطلاعات مربوط به پروسس‌ها و هسته سیستم رو نشون می‌ده. برای بررسی وضعیت پردازش‌ها خیلی مفیده.

مدیریت بسته‌ها (Package Manager)

تو لینوکس نصب برنامه‌ها معمولاً از طریق Package Manager انجام می‌شه. من که با اوبونتو کار می‌کنم، بیشتر با apt سر و کار دارم. مثلاً:

bashCopyEditsudo apt install iptraf

برای حذف برنامه هم:

bashCopyEditsudo apt remove iptraf

یه نکته‌ی مهم اینه که بیشتر دستورات مدیریتی نیاز به sudo دارن. همچنین ابزار دیگه‌ای مثل snap هم هست که برنامه‌ها رو به صورت بسته‌های مستقل نصب می‌کنه.


مانیتورینگ منابع سیستم

برای نظارت روی مصرف منابع سیستم مثل RAM و CPU، از ابزارهای زیادی می‌شه استفاده کرد. مثلاً:

  • top و htop که پروسس‌ها رو لحظه‌ای نشون می‌دن. htop محیط گرافیکی‌تر و جذاب‌تری داره.
  • watch دستور خیلی خوبیه برای اجرای مداوم یه دستور. مثلاً با watch -n 1 date می‌تونید هر ثانیه زمان سیستم رو ببینید.
مقالات پیشنهادی  اموزش بازیابی پسورد vmware

ابزارهای کاربردی دیگه

  • tree ساختار پوشه‌ها رو به صورت درختی نشون می‌ده. برای فهمیدن ساختار یه پروژه خیلی مفیده.
  • less برای دیدن فایل‌های بزرگ استفاده می‌شه، مخصوصاً وقتی نمی‌خوایم کل فایل رو یکجا ببینیم.
  • mkdir برای ساخت پوشه جدید.
  • touch برای ساخت فایل خالی.
  • > برای نوشتن یا بازنویسی فایل‌ها.
  • Terminator یه ترمینال خیلی باحاله که می‌تونیم چند پنجره رو همزمان توش باز کنیم. کار کردن باهاش خیلی راحت‌تره.
  • tty-clock یه ساعت دیجیتال برای محیط ترمیناله. بیشتر برای قشنگی ازش استفاده می‌کنم 😄
  • timedatectl هم برای تنظیم و دیدن ساعت و تاریخ سیستم استفاده می‌شه.

ویرایشگر Vim؛ دوست یا دشمن؟

راستش اوایل از Vim فراری بودم! اما کم‌کم فهمیدم برای کارهای سیستمی واقعاً لازمه. توی محیط‌هایی که هیچ ابزار گرافیکی نیست، داشتن یه ویرایشگر قدرتمند مثل Vim خیلی مهمه. هنوز دارم یادش می‌گیرم ولی می‌دونم که به‌زودی به یکی از ابزارهای اصلی‌م تبدیل می‌شه.


جمع‌بندی

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


سایر قسمت‌های آموزش لینوکس:

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

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