بهروزرسانی شده در ۱۸ مهر ۱۴۰۵
آموزش کار با ویرایشگر vi در لینوکس 🐧 (راهنمای جامع + لیست دستورات)
اولین باری که یک سرور مجازی یا اختصاصی لینوکس (مثلاً با سیستمعامل قدرتمند AlmaLinux) تهیه میکنید و از طریق SSH به آن متصل میشوید، برای ویرایش فایلهای پیکربندی (مثل
wp-config.php وردپرس یا فایلهای تنظیمات LiteSpeed) به یک ویرایشگر متنی نیاز دارید. در این زمان، ویرایشگر vi (و نسخه پیشرفتهتر آن vim) به عنوان قدرتمندترین، سریعترین و در دسترسترین ابزار در تمام توزیعهای لینوکس خودنمایی میکند.بزرگترین شوخی در دنیای مدیران سرور این است: “چگونه از ویرایشگر vi خارج شوم؟”! این مقاله از مگ نگارنوین، به عنوان یک راهنمای کامل و اصولی به شما کمک میکند تا نه تنها نحوه خروج، بلکه تمام ترفندها و دستورات جادویی این ویرایشگر را مانند یک مدیر سیستم (SysAdmin) حرفهای یاد بگیرید.
ویرایشگر vi چیست و چرا باید آن را یاد بگیریم؟
ویرایشگر vi (مخفف Visual Editor) یک ویرایشگر متن مبتنی بر خط فرمان (CLI) است که به طور پیشفرض روی ۱۰۰٪ توزیعهای لینوکس و یونیکس نصب شده است. بر خلاف ویرایشگرهای گرافیکی یا حتی
nano، در vi برای حرکت بین خطوط، کپی کردن، جستجو و ذخیره فایل، نیازی به موس یا منوهای پیچیده ندارید؛ همه چیز تنها با کیبورد و با بالاترین سرعت ممکن انجام میشود.مزایای اصلی vi:
- همیشه در دسترس: روی هر سروری (حتی در حالت Rescue Mode) کار میکند.
- مصرف منابع صفر: هیچ باری روی پردازنده و رم سرور شما (حتی سرورهای شلوغ هاستینگ) ایجاد نمیکند.
- سرعت برقآسا: وقتی میانبرها را یاد بگیرید، سرعت کدنویسی و کانفیگ سرور شما چند برابر میشود.
۳ حالت (Mode) اصلی در ویرایشگر vi 🚦
دلیل اصلی سردرگمی کاربران تازهکار این است که نمیدانند
vi دارای حالتهای مختلف کاری است. وقتی فایلی را با دستور vi filename.txt باز میکنید، نمیتوانید مستقیماً تایپ کنید! شما باید بین ۳ حالت زیر جابجا شوید:۱. حالت فرمان (Command Mode) 🛡️
- وضعیت پیشفرض: به محض باز کردن فایل، در این حالت هستید.
- کاربرد: در این حالت هر کلیدی که فشار میدهید به عنوان یک “دستور” در نظر گرفته میشود (مثلاً برای کپی کردن، پاک کردن خطوط، یا حرکت در متن).
- نکته: اگر در حالتهای دیگر بودید، با فشردن کلید
Escهمیشه به این حالت برمیگردید.
۲. حالت درج یا نوشتن (Insert Mode) ✍️
- کاربرد: تایپ کردن و ویرایش متن دقیقاً مانند نرمافزار نوتپد (Notepad).
- نحوه ورود: در حالت فرمان، کلید
i(برای نوشتن از قبل از کرسر) یاa(برای نوشتن از بعد از کرسر) را فشار دهید. در پایین صفحه کلمه-- INSERT --ظاهر میشود. - نحوه خروج: فشردن کلید
Esc.
۳. حالت خط فرمان پایین صفحه (Last-Line / Ex Mode) ⚙️
- کاربرد: برای ذخیره فایل، خروج از برنامه، یا جستجو و جایگزینی کلمات.
- نحوه ورود: در حالت فرمان، کلید
:(دو نقطه) را تایپ کنید تا نشانگر به پایین صفحه منتقل شود.
جدول طلایی دستورات vi (میانبرهای کاربردی) 📋
برای دسترسی سریع، تمام دستورات ضروری را در جداول زیر دستهبندی کردهایم. (برای استفاده از این دستورات حتماً باید با زدن دکمه
Esc در حالت فرمان باشید).۱. دستورات خروج و ذخیرهسازی (Last-Line Mode)
برای اجرای این دستورات اول
: را بزنید و سپس حروف زیر را تایپ کرده و Enter را بزنید:| دستور | عملکرد | کاربرد در واقعیت |
:w | Write (ذخیره) | فایل را ذخیره میکند اما از محیط ویرایشگر خارج نمیشود. |
:q | Quit (خروج) | اگر تغییری نداده باشید، خارج میشود. |
:wq یا :x | Write & Quit | تغییرات را ذخیره کرده و خارج میشود (پرکاربردترین دستور). |
:q! | Force Quit | تغییرات را نادیده میگیرد و بدون ذخیره کردن به اجبار خارج میشود. |
۲. دستورات جابجایی در متن (بدون نیاز به موس)
با وجود اینکه کلیدهای جهتنما (Arrow Keys) در سرورهای مدرن کار میکنند، اما حرفهایها از حروف زیر استفاده میکنند:
| کلید | مسیر حرکت نشانگر (Cursor) |
h / j / k / l | به ترتیب: چپ / پایین / بالا / راست |
w | پرش به ابتدای کلمه بعدی |
0 (عدد صفر) | پرش به ابتدای خط فعلی |
$ | پرش به انتهای خط فعلی |
gg | پرش سریع به اولین خط فایل |
G | پرش سریع به آخرین خط فایل |
۳. دستورات ویرایش، کپی و حذف (Command Mode)
| کلید | عملکرد ویرایشی |
x | حذف کاراکتری که نشانگر روی آن است (مثل دکمه Delete). |
dd | حذف کل خط فعلی (بسیار کاربردی برای پاک کردن کانفیگهای اشتباه). |
yy | کپی کردن (Yank) کل خط فعلی. |
p | جایگذاری (Paste) خط کپی شده یا حذف شده در خط پایین. |
u | بازگردانی یا Undo (لغو آخرین تغییر انجام شده). |
Ctrl + r | انجام مجدد یا Redo. |
۴. دستورات جستجو در متن
هنگام ویرایش فایلهای طولانی مثل
php.ini، پیدا کردن یک کلمه خاص با چشم غیرممکن است:- برای جستجو، در حالت فرمان کلید
/(اسلش) را بزنید، کلمه مورد نظر (مثلاًmemory_limit) را تایپ کرده وEnterبزنید. - برای رفتن به نتیجه بعدی، کلید
n(حروف کوچک) را بزنید. - برای برگشت به نتیجه قبلی، کلید
N(حروف بزرگ) را بزنید.
سناریوی عملی: ویرایش فایل wp-config.php با vi 🛠️
بیایید تمام مواردی که یاد گرفتیم را در یک مثال واقعی که برای مشترکین هاست و سرور وردپرسی نگارنوین بسیار پیش میآید، تمرین کنیم:
- باز کردن فایل: در ترمینال دستور
vi wp-config.phpرا وارد کنید. - پیدا کردن خط: دکمه
/را بزنید و بنویسیدDB_PASSWORDو اینتر کنید. - ویرایش: با زدن دکمه
l(ال) نشانگر را روی رمز عبور قدیمی ببرید. دکمهxرا چند بار بزنید تا رمز قدیمی پاک شود. - نوشتن رمز جدید: دکمه
iرا بزنید تا وارد حالت Insert شوید. رمز جدید را تایپ کنید. - ذخیره و خروج: دکمه
Escرا بزنید (تا از حالت نوشتن خارج شوید). حالا تایپ کنید:wqو اینتر را بزنید.فایل با موفقیت ویرایش و ذخیره شد!
سرور مجازی لینوکس
تسلط بر ویرایشگر vi، مرز بین یک کاربر مبتدی و یک متخصص مدیریت سیستم است. شاید در نگاه اول محیط تاریک و بدون منوی آن ترسناک به نظر برسد، اما با چند بار تمرین و استفاده از لیست دستورات بالا، متوجه سرعت بینظیر آن در ویرایش فایلهای لینوکسی خواهید شد.
در زیرساختهای ابری و سرورهای فوقسریع نگارنوین که با فایروالهای قدرتمند Imunify360 و وبسرورهای لایتاسپید پیکربندی شدهاند، استفاده از دستورات سریع خط فرمان (CLI) به شما کمک میکند تا بالاترین سطح امنیت و پایداری را با دسترسی Root تجربه کنید.
