گاها ممکنه به هر دلیلی بخواید روی سیستم عامل لینوکستون کامندهای اختصاصی داشته باشید. خب ما میدونیم یک سری دستورات توی کرنل لینوکس هستند، مثل دستور ls که لیست فایلها و دایرکتوریهای موجود در یک دایرکتوری رو به شما نشون میده. یا یک سری دستورات بعد از نصب یک سری از برنامهها برای شما اضافه میشن، مثل دستور ls که بعد از نصب برنامهای تحت همین عنوان (sudo apt install ls) به سیستم عامل شما اضافه میشه و در صورتی که اجرا بشه، قطار در حال حرکتی صفحه ترمینال شما رو مزین میکنه.
حالا من میخوام دستوراتی داشته باشم که کارهایی رو برای من انجام بدن. کارهایی رو که خودم مدنظر دارم، با دستوراتی که خودم تعیین کردم. هدف از انجام این کار طبیعتا صرفهجویی در زمان انجام کارها برای ما هست.
خب، چطور این کار رو انجام بدم؟
برای شروع من باید کاری که میخوام انجام بدم رو تبدیل به یک بش اسکریپت بکنم، چطور؟ خیلی ساده! یک فایل به هر اسمی مثلا farshid.sh میسازم. خیلی هم فرقی نمیکنه کجا این فایل رو ایجاد کنم اما منطقا بهتره اسکریپتهامون رو جای مشخصی نگهداری کنیم که بعدا دسترسی بهشون آسونتر باشه. خب من میخوام این اسکریپت برام چیکار کنه؟ فرض بگیریم میخوام وقتی این اسکریپت اجرا میشه به یه سرور با پورت 8754 کانکشن ssh بزنم. محتوای اسکریپت رو به این شکل مینویسم:
ssh -p 8754 root@IP
نیازی به گفتن نیست اما خب طبیعتا میدونید که به جای IP باید آدرس IP با هاست نیم سرور موردنظرم رو قرار بدم. حالا فایل اسکریپتم ایجاد شد، برای این که فایل قابل اجرا بشه، بهش پرمیشن 755 میدم.
chmod 0755 farshid.sh
حالا میرسیم به مرحله جذاب کار، یعنی ایجاد کامند اختصاصی خودمون. همونطور که احتمالا استحضار دارید، اسکریپت کامندهای لینوکس تو مسیر زیر قرار دارن:
/usr/bin
برای این که اسکریپتی که من نوشتم تبدیل به کامند بشه، کافیه طوری وانمود کنم که توی این دایرکتوری قرار داره، به عبارتی از این دایرکتوری یه لینک سمبلیک یا همون سیم لینک برای اشاره به این فایل ایجاد کنم. به چه صورت؟ با دستور زیر
ln -s /home/farshid/bin/farshid.sh /usr/bin/farshid
این دستور چیکار میکنه دقیقا؟ میگه که اگر /usr/bin/farshid اجرا شد، /home/farshid/bin/farshid.sh رو اجرا کنه. شما اگر فایل اسکریپتتون رو در مسیر دیگری قرار دادید، طبیعتا اون مسیر رو باید با /home/farshid/bin/farshid.sh جایگزین کنید.
به همین سادگی دستور اختصاصی شما ایجاد میشه. حالا با هر بار اجرای کامند farshid در ترمینال شما، دستور ssh -p 8754 root@IP براتون اجرا میشه.