سفارشيسازي پوسته لينوكس
ارسال شده: سهشنبه ۲۷ آذر ۱۳۸۶, ۸:۳۱ ق.ظ
به طور كلي در سيستمهاي خانواده يونيكس، از جمله لينوكس، پوسته يا shell اولين انتخاب كاربران حرفهاي و مديران سيستم جهت انجام فعاليتهاي عادي و مديريتي به شمار ميرود. از ميان پوستههاي متعدد موجود، Bourne Again Shell) bash) بهعنوان پوستهاي مدرن و كارآمد، خصوصاً در امر اسكريپتنويسي، در اغلب توزيعهاي لينوكس و بسياري ديگر از سيستمهاي خانواده يونيكس، به طور پيشفرض ارائه ميگردد. ازاينرو آموختن راههايي جهت استفاده هر چه مؤثرتر از پوسته، منجر به بهرهوري بيشتر و صرفهجويي در وقت خواهد گرديد. در اين مقاله با تمركز بيشتري بر پوستهِ پيشفرض لينوكس، يا همان bash، ترفندهايي جهت سفارشيسازي پوسته ارائه گرديده است.
پس از اجراي پوسته، از هر نوع كه باشد، اولين چيزي كه جلب توجه ميكند، اعلان پوسته يا shell prompt است. غالباً اعلانهاي پيشفرض با نيازها و سلايق ما فاصله دارند و از همان آغاز، نياز به سفارشيسازي را در ما به وجود ميآورند.
شكل 1
اعلان نمايشيافته پيش فرض توسط پوسته، در پوستههاي خانواده Bourne توسط متغيري به نام PS1 و در پوستههاي خانواده C در متغيري به نام prompt ذخيره ميگردد. همانگونه كه در شكل 1 با اجراي دستور echo $PS1، محتويات متغير PS1 در خط دوم به نمايش در آمده است.
براي بررسي چگونگي عملكرد آن، با استفاده از دستور cd/usr/local/bin به دايركتوري ياد شده تغيير مكان ميدهيم.
همانگونه كه ملاحظه ميكنيد، تنها بخش انتهايي مسير ياد شده، يعني bin، در اعلان به نمايش درآمده است.
شكل 2
براي مشخصتر شدن اين وضعيت، مجدداً دستور cd را به همراه دايركتوريهاي usr/bin/ و bin/ اجرا نماييد. در تمامي دايركتوريهاي ياد شده، تنها بخش نمايش يافته bin است.
بدينترتيب پس از زمان اندكي، دانستن اينكه دقيقاً در كجاي سيستم قرار داريم، تنها با نگاه كردن به اعلان، مشكل خواهد بود.
اما راه حل آن بسيار آسان است. W\ را به w\ تغيردهيد. براي اينكار دستور زير را در مقابل اعلان تايپ نماييد:
"$\[\export PS1="[u@\h \w
حال مجدداً به دايركتوري usr/local/bin/ تغيير مكان دهيد. همانگونه كه ملاحظه ميكنيد، در اينباره موفق بوديم. اما هنوز مشكلي وجود دارد.
شكل 3
براي فهميدن آن با دستور exit از پوسته خارج شويد و مجدداً آن را اجرا نماييد. درست است! اعلان پوسته به وضعيت سابق خود بازگشته است.
راهحل اين مشكل نيز بسيار ساده و البته دائمي است. با استفاده از يك ويرايشگر متني مانند Vim، فايل bashrc./ را ويرايش كنيد و دستور export را همانند آنچه كه يك بار مقابل اعلان تايپ نموديد، به فايل مورد نظر اضافه نماييد.
كساني كه تجربه كمتري در اينباره دارند، بهتر است پيش از ويرايش اين فايل، يك كپي از آن را بهعنوان پشتيبان تهيه نمايند.
در صورت عدم وجود اين فايل، بدون هيچ مشكلي ميتوان آن را توسط ويرايشگر ايجاد نمود و ساير مراحل را مطابق آنچه كه ذكر شد، پيگيري كرد. پس از ويرايش فايل مورد نظر و ذخيره آن، هنوز چيزي تغيير نكرده است. براي مشاهده نتيجه كارتان، دستور bashrc./~ را اجرا نماييد.
البته همين كار را ميتوان با يكبار خروج از پوسته و ورود مجدد به آن، انجام داد. از اين پس تنها نيم نگاهي به اعلان پوسته كافي است تا از مسير فعلي خود مطلع شويد.
حال با پشت سر نهادن يك مرحله از سفارشيسازي اعلان پوسته، مرحله ديگري از اين فرايند را آغاز مينماييم. پس از اجراي چند دستور در سيستم، درمييابيم كه تشخيص اعلان پوسته از نتايج حاصل از دستورات، كار دشواري است.
براي حل اين مشكل نيز راه حل ساده اي وجود دارد: تغيير رنگ اعلان پوسته به نحوي كه از ساير متون متمايز گردد. بدين منظور با ويرايش مجدد فايلد bashrc ./~ خط زير را جايگزين |"$\[u@\h \w\]export PS1="نماييد:
export PS1="[\[\033[01;32m\]\u@\h\[033[00m\]\033[01;34m\]\w\[\033[00m\]]\$"
توصيف
علامت
كاربر فعلي سيستم
u\
نام ميزبان، پيش از رسيدن به اولين "."
h\
نام كامل ميزبان
H\
مسير فعلي
w\
بخش انتهايي از مسير فعلي
(basename $PWD)
W\
در صورتيكه UID برابر با صفر باشد، # و در غير آنصورت $
$\
تاريخ با فرمت " روز- ماه- روز هفته"
d\
زمان در قالب دوازده ساعته با نمايش a.m/p.m
@\
نام پوسته فعلي
s\
شماره دستور فعلي در تاريخچه
!\
مانند مورد قبل، پس از ذخيره فايل، دستور bashrc./~ را براي مشاهده نتيجه كارتان اجرا نماييد.
در صورتي كه از ترمينالهاي موجود در محيطهاي گرافيكي استفاده مينماييد، با تغيير رنگ پس زمينه به رنگي تيرهتر، به كارتان جلوه بهتري بدهيد.
ذخيره كردن تنظيمات ترمينال را فراموش نكنيد. حال ميتوانيد با اجراي چند دستور نتيجه كارتان را بررسي كنيد. شكل 2 نمايي از تغييرات اعمال شده در اعلان پوسته را به نمايش ميگذارد.
تا اينجاي كار مطالب ذكر شده با نگاهي به كاربران عادي سيستم ارايه گرديدهاند، اما از آنجا كه احتمالاً اغلب شما حداقل روي كامپيوتر شخصي خود، وظايف يك مدير سيستم را نيز بر عهده داريد، ذكر ترفندهايي مشابه و البته متناسب با مدير سيستم در اين بخش خالي از لطف نخواهد بود.
بدين منظور وبدون هيچ مقدمهاي با اجراي دستور -su و به دنبال آن با وارد كردن كلمه عبور مدير سيستم يا همان root user، به بالاترين سطح اختيارات و توان اجرايي در سيستم دست مييابيم و همزمان به دايركتوري شخصي مدير سيستم يا همان root/ وارد ميشويم.
با اجراي دستور pwd نسبت به موقعيتي كه در آن قرار داريم، اطمينان حاصل مينماييم. حال با استفاده از ويرايشگر مورد نظر خود، خط زير را به فايل root/.bashrc/ بيفزاييد.
همانگونه كه پيشتر ذكر شد، در صورت عدم وجود اين فايل، ميتوانيد بدون هيچ مشكلي آن را ايجاد كنيد و ساير مراحل را پيگيري نماييد.
export PS1="[\[\033[01;31m\]\u@\h\[033[00m\]\[\033[01;34m\]\w\[033[00m\]]#"
مانند دفعات قبل، فايل را ذخيره كنيد و دستور root/.bashrc./ را اجرا نماييد. همانگونه كه در شكل 3 مشاهده ميشود، اعلان پوسته مدير سيستم، با رنگ متمايز خود، ما را از حساسيت موقعيتمان آگاه ميسازد.
بدين ترتيب پس از سپري نمودن چند مرحله از فرآيند سفارشيسازي اعلان پوسته و به دست آوردن آشنايي مختصري در اين باره، زمان مناسبي است تا با بعضي از رايجترين علايم و نشانههاي به كار رفته در اين فرآيند، مطابق جدول 1 آشنا شويم. در خاتمه ميتوان گفت كه استفاده از ترفندهاي معرفي شده ميتوانند محيط مناسبتري را مطابق با سليقه و نياز شما فراهم كنند.
پس از اجراي پوسته، از هر نوع كه باشد، اولين چيزي كه جلب توجه ميكند، اعلان پوسته يا shell prompt است. غالباً اعلانهاي پيشفرض با نيازها و سلايق ما فاصله دارند و از همان آغاز، نياز به سفارشيسازي را در ما به وجود ميآورند.
شكل 1
اعلان نمايشيافته پيش فرض توسط پوسته، در پوستههاي خانواده Bourne توسط متغيري به نام PS1 و در پوستههاي خانواده C در متغيري به نام prompt ذخيره ميگردد. همانگونه كه در شكل 1 با اجراي دستور echo $PS1، محتويات متغير PS1 در خط دوم به نمايش در آمده است.
براي بررسي چگونگي عملكرد آن، با استفاده از دستور cd/usr/local/bin به دايركتوري ياد شده تغيير مكان ميدهيم.
همانگونه كه ملاحظه ميكنيد، تنها بخش انتهايي مسير ياد شده، يعني bin، در اعلان به نمايش درآمده است.
شكل 2
براي مشخصتر شدن اين وضعيت، مجدداً دستور cd را به همراه دايركتوريهاي usr/bin/ و bin/ اجرا نماييد. در تمامي دايركتوريهاي ياد شده، تنها بخش نمايش يافته bin است.
بدينترتيب پس از زمان اندكي، دانستن اينكه دقيقاً در كجاي سيستم قرار داريم، تنها با نگاه كردن به اعلان، مشكل خواهد بود.
اما راه حل آن بسيار آسان است. W\ را به w\ تغيردهيد. براي اينكار دستور زير را در مقابل اعلان تايپ نماييد:
"$\[\export PS1="[u@\h \w
حال مجدداً به دايركتوري usr/local/bin/ تغيير مكان دهيد. همانگونه كه ملاحظه ميكنيد، در اينباره موفق بوديم. اما هنوز مشكلي وجود دارد.
شكل 3
براي فهميدن آن با دستور exit از پوسته خارج شويد و مجدداً آن را اجرا نماييد. درست است! اعلان پوسته به وضعيت سابق خود بازگشته است.
راهحل اين مشكل نيز بسيار ساده و البته دائمي است. با استفاده از يك ويرايشگر متني مانند Vim، فايل bashrc./ را ويرايش كنيد و دستور export را همانند آنچه كه يك بار مقابل اعلان تايپ نموديد، به فايل مورد نظر اضافه نماييد.
كساني كه تجربه كمتري در اينباره دارند، بهتر است پيش از ويرايش اين فايل، يك كپي از آن را بهعنوان پشتيبان تهيه نمايند.
در صورت عدم وجود اين فايل، بدون هيچ مشكلي ميتوان آن را توسط ويرايشگر ايجاد نمود و ساير مراحل را مطابق آنچه كه ذكر شد، پيگيري كرد. پس از ويرايش فايل مورد نظر و ذخيره آن، هنوز چيزي تغيير نكرده است. براي مشاهده نتيجه كارتان، دستور bashrc./~ را اجرا نماييد.
البته همين كار را ميتوان با يكبار خروج از پوسته و ورود مجدد به آن، انجام داد. از اين پس تنها نيم نگاهي به اعلان پوسته كافي است تا از مسير فعلي خود مطلع شويد.
حال با پشت سر نهادن يك مرحله از سفارشيسازي اعلان پوسته، مرحله ديگري از اين فرايند را آغاز مينماييم. پس از اجراي چند دستور در سيستم، درمييابيم كه تشخيص اعلان پوسته از نتايج حاصل از دستورات، كار دشواري است.
براي حل اين مشكل نيز راه حل ساده اي وجود دارد: تغيير رنگ اعلان پوسته به نحوي كه از ساير متون متمايز گردد. بدين منظور با ويرايش مجدد فايلد bashrc ./~ خط زير را جايگزين |"$\[u@\h \w\]export PS1="نماييد:
export PS1="[\[\033[01;32m\]\u@\h\[033[00m\]\033[01;34m\]\w\[\033[00m\]]\$"
توصيف
علامت
كاربر فعلي سيستم
u\
نام ميزبان، پيش از رسيدن به اولين "."
h\
نام كامل ميزبان
H\
مسير فعلي
w\
بخش انتهايي از مسير فعلي
(basename $PWD)
W\
در صورتيكه UID برابر با صفر باشد، # و در غير آنصورت $
$\
تاريخ با فرمت " روز- ماه- روز هفته"
d\
زمان در قالب دوازده ساعته با نمايش a.m/p.m
@\
نام پوسته فعلي
s\
شماره دستور فعلي در تاريخچه
!\
مانند مورد قبل، پس از ذخيره فايل، دستور bashrc./~ را براي مشاهده نتيجه كارتان اجرا نماييد.
در صورتي كه از ترمينالهاي موجود در محيطهاي گرافيكي استفاده مينماييد، با تغيير رنگ پس زمينه به رنگي تيرهتر، به كارتان جلوه بهتري بدهيد.
ذخيره كردن تنظيمات ترمينال را فراموش نكنيد. حال ميتوانيد با اجراي چند دستور نتيجه كارتان را بررسي كنيد. شكل 2 نمايي از تغييرات اعمال شده در اعلان پوسته را به نمايش ميگذارد.
تا اينجاي كار مطالب ذكر شده با نگاهي به كاربران عادي سيستم ارايه گرديدهاند، اما از آنجا كه احتمالاً اغلب شما حداقل روي كامپيوتر شخصي خود، وظايف يك مدير سيستم را نيز بر عهده داريد، ذكر ترفندهايي مشابه و البته متناسب با مدير سيستم در اين بخش خالي از لطف نخواهد بود.
بدين منظور وبدون هيچ مقدمهاي با اجراي دستور -su و به دنبال آن با وارد كردن كلمه عبور مدير سيستم يا همان root user، به بالاترين سطح اختيارات و توان اجرايي در سيستم دست مييابيم و همزمان به دايركتوري شخصي مدير سيستم يا همان root/ وارد ميشويم.
با اجراي دستور pwd نسبت به موقعيتي كه در آن قرار داريم، اطمينان حاصل مينماييم. حال با استفاده از ويرايشگر مورد نظر خود، خط زير را به فايل root/.bashrc/ بيفزاييد.
همانگونه كه پيشتر ذكر شد، در صورت عدم وجود اين فايل، ميتوانيد بدون هيچ مشكلي آن را ايجاد كنيد و ساير مراحل را پيگيري نماييد.
export PS1="[\[\033[01;31m\]\u@\h\[033[00m\]\[\033[01;34m\]\w\[033[00m\]]#"
مانند دفعات قبل، فايل را ذخيره كنيد و دستور root/.bashrc./ را اجرا نماييد. همانگونه كه در شكل 3 مشاهده ميشود، اعلان پوسته مدير سيستم، با رنگ متمايز خود، ما را از حساسيت موقعيتمان آگاه ميسازد.
بدين ترتيب پس از سپري نمودن چند مرحله از فرآيند سفارشيسازي اعلان پوسته و به دست آوردن آشنايي مختصري در اين باره، زمان مناسبي است تا با بعضي از رايجترين علايم و نشانههاي به كار رفته در اين فرآيند، مطابق جدول 1 آشنا شويم. در خاتمه ميتوان گفت كه استفاده از ترفندهاي معرفي شده ميتوانند محيط مناسبتري را مطابق با سليقه و نياز شما فراهم كنند.