خط فرمانگنو/لینوکس

شخصی‌سازی خط فرمان

در این آموزش و آموزش‌های بعدی می‌خواهیم شخصی‌سازی خط فرمان را آموزش دهیم. به این منظور بایستی ابتدا ساختار کلی خط فرمان را یاد بگیریم.

شخصی‌سازی خط فرمان

ابتدا آناتومی خط فرمان را خواهیم آموخت، سپس شروع به تغییر خواهیم کرد:

آناتومی خط فرمان

خط فرمان پیش‌فرض ما به شکل زیر است:

توجه کنید خط فرمان شامل نام کاربری ما، نام میزبان و پوشه فعلی که در آن قرار گرفتیم، می‌باشد، ولی تنظیمات از کجا آمده است؟ خط فرمان (Command Prompt) توسط یک متغیر محیطی با نام PS1 (سرنام Prompt String 1) تعریف شده است. ما می‌توانیم با استفاده از فرمان echo محتویات این متغیر را نمایش دهیم: (در صورتیکه نتایج شما متفاوت بود، نگران نباشید؛ زیرا هر توزیعی از لینوکس متغیر PS1 را به شیوه‌ای متفاوت تعریف می‌کند).

از نتایج بدست آمده می‌بینیم که متغیر PS1 دارای برخی کاراکترهاست، مثل براکت ([])  و علامت @ و …

جدول زیر این کاراکترها را توصیف می‌کند. در دروس بعدی نحوه شخصی‌سازی این متغیرها را توضیح خواهیم داد.

توالیمقدار نمایش داده شده
\aاین توالی موجب می‌شود کامپیوتر صدای بیپ بدهد و به زنگ ASCII معروف است.
\dتاریخ فعلی روز. روز، ماه برای مثال 17 Sun May
\hنام میزبان ماشین محلی
\Hنام میزبان کامل ماشین
\jتعداد جابهای در حال اجرا در نشست اخیر شل
\lنام دیوایس اخیر ترمینال
\nیک کاراکتر خط جدید
\rیک Carriage return
\sنام برنامه شل
\tزمان فعلی به 24 ساعت به فرمت ساعت:دقیقه:ثانیه
\Tزمان فعلی یه 12 ساعت
\@زمان فعلی به 12 ساعت با فرمت AM/PM
\Aزمان فعلی به 24 به فرمت ساعت:دقیقه
\uنام کاربری کاربر فعلی
\vشماره نسخه شل
\Vشماره‌های نسخه و انتشار شل
\wنام پوشه فعلی
\Wآخرین بخش از نام پوشه فعلی
\!شماره تاریخچه فرمان فعلی
\#تعداد فرمانهای وارد شده در طی این نشست شل
\$توالی $ نشاندهنده دسترسی کاربر ارشد است
\]این یک سری از کاراکترها را سیگنال می‌کند. این توالی به منظور جای دادن کاراکترهای کنترل چاپ نشدنی استفاده می‌شود که شبیه‌سازی ترمینال را دستکاری می‌کند مثل جابجا کردن مکان‌نما یا تغییر رنگ متن
\[این توالی پایان یک توالی چاپ نشدنی را مشخص می‌کند.

ایجاد طراحی جایگزین برای خط فرمان

با لیست کاراکترهای ویژه‌ای که در درس قبلی مشاهده کردید، ما اکنون می‌توانیم خط فرمان را تغییر دهیم تا تاثیر آن را مشاهده کنیم. اول از همه رشته موجود در متغیر PS1 بکاپ می‌گیریم تا بعدها در صورت نیاز بتوانیم آن را بازیابی کنیم. به این منظور با استفاده از فرمان زیر متغیر موجود را در یک متغیر جدید که خودمان ایجاد می‌کنیم (با نام ps1_old) کپی می‌کنیم:

یک متغیر جدید با نام ps1_old ایجاد کردیم و مقدار آن را برابر مقدار PS1 قرار دادیم. با استفاده از فرمان echo مقدار آن را مشاهده می‌کنید:

حالا هر زمان با استفاده از معکوس کردن فرمان به صورت زیر می‌توانیم این مقدار را بازیابی کنیم:

حال که آماده پردازش هستیم، بگذارید تست کنیم ببینیم که اگر یک رشته فرمان خالی داشته باشیم چه اتفاقی می‌افتد.

این کار را با فرمان زیر و خالی کردن مقدار PS1 انجام می‌دهیم:

حال که خط فرمان خالی است و از آنجایی که کمی گیج‌کننده است ابتدا مقدار آن را با یک مقدار حداقلی جایگزین می‌کنیم:

اکنون حداقل یک علامت دلار در خط فرمان می‌بینیم. می‌توانیم یک خط فرمان دارای اطلاعات مفید ایجاد کنیم که نام میزبان و زمان را به ما نشان دهد:

اضافه کردن زمان به خط فرمان در صورتی مفید می‌باشد که بخواهیم زمان اجرای فرمان‌ها را بررسی کنیم. برای بازگشت حالت قبلی خط فرمان با استفاده از فرمان زیر آن را بکاپ می‌گیریم:

منبع: لینوکس‌سیزن نوشته فرشید نوتاش حقیقت
https://bit.ly/2QFSsmO

فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

دکمه بازگشت به بالا