کار با سیستم عامل لینوکس برای مدیران سرور ها از طریق کیبورد و میانبر ها یا shortcuts بسیار ساده تر از کار با ماوس می باشد. بنابراین مدیران
سرور ها و لینوکس کار هایی که با محیط ترمینال لینوکس که به صورت فرمانی می باشد، همواره به دنبال روش هایی برای افزایش سرعت کار با این
محیط می باشند. میانبر های زیادی هستند، که می توانیم از آن ها استفاده کنیم، اما هدف این مقاله آموزشی معرفی شورتکات های ویژهای است که بیشترین کاربرد را دارند؛ هر یک از میانبر ها به همراه کارایی که دارد، به طور کامل توضیح داده شده است.
میانبر یا Shortcut چه کاربردی دارد؟
میانبر یا Shortcut به ما کمک می کند، دستوراتی را بدون استفاده از ماوس و تنها با فشردن چند کلید از صفحه کیبورد در Terminal لینوکس اجرا کنیم.
میانبر ها به ما امکان اجرای سریع تر و راحت تر Command های Linux را می دهند، بنابراین یادگرفتن برخی از شورتکات های کاربردی می تواند در زمان کار با ترمینال در سرور مجازی های لینوکسی برای ما بسیار مفید باشند.
اگر تازه کار هستید، و هنوز اطلاعاتی در مورد سرور مجازی لینوکس ندارید، می توانید به مقاله سرور مجازی لینوکس چیست؟ مراجعه نمایید. در ادامه
فهرستی از شورتکات ها و توضیحات مربوط به کاربرد هر یک ارائه شده است.
فهرست شورت کاتهای لینوکس
بعد از خرید سرور مجازی می توانیم، از طریق SSH به محیط Terminal لینوکس متصل شویم. برای اتصال از طریق SSH به نرم افزار واسطی به نام PuTTY نیاز داریم. بنابراین، نرم افزار پوتی را اجرا و از طریق یوزر روت به ترمینال لینوکس وارد می شویم. در ادامه می توانیم، هر یک از شورتکات های زیر را استفاده نماییم:
| توضیحات | Shortcut Keys |
| دایرکتوری روت | # / |
| دایرکتوری فعلی | # ./ |
| اجرای یک فرمان در دایرکتوری فعلی زمانیکه دایرکتوری فعلی در مسیر نمی باشد. | # ./command_name |
| دایرکتوری والد یا parent | # ../ |
| دایرکتوری خانه یا home | # ~ |
| اعلان ورود به حالت کاربر عادی | # $ |
| اعلان ورود به حالت کاربر root یا superuser | # # |
| تکرار فرمان تعیین شده | # ! |
| تکرار فرمان قبلی | # !! |
| تکرار فرمان قبلی با جانشینی | # ^^ |
| اجرای برنامه در حالت پس زمینه | # & |
| چاپ فهرستی از تمام فرمان های موجود. این فقط یک مثال از تکمیل خودکار بدون محدودیت در حرف اول می باشد. | # [Tab][Tab] |
| چاپ فهرستی از تمام فرمان های اتمام یافته موجود برای یک کامند، که با حرف X شروع می شود. | # x[Tab][Tab] |
| سوئیچ کردن به اولین کنسول متنی مجازی | # [Alt][Ctrl][F1] |
| سوئیچ کردن به nامین کنسول متنی مجازی، که به طور معمول، شش مورد در سیستم PC لینوکسی وجود دارد. | # [Alt][Ctrl][Fn] |
| اگر یک اجرا وجود دارد، به اولین کنسول GUI سوئیچ می کند. اگر کنسول گرافیکی Freez شد، می توانید ابتدا به یک کنسول غیر گرافیکی بروید، فرآیند مشکل ساز را ازبین ببرید، و با استفاده از این میانبر به کنسول گرافیکی مجدد سوئیچ کنید. | # [Alt][Ctrl][F7] |
| اسکرول کردن در تاریخچه فرمان ها ( در bash ) | # [ArrowUp] |
| اسکرول در خروجی ترمینال به سمت بالا، که در قسمت ورود به سیستم کار می کند، بنابراین می توانید در پیام های بوت خود اسکرول کنید. | # [Shift][PageUp] |
| اسکرول در خروجی ترمینال به سمت پایین. | # [Shift][PageDown] |
| سوئیچ به رزولوشن سرور بعدی ( اگر سرور برای بیش از یک رزولوشن تنظیم شده باشد ) | # [Ctrl][Alt][ ] |
| تغییر به رزولوشن سرور قبلی | # [Ctrl][Alt][-] |
| پایان دادن به سرور فعلی. زمانی استفاده می شود، که خروج عادی غیر ممکن باشد. | # [Ctrl][Alt][BkSpc] |
| خاموش کردن و راه اندازی مجدد سیستم | # [Ctrl][Alt][Del] |
| پایان دادن به فرآیند فعلی | # [Ctrl]c |
| خارج شدن از ترمینال فعلی | # [Ctrl]d |
| توقف انتقال به ترمینال فعلی | # [Ctrl]s |
| از سر گیری انتقال به ترمینال فعلی، در صورت عدم پاسخ دهی ترمینال باید این کار را امتحان کرد. | # [Ctrl]q |
| ارسال فرآیند فعلی به پس زمینه | # [Ctrl]z |
| بازگردانی ترمینال به تنظیمات پیش فرض آن | # reset |
| دکمه سمت چپ ماوس را فشار داده و بر روی متن جهت انتخاب بکشید. رها کردن دکمه، منطقه انتخابی را در بافر متنی تحت X و ( اگر gpm نصب شده باشد ) در حالت کنسول کپی می کند. | # [Leftmousebutton] |
| متن را از بافر متنی کپی کرده و در محل اشاره گر ماوس وارد می کند. روی هر دو دکمه ماوس به طور همزمان کلیک کنید. برای شبیه سازی 3 دکمه لازم است تحت gpm یا در XF86Config فعال شود. | # [Middlemousebutton] |
میانبرهای پرکاربرد Bash که باید حفظ باشند
فراتر از جدول بالا، چند دسته میانبر وجود دارد که مختص شِل Bash هستند و روزانه دهها بار استفاده میشوند. اگر تا به حال ده دقیقه وقت گذاشتهاید تا یک دستور طولانی را دوباره تایپ کنید، این بخش برای شماست.
ویرایش خط دستور
Bash از کتابخانهی Readline استفاده میکند که مجموعهای قدرتمند از کلیدهای ویرایش متن را در اختیار شما میگذارد:
- Ctrl+A — رفتن به ابتدای خط. وقتی یک دستور طولانی نوشتهاید و میخواهید ابتدا
sudoاضافه کنید، این میانبر وقت زیادی صرفهجویی میکند. - Ctrl+E — رفتن به انتهای خط.
- Ctrl+U — حذف تمام کاراکترها از موقعیت فعلی تا ابتدای خط. عملاً خط را پاک میکند.
- Ctrl+K — حذف از موقعیت فعلی تا انتهای خط.
- Ctrl+W — حذف یک کلمه به سمت چپ (مثلاً آخرین آرگومان دستور را پاک میکند).
- Alt+B — رفتن به عقب یک کلمه.
- Alt+F — رفتن به جلو یک کلمه.
- Ctrl+L — پاک کردن صفحه ترمینال؛ معادل دستور
clearاست اما سریعتر.
مدیریت تاریخچه دستورات
Bash تاریخچه دستورات شما را در فایل ~/.bash_history ذخیره میکند. معمولاً ۱۰۰۰ دستور آخر نگه داشته میشود. چند میانبر مهم برای کار با این تاریخچه:
- Ctrl+R — جستجوی معکوس در تاریخچه. یک کلمه را تایپ کنید و Bash قدیمیترین دستوری که آن کلمه را دارد پیدا میکند. فشردن مجدد Ctrl+R به نتیجه قبلیتر میرود.
- !string — اجرای آخرین دستوری که با
stringشروع شده. مثلاً!sshآخرین دستور ssh را اجرا میکند. - !$ — آخرین آرگومان دستور قبلی. مثلاً بعد از
mkdir /var/www/mysiteمیتوانیدcd !$بنویسید. - history | grep keyword — جستجوی دستی در تاریخچه برای یافتن دستورات قدیمیتر.
مدیریت فرآیندها با میانبر
یکی از مهارتهایی که تفاوت بین یک مدیر سرور مبتدی و حرفهای را نشان میدهد، توانایی کنترل فرآیندها از داخل ترمینال است:
- وقتی دستوری را اجرا میکنید و پیشبینی میکنید زمان زیادی طول میکشد، میتوانید با Ctrl+Z آن را متوقف کرده و با دستور
bgبه پسزمینه بفرستید. باfgمیتوانید دوباره به جلو بیاورید. - اگر میخواهید از همان ابتدا یک فرآیند در پسزمینه اجرا شود،
&را در انتهای دستور بگذارید: مثلاً./install.sh &. - دستور
jobsفهرست فرآیندهای پسزمینهای را که از همین ترمینال اجرا کردهاید نشان میدهد.
راهکار صباهاست
سرور مجازی لینوکس، وی پی اسی است که سیستم عامل سرورش لینوکس باشد. سرور مجازی لینوکس یکی از انواع میزبانی است که این روزها بسیارمورد توجه قرار گرفته است زیرا فیچرهای آن دقیقاً متناسب با انتظارات طراحان وب است.
لینوکس، در مبحث کنترل پنل، انعطاف پذیری بیشتری به کاربر خود می دهد و کنترل پنل محبوب سی پنل با لینوکس همخوانی بسیار بهتری دارد.
سرور مجازی لینوکس صباهاست مزایای بسیار زیادی ازجمله بالاترین سطح سرعت و آپ تایم و اختصاص بیشترین میزان منابع سخت افزاری را برای شما به همراه دارد.
نکات عملی برای حرفهایتر شدن با ترمینال
یادگیری شورتکاتها اولین قدم است، اما چند عادت کوچک دیگر هم وجود دارد که تجربه کار با ترمینال را به سطح دیگری میبرد.
تکمیل خودکار با Tab
کلید Tab یکی از قدرتمندترین ابزارهایی است که خیلی از کاربران مبتدی از آن غافل میمانند. وقتی دارید مسیر یک فایل را تایپ میکنید، Tab نام را کامل میکند. اگر چند گزینه وجود داشته باشد، دو بار Tab فشردن همه آنها را نمایش میدهد. این یعنی دیگر لازم نیست اسم دقیق فایلهای طولانی را به خاطر بسپارید. مثلاً وقتی میخواهید /etc/nginx/nginx.conf را ویرایش کنید، میتوانید بنویسید vi /etc/ngi و Tab را بزنید.
alias؛ میانبر شخصی خودتان
اگر دستوری هست که هر روز تایپ میکنید، میتوانید برایش یک alias بسازید. مثلاً:
alias ll='ls -la'— نمایش کامل فایلها با جزئیاتalias ..='cd ..'— رفتن به دایرکتوری بالاتر با دو نقطهalias update='apt-get update && apt-get upgrade -y'— آپدیت سیستم با یک کلمه
این aliasها را در فایل ~/.bashrc ذخیره کنید تا بعد از هر بار ورود به سیستم فعال باشند. بعد از ذخیره، دستور source ~/.bashrc را اجرا کنید تا تغییرات بلافاصله اعمال شوند.
ترمینال چندگانه با Screen یا Tmux
یکی از مشکلات رایج اینجاست که وقتی اتصال SSH قطع میشود، فرآیندهای در حال اجرا هم متوقف میشوند. ابزارهای screen و tmux این مشکل را حل میکنند. با این ابزارها میتوانید یک session جداگانه بسازید که حتی بعد از قطع ارتباط SSH هم به کار خود ادامه دهد. دستور screen -S mysession یک session جدید میسازد و screen -r mysession به آن برمیگردد. برای کسانی که با سرور مجازی کار میکنند، یادگیری حداقل دستورات پایه این دو ابزار توصیه میشود.
سوالات متداول
آیا این میانبرها در همه توزیعهای لینوکس کار میکنند؟
بیشتر این میانبرها به شِل Bash مربوط هستند نه توزیع خاصی. پس چه روی اوبونتو باشید، چه CentOS یا Debian، تا وقتی Bash پیشفرض شماست این کلیدها کار میکنند. برخی میانبرهای مربوط به کنسول گرافیکی (مثل Alt+Ctrl+F7) ممکن است بسته به محیط دسکتاپ متفاوت باشند.
Ctrl+S ترمینالم را قفل کرد. چطور برگردم؟
Ctrl+S خروجی ترمینال را متوقف میکند (نه فرآیند را). برای بازگشت کافی است Ctrl+Q را بفشارید. اگر این اتفاق برای شما افتاده و نمیدانستید چه کنید، بدانید که تقریباً هر کسی این تجربه را داشته است.
چطور میتوانم میانبرهای Bash را شخصیسازی کنم؟
فایل ~/.inputrc تنظیمات Readline را نگه میدارد. مثلاً میتوانید کلید Tab را به چیز دیگری اختصاص دهید یا کلید جدیدی برای یک ماکروی متنی تعریف کنید. برای تغییرات سادهتر، تابعهای Bash در ~/.bashrc گزینهی بهتری هستند.
Ctrl+R جستجو را پیدا نمیکند. مشکل از کجاست؟
احتمالاً متغیر HISTFILESIZE پایین تنظیم شده یا دستور مورد نظر با HISTIGNORE فیلتر شده. با echo $HISTFILESIZE مقدار آن را بررسی کنید. مقدار ۱۰۰۰ پیشفرض معقولی است، اما بسیاری از مدیران آن را روی ۵۰۰۰ یا بیشتر تنظیم میکنند.
جمعبندی
استفاده از میانبر ها در محیط ترمینال لینوکس بسیار کاربردی می باشد. با تسلط بر شورتکاتها نیازی به استفاده مکرر از ماوس نداریم، و با چند کلیک ساده به مقاصد خود خواهیم رسید. در این مقاله با برخی از میانبر های بسیار کاربردی لینوکس آشنا شدیم — از میانبرهای پایهای ناوبری در دایرکتوریها گرفته تا ویرایش خط دستور در Bash و مدیریت فرآیندها. بخش مهمی که اغلب نادیده گرفته میشود Ctrl+R است که جستجوی معکوس تاریخچه را فعال میکند؛ وقتی دستوری که دیروز نوشتید را به یاد نمیآورید، این کلید نجاتدهنده است. بنابراین اگر شما به طور مداوم با Terminal سیستم عامل Linux در حال کار هستید، بهتر است سعی کنید از میانبر ها بیشتر استفاده کنید تا سرعت و راحتی کار با ترمینال را به طور ملموس حس کنید.