کار با ترمینال لینوکس برای مدیران سرور، برنامهنویسان و کاربران حرفهای بخش جدانشدنی از کار روزانه است. اما یکی از بزرگترین مشکلاتی که بسیاری از کاربران با آن مواجه هستند، تایپ مداوم دستورات تکراری و طولانی است. این موضوع نهتنها سرعت کار را کاهش میدهد، بلکه احتمال خطاهای انسانی را هم بیشتر میکند.
خوشبختانه Bash مجموعهای از میانبرها و قابلیتهای بسیار قدرتمند دارد که میتوانند روند کار با خط فرمان را متحول کنند. بسیاری از این قابلیتها سالهاست در لینوکس وجود دارند، اما کاربران کمی از آنها استفاده میکنند. با یادگیری ۱۰ میانبر ترمینال لینوکس میتوانید اجرای دستورات را سریعتر، حرفهایتر و هوشمندانهتر انجام دهید.
در این مطلب با ۱۰میانبر ترمینال لینوکس آشنا میشویم که باعث میشوند کمتر تایپ کنید و بهرهوری بیشتری در ترمینال لینوکس داشته باشید.
استفاده از !!sudo برای اجرای مجدد آخرین دستور با دسترسی روت
تقریبا برای همه کاربران لینوکس پیش آمده که یک دستور مهم را اجرا کنند و سپس با خطای Permission Denied مواجه شوند. در این حالت معمولا باید با کلید فلش بالا دستور قبلی را بازگردانید، ابتدای آن sudo اضافه کنید و دوباره اجرا کنید.
اما Bash راه بسیار سریعتری دارد.
!!sudo
علامت !! به آخرین دستور اجرا شده اشاره میکند. بنابراین اگر دستور زیر را اجرا کرده باشید:
apt install htop

و با خطای دسترسی مواجه شوید، تنها کافی است بنویسید:
!! sudo
Bash این دستور را به شکل زیر تبدیل میکند:
sudo apt install htop
این قابلیت مخصوص Bash است و در برخی شلها مانند sh ممکن است کار نکند.
استفاده از $! برای فراخوانی آخرین آرگومان دستور قبلی
گاهی فقط به آخرین بخش یک دستور قبلی نیاز دارید. مثلا یک مسیر طولانی ساختهاید و حالا میخواهید وارد همان مسیر شوید.
ابتدا مسیر را ایجاد میکنیم:
mkdir -p /etc/parsdev/config
حالا برای ورود به همان مسیر کافی است بنویسید:
cd !$

در اینجا $! به آخرین آرگومان دستور قبلی اشاره میکند و نتیجه به شکل زیر خواهد بود:
cd /etc/parsdev/config
این میانبر در زمان کار با فایلها و مسیرهای طولانی بسیار مفید است و باعث میشود نیازی به تایپ مجدد مسیرها نداشته باشید.
استفاده از *! برای استفاده مجدد از تمام آرگومانها
گاهی لازم است چند فایل یا چند آرگومان را دوباره در یک دستور دیگر استفاده کنید. در چنین شرایطی *! بسیار کاربردی خواهد بود.
فرض کنید سطح دسترسی چند فایل را تغییر دادهاید:
chmod 644 report.txt notes.txt config.yaml
حالا میخواهید اطلاعات همین فایلها را مشاهده کنید:
ls -l !*

Bash تمام آرگومانهای دستور قبلی را جایگزین میکند:
ls -l report.txt notes.txt config.yaml
این قابلیت هنگام مدیریت فایلها و اجرای دستورات گروهی بسیار کاربردی است.
اصلاح سریع اشتباهات تایپی با ^old^new
یکی از جذابترین قابلیتهای Bash امکان اصلاح سریع اشتباه تایپی در آخرین دستور است.
فرض کنید دستور زیر را اشتباه وارد کردهاید:
systemctl restart ngnix
در حالی که نام صحیح سرویس nginx است. برای اصلاح کافی است بنویسید:
^ngnix^nginx

Bash آخرین دستور را اصلاح کرده و دوباره اجرا میکند:
systemctl restart nginx
این قابلیت برای اصلاح اشتباهات کوچک بسیار سریعتر از ویرایش دستی دستور است.
اجرای مجدد دستورات قدیمی با number!
Bash تاریخچهای از دستورات را نگهداری میکند و هر دستور یک شماره دارد. با استفاده از این شماره میتوانید هر دستور را دوباره اجرا کنید.
ابتدا تاریخچه را ببینید:
history
نمونه خروجی:
۱۵ ls -l 644 report.txt notes.txt config.yaml
16 apt install nginx
17 systemctl restart ngnix

برای اجرای مجدد دستور شماره ۵۰۰ کافی است بنویسید:
۱۸!
این قابلیت زمانی مفید است که بخواهید دستورات قدیمی و طولانی را دوباره اجرا کنید. البته هنگام استفاده از دستورات حساس مانند rm یا dd باید دقت زیادی داشته باشید.
جستجوی سریع دستورات با string!
اگر شماره دستور را به خاطر ندارید اما ابتدای آن را میدانید، میتوانید از string! استفاده کنید.
مثلا:
!mount
Bash آخرین دستوری که با mount شروع شده را اجرا میکند.

برای مشاهده دستور بدون اجرا هم میتوانید از p: استفاده کنید:
!mount:p
این قابلیت کمک میکند بدون جستجو در تاریخچه، سریعتر به دستورات قبلی دسترسی داشته باشید.
جستجوی معکوس در تاریخچه با Ctrl + R
یکی از حرفهایترین میانبر ترمینال لینوکس استفاده از جستجوی معکوس تاریخچه است.
با فشردن:
Ctrl + R
حالت جستجو فعال میشود. سپس بخشی از دستور موردنظر را تایپ کنید:
rsync

Bash نزدیکترین دستور مرتبط را نمایش میدهد:
rsync -avz --progress /home/parsdev/
در این حالت میتوانید:
- Enter بزنید تا دستور اجرا شود
- کلید جهت راست را بزنید تا امکان ویرایش داشته باشید
- دوباره Ctrl + R بزنید تا نتایج قدیمیتر نمایش داده شوند
بسیاری از کاربران حرفهای لینوکس این قابلیت را سریعترین روش جستجو در تاریخچه میدانند.
در صورت نیاز به منابع پایدار و مقیاسپذیر، همین حالا خرید سرور ابری را انجام دهید.
استفاده از . + Alt برای وارد کردن آخرین آرگومانها
کلید ترکیبی .+ Alt عملکردی مشابه $! دارد اما بهصورت تعاملی کار میکند.
فرض کنید دستور زیر را اجرا کردهاید:
tar -czf backup.tar.gz /home/parsdev
در دستور بعدی با فشردن . + Alt آخرین آرگومان وارد میشود:
home/parsdev/
اگر دوباره این میانبر را فشار دهید، Bash آخرین آرگومان دستورات قدیمیتر را نمایش میدهد.

این ویژگی هنگام کار با مسیرهای طولانی بسیار مفید است و باعث کاهش چشمگیر تایپ میشود.
ویرایش دستورات طولانی با fc
گاهی دستوری آنقدر طولانی است که ویرایش آن در خط فرمان سخت میشود. در این مواقع fc بهترین راهحل است.
فقط کافی است بنویسید:
fc
آخرین دستور در ویرایشگر پیشفرض سیستم باز میشود. پس از ذخیره و خروج، Bash نسخه ویرایششده را اجرا میکند.

همچنین میتوانید چند دستور را همزمان باز کنید:
fc 29 34
این قابلیت برای مدیران سرور و کاربران حرفهای که دستورات پیچیده اجرا میکنند بسیار ارزشمند است.
مدیریت بهتر تاریخچه با HISTCONTROL
اگر تاریخچه Bash شلوغ باشد، جستجو در آن سخت میشود. متغیر HISTCONTROL به شما کمک میکند تاریخچه تمیزتری داشته باشید.
فایل .bashrc را ویرایش کنید:
nano ~/.bashrc
سپس این خط را اضافه کنید:
HISTCONTROL=ignoreboth
این تنظیم دو قابلیت مهم فعال میکند:
- ذخیره نشدن دستورات تکراری
- ذخیره نشدن دستوراتی که با فاصله شروع میشوند

پس از ذخیره فایل، تنظیمات را اعمال کنید:
source ~/.bashrc
این کار باعث میشود جستجو در تاریخچه بسیار سریعتر و کاربردیتر شود.
چرا یادگیری میانبر ترمینال لینوکس اهمیت زیادی دارد
بسیاری از کاربران لینوکس سالها از ترمینال استفاده میکنند اما همچنان بیشتر زمان خود را صرف تایپ مجدد دستورات میکنند. در حالی که Bash ابزارهای قدرتمندی برای افزایش سرعت کار در اختیار شما قرار داده است.
استفاده از این میانبرها مزایای زیادی دارد:
- کاهش زمان اجرای دستورات
- افزایش سرعت مدیریت سرور
- کاهش خطاهای تایپی
- سادهتر شدن کار با مسیرهای طولانی
- حرفهایتر شدن کار با ترمینال
حتی یادگیری یکی دو مورد از این قابلیتها میتواند تاثیر محسوسی بر سرعت کار روزانه شما داشته باشد. بسیاری از مدیران سیستم حرفهای استفاده از Ctrl + R و !!sudo را جزو ضروریترین مهارتهای Bash میدانند.
جمعبندی
ترمینال لینوکس فقط یک محیط تایپ دستور نیست، بلکه مجموعهای از ابزارهای حرفهای برای افزایش بهرهوری است. Bash سالهاست امکاناتی مانند جستجوی تاریخچه، اصلاح خودکار دستورات و استفاده مجدد از آرگومانها را در اختیار کاربران قرار داده، اما بسیاری از افراد هنوز از آنها استفاده نمیکنند.
اگر میخواهید سریعتر و حرفهایتر با لینوکس کار کنید، بهتر است این ۱۰ میانبر ترمینال لینوکس را به بخشی از عادت روزانه خود تبدیل کنید. شروع با Ctrl + R، !!sudo و $! میتواند تجربه کار با ترمینال را کاملا متحول کند.