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

پس از آنکه بر ifconfig مسلط شدم، احساس کردم بالاخره در یادگیری لینوکس پیشرفت کردهام. اجرای این فرمان، رابطهای شبکه، نشانیهای آنها و آمارهایی مانند بستههای دریافتی و ارسالی را نشان میدهد.
فکر نمیکنم هیچگاه آگاهانه تصمیم گرفته باشم استفاده از آن را کنار بگذارم. این فرمان بهتدریج از عادتهای روزمرهام حذف شد و فرمان ip جای آن را برای بررسی رابطها، نشانیها و مسیرها گرفت.
فرمان ifconfig بخشی از مجموعهٔ قدیمیتر net-tools بود و توزیعهای امروزی لینوکس معمولاً بهجای آن از ابزار ip در مجموعهٔ iproute2 استفاده میکنند. شاید در سامانههایی که ابزارهای قدیمی روی آنها نصب شدهاند هنوز به ifconfig دسترسی داشته باشید، اما دیگر فرمانی نیست که لازم باشد آن را به خاطر بسپارم.
جالب اینکه این موضوع یکی از نخستین برداشتهای نادرست من هنگام یادگیری لینوکس بود. گمان میکردم فرمانهایی که از بر کردهام، برای همیشه بخشی از واژگانم خواهند ماند. اما بعضی از آنها، مانند ifconfig، تنها پلههایی برای پیشرفت بودند.
فرمان netstat حتی زودتر ناپدید شد
هنوز به اطلاعاتش نیاز دارم، نه به خود فرمان

فرمان netstat را برای حل مشکلی بسیار مشخص آموختم. این فرمان کمک میکرد بفهمم یکی از سرویسهای در حال اجرا روی رایانهام چه استفادهای از شبکه میکند.
اگر فرمانی مانند netstat -tulpn را اجرا کنم، سرویسهای در حال شنود را همراه با درگاههایی که به آنها متصلاند میبینم. هرگاه میخواستم بفهمم چرا سرویس مشخصی در دسترس نیست، این نخستین فرمانی بود که به سراغش میرفتم.
اکنون بهندرت سراغش میروم و برخلاف ifconfig، برای این کار دلیل روشنی دارم. حتی راهنمای خود این فرمان نیز آن را تا حد زیادی منسوخ میداند و ss را بهعنوان جایگزین معرفی میکند. حالا برای دیدن موارد در حال شنود، بهاحتمال زیاد ss -tulpn را اجرا میکنم. آنچه برای من تغییر کرد اطلاعات موردنیازم نبود، بلکه فرمانهایی بود که برای دستیابی به آن به کار میبردم. ss سوکتها و اتصالها را پوشش میدهد و ip route نیز مسیرها را مدیریت میکند.
| آنچه میخواهم بدانم | روش قدیمی | ابزاری که اکنون به کار میبرم |
|---|---|---|
| چه چیزی در حال شنود است؟ | فرمان netstat | فرمان ss |
| چه اتصالهایی برقرارند؟ | فرمان netstat | فرمان ss |
| مسیرها کداماند؟ | فرمان netstat -r | فرمان ip route |
هنوز هم گاهی با آموزشهای قدیمی لینوکس روبهرو میشوم که استفاده از netstat را پیشنهاد میکنند. خود فرمان قدیمی شده است، اما مشکلاتی که برای حلشان به کار میرفت همچنان وجود دارند. بنابراین، بهجای نادیده گرفتن آموزش، دستورالعملهایش را با مجموعهابزارهایی که واقعاً استفاده میکنم سازگار میکنم.
فرمان man به من آموخت دست از حدسزدن بردارم
بعد فهمیدم بهندرت به تمام راهنما نیاز دارم

لینوکس به من آموخت وقتی نمیدانم فرمانی چگونه کار میکند، بهجای حدسزدن دربارهاش جستوجو کنم. برای مدتی بسیار طولانی، این کار به معنای استفاده از man، صفحهٔ راهنمای مرجعِ داخلی سامانه، بود.
اغلب از پیش میدانم که میخواهم از کدام فرمان استفاده کنم، اما از ساختار دقیق یا گزینههایش مطمئن نیستم. باز کردن یک صفحهٔ کامل راهنما برای چنین کاری زیادهروی است. اکنون بیشتر از tldr استفاده میکنم.
این پروژه آگاهانه بر نمونههای کاربردی تمرکز دارد. صفحههایش کوتاهاند و هر وقت به جزئیات بیشتری نیاز داشته باشم، راهی به صفحهٔ کامل راهنمای man پیش پایم میگذارد. بیشتر وقتها همان یک نمونهٔ کوتاه کارم را راه میاندازد.
بااینحال، درس عمیقتری که این تغییر به من آموخت آن بود که حفظکردن تکتک فرمانها لزوماً از شما یک متخصص نمیسازد. گاهی فقط باید بلد باشید همان تکه اطلاعاتی را که ندارید، پیدا کنید.
وقتی top دیگر کافی نبود
میخواستم ببینم رایانهام واقعاً چه میکند





وقتی top را یاد گرفتم، یک دستگاه Linux در حال کار دیگر آنقدر مرموز به نظر نمیرسید. هر وقت رایانهای کند میشود، آن را اجرا میکنم و میبینم فرایندها چگونه برای زمان پردازنده و حافظه با یکدیگر رقابت میکنند. top هنوز هم کار میکند، اما دیگر بهاندازهٔ گذشته از کار با آن لذت نمیبرم.
این روزها btop را ترجیح میدهم، چون فعالیت پردازنده، حافظه، دیسک، شبکه و فرایندها را بهشکلی دیداریتر نشانم میدهد. همچنین میتوانم فرایندها را پالایش و مرتب کنم و هرجا لازم باشد، در بخشهای مختلف رابط جابهجا شوم.
btop چشماندازی جادویی و کاملاً تازه از فعالیتهای سامانه به من نمیدهد؛ بلکه بیشتر همان اطلاعات را طوری نمایش میدهد که مرور سریعشان آسانتر است. شاید نکتهٔ کوچکی به نظر برسد، اما هنگام عیبیابی تفاوت بزرگی ایجاد میکند. جهشهای نامعمول مصرف پردازنده، فشار بر حافظه و فعالیت دیسک را تقریباً بیدرنگ تشخیص میدهم.
وقتی du فهم مشکلات دیسک را دشوارتر میکرد
ncdu اعداد مصرف دیسک را کاوشپذیر کرد





هنوز هم برای فرمان du احترام زیادی قائلم. این فرمان نشان میدهد فایلها و پوشهها چه مقدار از فضای دیسک را اشغال کردهاند؛ اما وقتی میخواهم بفهمم چرا یک درایو ناگهان پر شده است، بهترین ابزار نیست.
روال همیشگیام این بود که du را روی یک پوشه اجرا کنم، خروجی آن را خواناتر سازم، عمق پویش را تغییر دهم، نتیجه را مرتب کنم و این فرایند را بارها تکرار کنم. در نهایت، فقط برای فهمیدن خروجی ناچار بودم کار زیادی انجام دهم.
ncdu یک تحلیلگر متنی و تعاملیتر برای بررسی میزان مصرف فضاست. هرچند ncdu نیز بر همان اطلاعات پایهای مصرف دیسک در du تکیه دارد، به من اجازه میدهد در درخت پوشهها حرکت کنم و ببینم فضا دقیقاً کجا مصرف شده است. در واقع همان du است، اما در قالبی بسیار تعاملیتر.
این قابلیت در کارساز خانگیام تفاوت چشمگیری ایجاد میکند. دیگر فقط به فهرستی از اندازهٔ پوشهها خیره نمیشوم، بلکه میتوانم همهٔ آنها را بکاوم تا سرانجام به چیزی برسم که فضای ذخیرهسازی را بلعیده است.
هنوز هم هر وقت Linux بهانهای بدهد، سراغشان میروم
فکر نمیکنم زمانی که صرف یادگیری فرمانهایی کردم که اکنون بهندرت به کار میبرم، هدر رفته باشد. این فرایند کمک کرد Linux را بهتر بفهمم. خود Linux تغییر نکرد، اما گردش کارم و شیوهٔ کارکردنم با سیستمعامل دگرگون شد. بسیاری از این فرمانها هنوز گوشهٔ ذهنم ماندهاند و گاهی در موقعیتی خاص، همان ابزار قدیمی دقیقاً بهترین راهحل است.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Afam Onyimadu است. مشاهده مقاله اصلی