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

به خاطر سپردن کاری که یک فرمان انجام میدهد آسان است، اما همیشه یادتان نمیماند آن را دقیقاً چگونه نوشتهاید. حالا با فشردن Ctrl+R و نوشتن عبارتی مانند rsync یا ffmpeg، افزداف فهرستی از فرمانهای موجود در تاریخچهٔ پوسته را نشانم میدهد که با وارد کردن هر حرف کوتاهتر میشود. حتی اگر واژهها بهترتیب نباشند یا اشتباه تایپی داشته باشید، جستوجو همچنان کار میکند.
وقتی نتیجهای را انتخاب میکنم، فرمان بدون اجرا شدن در خط فرمان قرار میگیرد؛ بنابراین گشتن میان نتایج هیچ پیامدی ندارد. گاهی پیش از اجرا فرمان را ویرایش میکنم و گاهی نیز فقط Escape را میزنم و از اجرای آن منصرف میشوم.
برای نصب افزداف یکی از این فرمانها را اجرا کنید:
| توزیع لینوکس | فرمان نصب |
|---|---|
| اوبونتو، لینوکس مینت، دبیان | sudo apt install fzf |
| فدورا | sudo dnf install fzf |
| آرچ لینوکس، مانجارو | sudo pacman -S fzf |
در رایانهٔ لینوکس مینت من، نصب افزداف با apt میانبرهای صفحهکلید را فعال نمیکند؛ ازاینرو ناچار شدم خط زیر را به ~/.bashrc بیفزایم تا Bash در هر بار راهاندازی، میانبرهای صفحهکلید افزداف را بارگذاری کند:
source /usr/share/doc/fzf/examples/key-bindings.bash
زوکساید
پایانهای که پوشههای همیشگی شما را میشناسد

نوشتن cd ~/projects/web/portfolio-site/src/components خستهکننده است. با زوکساید، از هر نقطهٔ سامانه تنها با نوشتن z port comp به همان مسیر میرسم.
جادویی در کار نیست؛ زوکساید فقط پوشههای پرکاربردتان را به خاطر میسپارد. اگر zoxide query --list --score را اجرا کنید، همهٔ پوشههایی را که شناخته است خواهید دید. این ابزار بر پایهٔ تعداد و تازگی مراجعه به هر پوشه امتیاز میدهد و آنها را رتبهبندی میکند. پوشههایی که هر روز به آنها سر میزنید در بالای فهرست میمانند و پوشههای کمکاربردتر در جایگاههای پایینتر قرار میگیرند.
دیدن این فهرست برایم مانند مرور گزارشی جالب از عادتهای خودم بود. با افزودن واژههای بیشتر میتوانید دامنهٔ جستوجو را محدود کنید؛ به همین دلیل اجرای z port comp حتی هنگامی که بخشی از نام دو پوشه یکسان است، بسیار کارآمد خواهد بود.
زوکساید تنها پوشههایی را میشناسد که پس از نصب آن به آنها سر زدهاید. همچنین پیش از آنکه میانبر یا فرمان z در دسترس قرار گیرد، باید این خط را به ~/.bashrc بیفزایید: eval "$(zoxide init bash)".
برای نصب زوکساید یکی از این فرمانها را اجرا کنید:
| توزیع لینوکس | فرمان نصب |
|---|---|
| اوبونتو، لینوکس مینت، دبیان | curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh \| sh |
| فدورا | sudo dnf install zoxide |
| آرچ لینوکس، مانجارو | sudo pacman -S zoxide |
تیالدیآر
نخست نمونهها، سپس گزینهها





برای کار با find به حافظهٔ خودم اعتماد ندارم. معمولاً فقط میخواهم فایلی را بر پایهٔ نامش پیدا کنم، اما صفحهٔ راهنمای find بیش از اندازه مفصل است.
راهحل، اجرای tldr find است. با این کار، توضیحاتی ساده و روشن به زبان انگلیسی همراه با فرمانهای آماده دریافت میکنید؛ اما جاینگهدارها از سودمندترین بخشهای آن هستند. ممکن است در خروجی مواردی مانند {{root_path}} و {{*.ext}} ببینید که ساختار فرمان را نشان میدهند. بهاینترتیب، بهجای حفظ کردن دقیق یک خط، یاد میگیرم کدام بخشها را باید جایگزین کنم.
من اغلب فرمانی مانند این را اجرا میکنم:
find {{root_path}} -name '{{*.ext}}' این فرمان بهسادگی به ابزار میگوید: «جستوجو را از این پوشه آغاز کن و نامهایی را بیاب که با این الگو همخوانی دارند.»
پیش از اجرای هر فرمان، حتماً آن را بخوانید؛ زیرا این صفحهها را کاربران نوشتهاند. فرمانهای زیر tldr را نصب میکنند:
| توزیع لینوکس | فرمان نصب |
|---|---|
| اوبونتو، لینوکس مینت، دبیان | اجرای فرمان pipx install tldr |
| فدورا | sudo dnf install tldr |
| آرچ لینوکس، مانجارو | sudo pacman -S tldr |
در مینت، برای نصب tldr با pipx باید ابتدا خود pipx را نصب کنید.
انسیدییو
پیدا کردن عامل اشغال فضای دیسک

ممکن است فضای ذخیرهسازیتان تمام شود، بیآنکه دقیقاً بدانید چه چیزی آن را اشغال کرده است. با اجرای فرمان ncdu ~، پوشهٔ خانگی شما پویش میشود و محتویات آن بر پایهٔ اندازه، از بزرگترین به کوچکترین، فهرست میشوند. بهاینترتیب، بیدرنگ میبینید چه چیزهایی فضای درایو را اشغال کردهاند.
برای بررسی پوشهها میتوانید از کلیدهای جهتنما استفاده کنید و با فشردن Enter وارد هر پوشه شوید.
وقتی رایانهام را پویش کردم، این موارد نمایان شدند:
| مسیر | اندازه | محتوای واقعی | کاری که انجام دادم |
|---|---|---|---|
| پوشهٔ ~/projects | ۵٫۸ گیبیبایت (۵.8GiB) | پوشهٔ پروژههایم؛ بزرگترین شاخه در پوشهٔ خانگی | با ncdu دقیقاً بررسی کردم که فضا کجا مصرف شده است |
| پوشهٔ ~/.cache | ۲٫۰ گیبیبایت (۲.0GiB) | دادههای ذخیرهشده در حافظهٔ نهان برنامهها که بهمرور انباشته شده بودند | پیش از تصمیمگیری دربارهٔ پاکسازی، آن را موردی درخور بررسی دانستم |
دیدن پوشهٔ پروژهها غافلگیرم نکرد؛ اما ممکن بود بهآسانی از ~/.cache غافل شوم. ncdu بهروشنی نشان میدهد بخش عمدهٔ فضای مصرفشده در کجا قرار دارد. با اطلاعاتی که این ابزار در اختیارتان میگذارد، میتوانید دربارهٔ اقدام بعدی تصمیم بگیرید.
فشردن کلید d در ncdu، فایل یا پوشه را برای همیشه حذف میکند و امکان انتقال آن به زبالهدان یا بازیابیاش وجود ندارد. برای پویش کامل سامانه، این فرمان را اجرا کنید: sudo ncdu -x /
| توزیع لینوکس | فرمان نصب |
|---|---|
| اوبونتو، لینوکس مینت، دبیان | sudo apt install ncdu |
| فدورا | sudo dnf install ncdu |
| آرچ لینوکس، مانجارو | sudo pacman -S ncdu |
بیتاپ
دیدن چهرهٔ واقعی کندی

شاید پایانه را دیواری از نوشتههای سبز تصور کنید، اما btop چنین ظاهری ندارد. این ابزار پیشخوانی رنگارنگ با نمودارهای زندهٔ پردازنده، حافظه، دیسکها و شبکه در اختیارتان میگذارد. بهتر از همه اینکه به کلیکهای ماوس نیز واکنش نشان میدهد.
ترجیح میدهم آن را زمانی باز کنم که دستگاه بیکار است تا وضعیت عادی سامانه را بهخوبی بشناسم. سپس، وقتی کاری را که باعث کندی رایانه میشود تکرار میکنم، میتوانم تغییر نمودارها را زیر نظر بگیرم و بفهمم چه چیزی منابع را میبلعد.
بار پردازنده، بخش حافظه و فرایندی که در صدر فهرست قرار دارد، سه موردی هستند که بیش از همه زیر نظر میگیرم. مقدار «Available» یا «در دسترس» نشان میدهد رایانه چه اندازه ظرفیت آزاد دارد. با فشردن کلید t، نمای درختی باز میشود و تشخیص اینکه هر فرایند به کدام برنامه تعلق دارد آسانتر خواهد شد.
فشردن کلید k در btop به فرایند پایان میدهد، اما من به فرایندهایی که نمیشناسم دست نمیزنم.
| توزیع لینوکس | فرمان نصب |
|---|---|
| اوبونتو، لینوکس مینت، دبیان | sudo apt install btop |
| فدورا | sudo dnf install btop |
| آرچ لینوکس، مانجارو | sudo pacman -S btop |
ابزار مناسب، برگ برنده است
افزایش بهرهوریام نه از حفظ کردن فرمانها، بلکه از شناخت ابزارهایی سرچشمه گرفت که کمک میکنند کارهایم را بهتر و سریعتر انجام دهم. بهمرور زمان، مجموعهٔ ابزارهای پایانهٔ لینوکسم را کامل کردم و این پنج ابزار به بخشهایی ضروری از آن تبدیل شدند که همیشه به سراغشان میروم. هیچیک از آنها نیز نیازی به نوشتن اسکریپت ندارند.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Afam Onyimadu است. مشاهده مقاله اصلی