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

خط فرمان پای ابر – قسمت اول

سلامی دوباره به پای ابری های عزیز، ما در این مطلب قصد داریم خط فرمان پای ابر را به شما عزیزان معرفی نموده و دستورات پایه آن را به شما ارائه دهیم.

مواردی که برسی می کنیم:

  1. پایانه
  2. خط فرمان
  3. دستورات سایه
  4. دستور کمکی : help
  5. دستور چاپ روی صفحه : echo
  6. دستور چاپ بدون ایجاد خط جدید : say
  7. نحوه تعریف متغییر
  8. استفاده از متغییر
  9. دستور گرفتن مقدار : read
  10. از بین بردن متغییر ها : unset
  11. ایجاد فایل : touch
  12. نشست های پوسته Switched Process
  13. نمایش اطلاعات رایانه و نشست فعلی : ver
  14. ایجاد یک نشست جدید : new
  15. بستن نشست فعلی : shut
  16. بستن همه نشست ها : shutdown
  17. ذخیره کردن متغییرها در یک نشست جدید : sel و unsel
  18. اضافه کردن متغییر های یک فایل : add
  19. پاک کردن کل متغییرهای یک نشست : clean

پایانه

پای ابر ۲.۴
پای ابر ۲.۴

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

پایانه پای ابر
پایانه پای ابر

پایانه پای ابر ترکیبی از کنسول KDE و پوسته های بش و سایه می باشد تا یک محیطی مناسب و بسیار ساده برای اجرای فرامین آماده کند؛ پوسته سایه (به انگلیسی Saye Shell) پوسته پیش فرض پای ابر است که توانایی دسترسی به سکوی ابری پای ابر را داراست.

خط فرمان

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

  • نام حساب کاربری که قبل از @ قرار دارد
  • نام رایانه که بعد از @ قرار دارد
  • مسیر فعلی خط فرمان «root/»
  • نوع حساب کاربری: نشان حساب روت # و نشان حساب های معمولی < می باشد

ما با این خط متوجه می شویم در کجای کار قرار داریم و همین باعث می شود تا بتوانیم با اطمینان کامل دستورات خود را وارد نماییم.

دستورات سایه

دستور کمکی : Help

خوب در حیطه برای وارد کردن دستور کافیه یک عبارت وارد کنید سپس دکمه Enter را فشار دهید تا دستور اجرا گردد به طور مثال دستور help را وارد می کنیم:

help‍‍‍‍‍‍‍‍‍
خروجی دستور help
خروجی دستور help

خروجی دستور help لیستی از کل دستورات پیش فرض پوسته سایه می باشد که شما بسته به انتخاب خود می توانید آن دستورات را استفاده نمایید؛ البته الان ممکن است آشنایی کافی با آنها نداشته باشید پس فقط کافیست نام آنها را جلوی help نوشته و Enter بزنید تا کل آموزش آن را به شما نمایش دهد؛ به طور مثال می خواهیم دستور echo را برسی نماییم:

help echo

دستور help توانست جزئیاتی از echo را به صورت کاملا مختصر و کلی به ما بدهد حالا می خواهیم این دستور را برسی نماییم.

دستور چاپ روی صفحه : echo

دستور echo وظیفه چاپ و نمایش متون را روی صفحه دارد به طور مثال:

echo سلام عزیزم

خروجی:

سلام عزیزم
echo سلام شما چطوری؟ -n من خوبم

خروجی:

سلام شما چطوری؟
من خوبم

ما می توانیم به وسیله عبارات پرچم دار (عباراتی که اول آنها با «-» شروع می شود عبارات پرچم دار یا flag دار گفته می شود) یک سری تغییرات در متن چاپی دهیم نظیر:

  • پرچم «n-»: این پرچم می تواند بین عبارات یک خط جدید ایجاد نماید.
  • پرچم «t-»: این پرچم یک تب در پیام ایجاد می کند و آن را یک تب جلو می برد.
  • پرچم «r-»: این پرچم پاک کننده هست.

دستور چاپ بدون ایجاد خط جدید : say

این دستور دقیقا همان echo است فقط با این تفاوت خط جدید ایجاد نمی کند؛ بیشتر برای سوال پرسیدن در برنامه های اسکریپتی از کاربر از آن استفاده می شود مثلا اسم شما چیست؟ یا … که کاربر لازم است جلوی آن پاسخ دهد.

نحوه تعریف متغییر

زبان اسکریپتی سایه بسیار ساده ساخته شده و هدف ساده سازی بسیار خط فرمان هست؛ البته شما می توانید در کنار سایه از خط فرمان اصلی لینوکس هم استفاده کنید که بش نام داره.

نحوه تعریف متغییر در سایه به شکل زیر است:

set name: value

به جای name نام متغییر را می نویسیم که هر چیزی می تونه باشه فقط نباید بین آن فاصله ای باشه؛ و در بخش value مقدار تعیین میشه.

به طور مثال می خواهیم اطلاعات یک دانشجو رو به صورت متغییر وار بنویسیم:

set name: علی
set family: اکبرپور
set gender: مذکر
set age: 25
set units: 12
set field: شبکه های کامپیوتری
set university: شهید منتظری مشهد

استفاده از متغییر

برای استفاده کردن از متغییر ها کافیه در هر دستوری ابتدای آن با «:» شروع کرده و به صورت چسبیده بدون هیچ فاصله ای نام متغییر را بنویسید مثلا می خواهیم نام همین دانشجو را چاپ کنیم:

echo نام دانشجو :name

دستور گرفتن مقدار : read

حالا می خواهیم دستوری را معرفی کنیم که دقیقا کارش برعکس کار echo هست به جای نمایش و خروجی ورودی از شما می گیره و شما می تونید به راحتی هر مقداری را در متغییر خود از کاربران با read بگیرید.

مثلا می خواهیم نام کاربر را گرفته و بعد آن را چاپ کنیم:

read name

ولی این برنامه به صورت خط به خط اجرا میشه و اصلا پیشنهاد جالبی نیست؛ ما دوست داریم آن را طوری اجرا کنیم که واقعا بشه گفت یک برنامه هست!!

حالا وارد برنامه برگه می شویم:

بعد همین دستوارت را خط به خط وارد می کنیم:

حالا اقدام به ذخیره کردن اسکریپت می کنیم:

نام ذخیره سازی

پسوند فایل های سایه sa. است پس فایل ها هم باید آخر آن با sa. تموم بشه تا قابل اجرا باشه؛ حالا روی دکمه Save می زنیم و اقدام به اجرای اسکریپت می کنیم.

دوباره وارد پایانه می شویم و در همان مکان اقدام به اجرای اسکریپت می کنیم؛ نام فایل را بدین شکل بدون ذکر پسوند می نویسیم:

./Name

از بین بردن متغییر ها : unset

با این دستور می توانیم مقدار متغییر را نابود کنیم انگار که اصلا وجود نداشته!

نحوه وارد کردن دستور:

unset نام متغییر

ایجاد فایل : touch

touch salam

با این دستور فایلی به اسم salam ایجاد می شود و شما می توانید متغییرها و داده های خود را در آن ذخیره نمایید.

نشست های پوسته Switched Process

به صورت پیش فرض متغییرها در نشست پوسته سایه که switched process هم نامیده می شود ذخیره می شود؛ این نشست ها فایل هایی هستند عددی و بدون پسوند در پوشه proc/ قرار می گیرند و شما می توانید آنها را مشاهده نمایید:

نمایش اطلاعات رایانه و نشست فعلی : ver

با دستور ver اطلاعات رایانه و همچنین نشست پوسته شما نمایش داده می شود:

ver

بر اساس این تصویر نشست شما در سطح سوم قرار دارد؛ وقتی پای ابر اجرا می شود محیط غیرگرافیکی اصلی آن و میزکار همه در نشست اول اجرا می شوند و وقتی شما پایانه را باز کنید برای آن یک نشستی بالاتر در نظرگرفته می شود؛ شمارش نشست ها از عدد ۰ آغاز می شود.

چانچه شما فایل نشست ۰ را ببندید کل پای ابر خاموش می شود؛ با بستن هر نشست کل فرآیندهای پوسته اجرا شده روی آن بسته می شوند البته فرآیندهای گرافیکی به صورت مستقل نیاز به مدیریت فرآیند جدید و مخصوصی دارند.

ایجاد یک نشست جدید : new

شما می توانید با دستور new یک نشست جدید ایجاد کنید البته با این کار بار دیگر پایانه اجرا می شود؛ این بار شما به متغییرهای نشست قبلی دسترسی ندارید مثلا دیگر نمی توانید متغییر های اطلاعات دانشجو را فراخوانی نمایید و .. چون نشست شما جدید شده و عدد آن ۳ می باشد.

البته می توانید به صورت گرافیکی هم پایانه را باز نمایید و اینجوری توانایی استفاده از دو نشست را دارید.

بستن نشست فعلی : shut

زمانی که بخواهید یک نشست را ببندید باید دستور shut را وارد نمایید یا دستور exit که یک میانبرهست از همان دستور shut؛ این دستور نشست جاری را می بندد و کل متغییرها را پاک می کند سپس شما وارد نشست قبلی می شوید.

در نگارش های اولیه پای ابر؛ پای ابر گرافیکی نبود و در صورتی که شما در نشست ۰ بودید دستور shut را می زدید کل رایانه خاموش می شد و عملا کار shutdown را انجام میداد.

بستن همه نشست ها : shutdown

با این دستور تمام نشست های گرافیکی و غیرگرافیکی بسته می شوند و عملا رایانه شما خاموش می گردد.

ذخیره کردن متغییرها در یک نشست جدید : sel و unsel

گاهی اوقات شما می خواهید متغییرهای خود را در یک فایل محلی ذخیره نمایید پس لازم است تغییر نشست داده و آن را روی یک فایل تنظیم کنید و سپس بعد اتمام کار با یک دستور مناسب دوباره وارد نشست جاری شوید.

ما قبل تر فایل salam را ایجاد کردیم حالا می خواهیم از نشست شماره ۲ به آن برویم (switch prcoess):

sel salam
set name: مانی
set family: جمالی
echo :name :family
unsel
echo :name :family

ما با دستور sel تغییر نشست داده و وارد salam می شویم؛ سپس دو متغییر تعریف می کنیم با نام های name و family و بعد با دستور unsel از فایل salam خارج شده و وارد همان نشست فعلی که شماره ۲ هست می شویم.

یک بار قبل از unsel نام و نام خانوادگی را چاپ می کنیم و یک بار بعد از آن و شما شاهد این تفاوت ها خواهید بود:

بله فقط زمانی که شما در salam هستید قادرید متغییرهای آن را اجرا کنید! ولی وقتی با unsel از آن خارج می شوید دیگر آن متغییرها در دسترس شما نخواهد بود.

اضافه کردن متغییر های یک فایل : add

یک وقت هست شما می خواهید اطلاعات و متغییرهای یک یا چند فایل را در نشست جاری خود اضافه کنید اینجاست که دستور add به کار شما میاد:

add salam
echo :name :family

خوب خروجی:

بله! همونطور که مشاهده می کنید ما تونستیم با دستور add تمام اطلاعات داخل فایل salam رو بیاریم تو نشست شماره ۲ بدون نیاز به وارد شدن به آن؛ پس چرا لازم بود قبلا واردش بشیم؟؟ چون برای تعریف متغییر و کار روی آن این کار لازمه.

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

پاک کردن کل متغییرهای یک نشست : clean

با این دستور کل متغییرهای نشست شما نابود می شوند و لازم نیست تک به تک آنها را unset کنید.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.