ویرایشگرهای متنی لینوکس

به منظور ویرایش و تغییر فایلهای استارتآپ و همچنین بیشتر دیگر فایلهای پیکربندی موجود بر روی سیستم، از برنامههای ویرایشگر متنی استفاده میکنیم.
ویرایشگرهای متنی
یک ویرایشگر متنی برنامهای است که از نظر اینکه شما را قادر به ویرایش کلمات بر روی صفحه نمایش میکند، شبیه یک پردازشگر متنی عمل میکند. ولی این برنامه متفاوت از یک ویرایشگر کلمات میباشد.
ویرایشگرهای کلمات به فایل متنی، کاراکترهای دیگر اضافه میکنند. در حالی که ویرایشگرهای متنی فقط متن خالص را پشتیبانی میکنند. همچنین این ابزارها به منظور ویرایش فایلهای پیکربندی که سیستم را کنترل میکنند، استفاده میشود.
ویرایشگرهای متنی زیادی در داخل لینوکس قابل دسترس هستند. سیستم شما احتمالاً چندین مورد را به صورت نصب شده دارد. حال به چه دلیل انواع مختلفی از ویرایشگرهای متنی وجود دارد؟ احتمالاً به این دلیل که برنامهنویسها آنها را نوشتهاند و از آن جایی که برنامهنویسها به صورت گسترده از آنها استفاده میکنند علاقه دارند که ویرایشگرهایی را داشته باشند که به درستی کار میکنند.
انواع ویرایشگرهای متنی
ویرایشگرهای متنی به دو دسته کلی تقسیم میشوند: متکی به متن و گرافیکی.
GNOME و KDE هر دو دارای برخی ویرایشگرهای گرافیکی رایج هستند. GNOME دارای ویرایشگری با نام gedit است که معمولاً این ویرایشگر متن، داخل منوی GNOME میباشد. KDE به طور معمول دارای سه ویرایشگر متنی است: kwrite، kedit و kate.
به طور کل ویرایشگرهای متنی زیادی وجود دارند. رایجترین آنها nano، vi و emacs نام دارند.
ویرایشگر متنی nano ویرایشگری ساده است و استفاده از آن راحت است و به منظور جایگزینی برای ویرایشگر pico در نظر گرفته شده است.
ویرایشگر vi (بر روی اکثر توزیعهای لینوکس با برنامهای با نام vim جایگزین شده که مخفف عبارت vi improve به معنی نسخه بهینه یافته vi میباشد) ویرایشگر مرسوم سیستمهای یونیکس است.
ویرایشگر emacs توسط Richard Stallman مجری پروژه GNU نوشته شده است. Emacs یک محیط برنامهنویسی غولپیکر است که همه کار انجام میدهد. گر چه به آسانی در دسترس است ولی به ندرت بر روی اکثر سیستمهای لینوکس به صورت پیشفرض نصب شده است.
استفاده از یک ویرایشگر متنی
همه ویرایشگرهای متنی را میتوان از طریق خط فرمان به وسیله نوشتن نام ویرایشگر به همراه نام فایل مورد نظر برای ویرایش دسترسی پیدا کرد. اگر پس از وارد کردن فرمان به همراه نام فایل، فایل مورد نظر وجود نداشته باشد، ویرایشگر فرض خواهدکرد که شما میخواهید یک فایل جدید با این نام ایجاد کنید. به مثال زیر که از ویرایشگر gedit استفاده شده، توجه کنید:
1 |
[me@linuxbox ~]$ gedit some_file |
این فرمان، ویرایشگر متن gedit را اجرا کرده و فایلی با نام some_file را به منظور ویرایش باز میکند. در صورتی که این فایل وجود نداشته باشد، آن را ایجاد کرده و در ویرایشگر باز میکند.
ویرایشگرهای متنی گرافیکی نیاز به توضیح ندارند در نتیجه آنها را در اینجا توضیح نخواهیم داد. به جای آن بر روی اولین ویرایشگر مبتنی بر متن خود یعنی nano تمرکز میکنیم.
ولی قبل از آن به این نکته دقت کنید. هر زمان که ما شروع به ویرایش یک فایل مهم پیکربندی میکنیم، ایده خوبی است که یک فایل بکآپ از آن ایجاد کنیم. به این منظور از فرمان cp استفاده میکنیم:
1 |
[me@linuxbox ~]$ cp .bashrc .bashrc.bak |
مهم نیست که نام فایل بکآپ را چه بگذارید فقط نامی انتخاب کنید که قادر به تشخیص آن باشید. پسوندهای bak، sav، old و orig همگی راههای رایج برای نشان دادن فایل بکآپ هستند. اکنون ما یک فایل بکآپ داریم، شروع به ویرایش فایل در ویرایشگر nano میکنیم:
1 |
[me@linuxbox ~]$ nano .bashrc |
زمانی که nano آغاز میگردد صفحهای مشابه زیر را مشاهده خواهید کرد:
1 2 3 4 5 6 7 8 9 10 |
GNU nano 2.0.3 File: .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions [ Read 8 lines ] ^G Get Help^O WriteOut^R Read Fil^Y Prev Pag^K Cut Text^C Cur Pos ^X Exit ^J Justify ^W Where Is^V Next Pag^U UnCut Te^T To Spell |
این صفحه شامل یک هدر (Header) در بالای آن است. محتوای فایل در میانه آن ویرایش میشود و یک منو از فرمانهای پایین وجود دارد. از آنجایی که nano به منظور جایگزین شدن به جای ویرایشگر متنی ایمیل کلاینت در نظر گرفته شده است دارای ویژگیهای بسیار کمی است.
اولین فرمانی که بایستی در هر ویرایشگر متنی فرا بگیرید این است که چگونه از برنامه خارج شوید. در مورد nano برای خروج بایستی Ctrl+X را فشار دهید. در نوار پایینی ویرایشگر نیز این گزینه نمایش داده شده است. علامت ^X همان Ctrl+X است.
این یک نشانهگذاری رایج به جای نوشتن واژه Ctrl در بسیاری از برنامهها میباشد.
دومین فرمان که ما بایستی بدانیم این است که چگونه تغییر ایجاد شده خود را ذخیره کنیم. در nano با وارد کردن Ctrl+O این کار صورت میگیرد. با داشتن این دانش اکنون میتوانیم تغییراتی در محتوای فایل ایجاد کنیم. با استفاده از کلیدهای جهت، بین متن حرکت کنید و به انتهای فایل برسید و خطوط زیر را در داخل فایل .bashrc وارد کنید:
1 2 3 4 5 |
umask 0002 export HISTCONTROL=ignoredups export HISTSIZE=1000 alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' |
توزیع لینوکس شما ممکن است هماکنون برخی از این خطوط را داشته باشد ولی مشکلی نیست چون که تکرار آنها ضرری به وجود نمیآورد. این فرمانها چه معنایی دارند؟
جدول زیر معنای آنها را توضیح میدهد:
خط | مفهوم |
---|---|
Umask 0002 | تنظیم umask به منظور حل مشکل با پوشههای اشتراکی |
export HISTCONTROL=ignoredups | موجب میشود که تاریخچه شل اگر یک فرمان را ضبط کرده باشد آن را نادیده بگیرد |
export HISTSIZE=1000 | افزایش اندازه تاریخچه فرمان از مقدار پیشفرض 500 خط به 1000 خط |
alias l.='ls -d .* --color=auto' | ایجاد یک فرمان جدید با نام l که همه ورودیهای پوشه را که با نقطه شروع میشوند را نمایش میدهد. |
alias ll='ls -l –color=auto' | ایجاد یک فرمان جدید با نام ll که لیست پوشه با فرمت طولانی را نشان میدهد. |
همانطور که میبینیم بسیاری از اضافات ما به صورت مستقیم واضح نیستند در نتیجه ایده بدی نیست که به آنها کامنت اضافه کنیم. در نتیجه تغییرات ما به شکل زیر خواهد بود:
1 2 3 4 5 6 7 8 9 |
# Change umask to make directory sharing easier umask 0002 # Ignore duplicates in command history and increase # history size to 1000 lines export HISTCONTROL=ignoredups export HISTSIZE=1000 # Add some helpful aliases alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' |
همان طور که میبینید پس از اضافه کردن توضیحات، اگر بعدها خواستید به کد مراجعه کنید و آن را تغییر دهید، به راحتی بیشتر آن را مطالعه خواهید نمود. پس از انجام تغییرات به منظور ذخیره فایل Ctrl+O را فشار دهید و برای خروج فایل Ctrl+X را فشار دهید تا از برنامه nano خارج شوید.
یک روش دیگر برای خروج و ذخیره همزمان، فشردن کلیدهای Ctrl+X میباشد. در این حالت چون که فایل را ذخیره نکردهاید از شما میپرسد که آیا میخواهید فایل را ذخیره کنید؟ با وارد کردن Y و فشردن کلید Enter فایل را ذخیره کرده و از برنامه خارج میشوید.
فعالسازی تغییرات
تغییراتی که در فایل .bashrc انجام دادیم تا زمانی که ما نشست خود را ببندیم و یک نشست جدید باز کنیم اثرگذار نخواهد بود. به این دلیل که فایل .bashrc فقط زمانی که یک نشست جدید را آغاز خوانده میشود. هر چند با استفاده از فرمان زیر میتوانیم خط فرمان را مجبور کنیم که مجدداً فایل .bashrc را بخواند:
1 |
[me@linuxbox ~]$ source .bashrc |
پس از انجام این کار بایستی قادر باشیم تا تغییرات انجام داده را به صورت عملی انجام دهیم. به منظور انجام این کار یکی از alias های جدیدی که ایجاد کردهایم را تست میکنیم. همانطور که در زیر میبینیم این فرمان عملی است:
1 |
[me@linuxbox ~]$ ll |