وبلاگ شخصی علی مقدس زاده

هر کاربر لینوکس که از ترمینال استفاده میکنه، معمولا با توجه به نوع کاری که انجام میده از یک سری دستورات تکراری استفاده میکنه. به عنوان مثال افرادی که مدیریت سرورها رو به عهده دارن مدام با استفاده از ssh به سرورهای مختلف دسترسی دارن که یادآوری آدرس‌های IP این سرورها معمولا کمی مشکل هست و یا افرادی که مشغول توسعه نرم افزار هستن ممکن هست مدام با دستورات git سر و کار داشته باشن. در این مطلب روشی رو با هم بررسی می‌کنیم که با استفاده از اون دیگه نیازی به وارد کردن دستورات طولانی در ترمینال وجود نداره؛ در واقع تصمیم داریم تا با اضافه کردن دستورات جدید به bash کار خودمون رو از بابت وارد کردن دستورات طولانی راحت کنیم.

برای روشن شدن مطلب، ادامه کار رو با یک مثال می‌بریم جلو.

فرض کنید که من پشتیبان چند سرور هستم و نیاز دارم مدام به سرورهای مختلف با استفاده از ssh ارتباط برقرار کنم. توجه داشته باشین که هر سرور یک IP و یک پورت برای اتصال ssh داره و یادآوری این موارد برای من کمی سخت هست.

ssh -p <port1> <user1>@<ip1>
ssh -p <port2> <user2>@<ip2>
...

برای حل این مشکل، ما از قابلیت تعریف alias که در bash وجود داره استفاده می‌کنیم.

برای ثبت یک alias جدید لازم هست فایل تنظیمات bash رو باز کنید و دستورات مد نظر خودتون رو به شکل زیر به فایل اضافه کنید:

$ nano ~/.bashrc
...
ssh-server1='ssh -p <port1> <user1>@<ip1>'
ssh-server2='ssh -p <port2> <user2>@<ip2>'

با استفاده از این روش، از این به بعد به جای وارد کردن دستور کامل ssh میتونیم از دستورات جدیدی که به bash‌ اضافه کردیم استفاده کنیم.

از این روش میشه برای بقیه دستورات هم استفاده کرد. به عنوان مثال برای افرادی که مثل من مشغول توسعه نرم افزار هستن و از git برای نگهداری نسخه‌های مختلف کد استفاده می‌کنن، دستورات زیر خیلی به کار میرن:

git status
git commit -a
git push origin master
...

برای من استفاده از دستور gitpush خیلی راحت از تایپ دستور git push origin master هست. برای این منظور مشابه مثال قبل، با استفاده از alias دستورات جدیدی رو به bash اضافه می‌کنیم:

$ nano ~/.bashrc
...
alias gitstatus='git status'
alias gitadd='git add .'
alias gitcommit='git commit -a'
alias gitpush='git push origin master'

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


  • علی مقدس زاده

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی