برای ویرایش کردن متن و فایل متنی در لینوکس، می‌توان از اپلیکیشن‌های گرافیکی مختلفی استفاده کرد. این روش نسبت به ویرایش فایل متنی از طریق ابزارهای غیرگرافیکی مثل Nano و Vim در محیط Terminal ساده‌تر است. برای این مهم می‌توانید از gedit که ویرایشگر متن پیش‌فرض GNOME است، استفاده کنید. این ویرایشگر متن در توزیعات محبوب لینوکس مثل اوبونتو و فدورا و دبیان و همین‌طور CentOS و Red Hat به عنوان اپلیکیشن پیش‌فرض موجود است.

در این مقاله روش اجرا کردن gedit برای ویرایش فایل‌های متنی در لینوکس را بررسی می‌کنیم. با ما باشید.

آشنایی با ویرایشگر متن gedit

ویرایشگر متن در دستاپ گنوم، اپلیکیشن معروف gedit است. در هر توزیع دیگری از لینوکس که دستاپ GNOME موجود باشد، این اپلیکیشن نیز قابل استفاده است. به عبارت دیگر در لینوکس‌هایی مثل Ubuntu و Fedora و Debian و CentOS و Red Hat و بسیاری دیگر، می‌توانید از gedit برای ویرایش فایل‌های متنی استفاده کنید.

ویرایش فایل‌های متنی نه تنها در کاربردهای ساده بلکه برای تغییر دادن پیکربندی سیستم لینوکس و در واقع ویرایش فایل‌های Configuration موضوع مهمی است. علاوه بر این می‌توانید فایل‌های Log یا گزارش را مطالعه کنید و مشکلات سیستم را شناسایی کنید. این فایل‌ها نیز عملاً فایل متنی ساده محسوب می‌شوند.

قابلیت مفید و جالب gedit این است که سینتکس‌ها را با رنگ‌های مختلف، هایلایت و مشخص می‌کند. متغیرها، کلماتی که دستور خاصی هستند، کامنت و توضیح دستورات، پارامترها و غیره همگی با رنگ‌های مختلف مشخص می‌شود که برنامه‌نویسی را ساده‌تر و کم‌اشتباه‌تر می‌کند.

نام فایلی که باز شده در نوار ابزار بالای صفحه نمایش داده می‌شود. اگر فایل را تغییر داده باشید، در کنار نام یک نماد * نیز اضافه می‌شود تا فراموش نکنید که فایل تغییر داده شده را قبل از بستن، ذخیره کنید.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

نحوه اجرا کردن gedit از طریق ترمینال لینوکس

برای اجرا کردن اپلیکیشن gedit‌ کافی است دستور gedit را در ترمینال تایپ کنید و Enter را فشار دهید:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

به این ترتیب پنجره‌ی این اپلیکیشن نمایان می‌شود.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

همان‌طور که در تصویر فوق مشاهده می‌کنید، پنجره‌ی این اپلیکیشن ساده و خلوت است اما در عین حال امکانات فراوانی دارد.

روش گرافیکی برای اجرا کردن gedit هم بسیار ساده است. ابتدا منوی اپلیکیشن‌ها را باز کنید و سپس به دنبال اپی با نام Text Editor بگردید و آن را اجرا کنید.

حتی می‌توانید gedit را جستجو کنید و این اپ را در نتایج سرچ پیدا کنید چرا که این عبارت در توضیحات و مشخصات اپلیکیشن Text Editor‌ ذکر شده است.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

اجرا کردن gedit در پس‌زمینه

اگر با روش ذکر شده gedit را اجرا کنید، پنجره‌ی ترمینال متوقف می‌شود و تا زمانی که پنجره‌ی gedit فعال است، قابل استفاده نیست. اگر به پنجره‌ی ترمینال برای اجرای دستورات نیاز دارید، می‌توانید از همان دستور قبلی با اضافه کردن & استفاده کنید. در این صورت gedit به عنوان یک فعالیت پس‌زمینه، اجرا می‌شود و Terminal غیرقابل‌استفاده نمی‌شود. لذا دستور زیر را تایپ کنید و Enter را فشار دهید:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

باز کردن فایل در gedit

برای باز کردن فایل متنی در این ویرایشگر متن، می‌توانید از دکمه‌ی Open در نوار ابزار استفاده کنید.

شورت‌کات باز کردن فایل در gedit، کلید میانبر Ctrl + O است.

به این ترتیب پنجره‌ی فایل‌های اخیراً باز شده یا Recent files نمایان می‌شود. کافی است روی نام یکی از فایل‌ها کلیک کنید تا باز شود. برای باز کردن فایلی که در لیست وجود ندارد، روی دکمه‌ی Other documents کلیک کنید.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

به این ترتیب پنجره‌‌ی اپلیکیشن مدیریت فایل برای انتخاب کردن فایل متنی باز می‌شود. فولدر موردنظر را باز کنید و فایل را انتخاب کرده و روی دکمه‌ی Open کلیک کنید.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

باز کردن فایل متنی با دستورات در ترمینال

اگر آدرس و نام فایل را دقیقاً می‌دانید، می‌توانید مستقیماً از طریق ترمینال فایل را باز کنید. برای این کار کافی است پس از دستور gedit، نام و آدرس کامل فایل را تایپ کنید و Enter‌ را فشار دهید. البته اگر فایل در فولدر کاری فعلی موجود باشد، نیازی به آدرس نیست بلکه می‌توانید صرفاً نام را تایپ کنید.

برای تغییر دادن فولدر کاری در لینوکس و ویندوز و مک‌او‌اس، از فرمان CD استفاده کنید.

به عنوان مثال برای باز کردن فایلی به اسم ana.c در فولدر فعلی از فرمان زیر استفاده می‌شود:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

ذخیره کردن تغییرات فایل در gedit

برای ذخیره کردن تغییرات فایل، روی دکمه‌ی Save در نوار ابزار بالای پنجره کلیک کنید.

شورت‌کات سیو کردن فایل ویرایش شده، Ctrl + S است.

برای ذخیره کردن فایل با نامی متفاوت یا در فولدری متفاوت، می‌بایست از منو و گزینه‌ی Save As استفاده کنید.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

با انتخاب Save As، پنجره‌ی انتخاب فولدر و نام فایل باز می‌شود. نام را در کادر Name تایپ کنید و سپس روی Save کلیک کنید.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

ویرایش فایل‌های سیستمی در gedit

برای ویرایش کردن یک فایل سیستمی، می‌بایست gedit را با دسترسی روت اجرا کنید چرا که در غیر این صورت نمی‌توانید فایل را ویرایش و ذخیره کنید. البته باز کردن فایل ممکن است انجام شود اما ذخیره کردن فایل تغییر داده شده، امکان‌پذیر نیست.

توجه کنید که فایل‌های سیستمی لینوکس را بدون اطلاعات دقیق تغییر ندهید چرا که ممکن است سیستم عامل درست عمل نکند.

برای اجرا کردن gedit با دسترسی روت، قبل از دستور gedit از sudo استفاده کنید. مثل دستور زیر که یکی از فایل‌های پیکربندی را برای ویرایش در محیط gedit بازگشایی می‌کند:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

و نتیجه‌ی اجرای فرمان فوق:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

اهمیت سطح دسترسی‌ها و مالکیت فایل‌ها و شیوه‌ی کپی کردن

یک روش محتاطانه برای ویرایش فایل‌های سیستمی در لینوکس، کپی کردن فایل‌های سیستمی و سپس ویرایش کردن نسخه‌ی کپی است و ذخیره کردن تغییرات روی نسخه‌ی اصلی است. اگر مشکلی به وجود بیاید، می‌توانید فایل کپی شده که تغییرات روی آن سیو نشده را جایگزین کنید. در این صورت مشکل احتمالاً به سرعت رفع می‌شود.

زمانی که فایلی را کپی می‌کنید، مالکیت فایل یا به زبان دیگر Ownership و همین‌طور سطح دسترسی یا Permissions آن ممکن است تغییر کند و این موضوع مطلوب نیست. می‌بایست فایل را به گونه‌ای کپی کنید که مالکیت و دسترسی‌های آن تغییری نکند. در ادامه روش این کار را توضیح می‌دهیم اما قبل از این بررسی روش کار، موضوع اهمیت دسترسی‌ها و مالکیت را با مثالی بررسی می‌کنیم.

فرض کنید که می‌خواهید فایلی به اسم fstab را با حفظ مالکیت و دسترسی‌های آن کپی کنید. برای این مهم ابتدا یک فایل جدید ایجاد می‌کنیم و سپس محتویات فایل اصلی را در آن کپی می‌کنیم.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

حال برای چک کردن خواص فایل و دسترسی‌ها و مالکیت، دستور زیر را اجرا می‌کنیم:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

مالک فایل همان‌طور که در تصویر مشاهده می‌کنید dave است و دسترسی از نوع خواندن و نوشتن یا Read و Write است. برای سایر افراد، دسترسی از نوع فقط خواندنی یا read-only‌ است.

حال همان فایل را کپی می‌کنیم و سپس ویژگی‌های فایل کپی شده را چک می‌کنیم:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

در اثر کپی کردن فایل fstab به جای new_fstab، خواص فایل جدید که new_fstab است، تغییر نمی‌کند. این موضوع را با اجرا کردن دستور زیر بررسی می‌کنیم:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

همان‌طور که می‌بینید سطح دسترسی و مالکیت تغییر کرده است. دسترسی گروه از نوع خواندن و نوشتن است و مالک فایل root است. بنابراین این دو مورد قبل از کپی کردن فایل به جای فایل اصلی، نیاز به تصحیح کردن دارد.

لذا ابتدا فایل new_fstab در محیط gedit‌ باز می‌شود و تغییرات لازم انجام می‌شود:

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

و پس از ذخیره کردن تغییرات، نوبت به ویرایش مالکیت و سطح دسترسی می‌رسد. برای این مهم می‌توانید از chmod و chown استفاده کنید.

به عنوان مثال اگر پس از دستور chmod از آپشن --reference استفاده کنید و سپس نام فایل مبدأ و فایل مقصد را وارد کنید، این دستور موجب کپی کردن Permissions‌ فایل مبدأ و اعمال همان دسترسی‌ها روی فایل مقصد می‌شود. دستور chown نیز به صورت مشابه همین عمل را انجام می‌دهد. لذا دو دستور برای کپی کردن دسترسی‌ها و مالکیت مورد نیاز است و بهتر است پس از اجرای این دو دستور، خواص فایل را با دستور ls چک کنید.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

اکنون دسترسی‌ها و مالکیت new_fstab با fstab یکسان شده و هر زمان که لازم باشد می‌توان فایل کپی را روی فایل اصلی کپی کرد.

ویرایش متن، فایل‌های سیستمی و پیکربندی با gedit در لینوکس

تغییرات اعمال شده در برخی فایل‌های سیستمی، تنها پس از ریبوت کردن سیستم موثر واقع می‌شود. در مورد این فایل خاص می‌توانید از دستور mount استفاده کنید تا تغییرات به صورت آنی عملیاتی شود.