ترمینال و shell در لینوکس
ترمینال و shell در لینوکس
شبیه سازهاي ترمینال (Terminal Emulators)
وقتی که از یک رابط گرافیکی کاربر (GUI (Graphical User Interface استفاده می کنید،
یعنی وقتی که دارید با محیط گرافیکی لینوکس کار می کنید، براي اینکه بتوانید با خط فرمان شل ارتباط برقرار کنید
بایستی از یک شبیه ساز ترمینال (Terminal Emulator) استفاده کنید.
اگر به منوهاي موجود در دسکتاپ لینوکس خود نگاهی بیندازیم یک ترمینال پیدا خواهیم کرد.
رابط گرافیکی KDE از شبیه ساز Konsole و رابط گرافیکی GNOME از شبیه ساز ترمینال gnome-terminal استفاده می کند.
تعداد زیاد دیگري از انواع شبیه سازهاي ترمینال بر روي توزیع هاي مختلف لینوکس وجود دارد
ولی همه آنها یک کار مشابه را انجام می دهد.
یعنی دسترسی به خط فرمان شل Shell.
براي باز کردن ترمینال در ابونتو بر روي گزینه اول،
که بر روي دسکتاپ جستجو نام دارد کلیک کنید و واژه terminal را تایپ کنید.
مشاهده می کنید که ترمینال نشان داده می شود.
با کلیک بر روي آن terminal باز می شود و می توانید دستورات خود را در داخل آن وارد کنید.
شروع به نوشتن اولین دستورات خط فرمان
خب شروع به کار کنید.
شبیه ساز ترمینال را اجرا کنید!
وقتی که بالا آمد یک چیزي مشابه بالا خواهید دید.
این را یک شل پرامپت (Shell Prompt) می نامند
و وقتی که نمایش داده می شود نشانگر آماده دریافت دستورات شماست.
گاها بنا به شرایط متفاوت و توزیع هاي مختلف لینوکس این خط فرمان تفاوت هایی دارد
ولی به صورت کلی شامل نام کاربري، علامت @، نام ماشین و در ادامه پوشه اي که در آن قرار دارید می باشد.
(username@machinename) در ادامه آن علامت $ را خواهید دید.
به جاي $ علامت # وجود دارد:
اگر به جاي $ علامت # وجود دارد نشانگر این است که خط فرمان دسترسی (Superuser) کاربر ارشد را دارد.
در دو صورت این حالت اتفاق می افتد:
- یا از کاربر روت به سیستم عامل لاگین کرده اید
- و یا اینکه شبیه ساز را با دسترسی Superuser اجرا نموده اید.
خوب در داخل خط فرمان شروع به تایپ کنید:
یک چیزي بنویسید و سپس Enter را فشار دهید.
چون که دستور مفهومی ندارد شل خطا را تشخیص داده و به ما یک پیام (command not found) به معنی اینکه دستور پیدا نشد را می دهد
و سپس شانس دیگري براي وارد کردن دستور به ما می دهد.
دستورات ساده Shell
خب حالا یاد گرفتیم چگونه تایپ کنیم، بیایید چند دستور ساده را امتحان کنیم.
برای شروع کار:
فرمانی به نام abc را وارد می کنیم که خطا می دهد
و پیغام Command not found را bash به شما می دهد
که فرمانی با این نام ندارد
به عبارتی خود گارسن ما آنالیز می کند و به ما جواب می دهد که اصلا چنین چیزی در منو نداریم!
abc $
bash: abc: command not found-
در لینوکس تعاریفی مثل فرمان داخلی و خارجی وجود دارد.
حالا یک سوال مطرح است.
سؤال: فرمان های داخلی و خارجی را تعریف کنید؟
-
فرمان داخلی
در مایکروسافت ویندوز، فرمان داخلی به فرمانی گفته می شود
که مثلا در رستوران وقتی از گارسن نمک می خواهید از میز کناری به شما نمک را می دهد.
دقیقا یعنی اینکه اگر گارسن خودش فرمان را اجرا کند می گوییم فرمان داخلی است.
-
- مثلا در ویندوز cmd و Windows PowerShell را به عنوان گارسن داریم،
در ویندوز فرمان هایی مثل dir یا cd یا cls فرمان های داخلی هستند و توسط گارسن انجام می شود.
-
فرمان خارجی
فرمان خارجی فرمان هایی هستند که بر روی تجهیزات خارجی قرار دارند و توسط نرم افزار اجرا می شوند.
فرمان خارجی فرمانی است که خود گارسن نمی تواند انجام دهد
بلکه آن را پشت صحنه و عوامل ذیربط آماده می کنند.
-
- مثل دستور format که روی hard است و گارسن بلد نیست.
فرمان type:
برای اینکه بفهمیم چه فرمانی داخلی و چه فرمانی خارجی است، در لینوکس فرمانی داریم به نام type
که به ما می گوید چه فرمانی داخلی و چه فرمانی خارجی است.
type cd $
cd is a shell builtin
Shell:
Shell به معنی پیوسته و بیرونی ترین لایه نرم افزاری است که با شما صحبت می کند
و به شما جواب می دهد و در واقع همان گارسن ما است.
از طریق گارسن و يا Shell فعالیت مورد نظر ما و در پشت صحنه انجام می گیرد و البته حتما مدیری است و توسط مدیر چک می شود.
آیا این فرمان را داریم یا نداریم و یا می شود و یا نمی شود و بررسی های مشابه را انجام می دهد و جواب سرویس مورد نظر ما را می دهد.
type date $
date is bin/date
با زدن فرمان بالا به ما می گوید که date زير دایرکتوری bin/ قرار دارد.
اکنون دو بار فرمان date را بزنید که تاریخ را به شما کامل نشان دهد.
سپس فلش بالا را بزنید و دوباره type date را بزنید
می بینید علاوه بر جمله ای که در بالا به ما گفت، یک کلمه دیگر هم به نام hash می نویسد.
سؤال: این hash به چه معنی است؟
در لینوکس اگر شما یک فرمان را چند بار استفاده کنید، سیستم جای آن را به خاطر می سپارد
و در دفعات بعدی به دنبال آن نمی گردد و این بار می گوید من می دانم جای آن کجاست،
پس hashed به این معنی است که بعد از یک بار صدا زدن فرمان در دفعات بعدی جای آن را به خاطر می سپارد
و در دفعات بعدی به دنبال آن نمی گردد
به عبارتی آدرس آن در حافظه مستقر (Resident) می شود.
فرمان history
فرمان history تمام فرمان هایی را که شما وارد کردید را با تاریخ و ساعت در یک پایگاه داده نگه می دارد.
لینوکس از نظر امنیتی در سطح بالایی قرار دارد که به مرور در ادامه مطرح خواهیم کرد.
history $
فرمان who
به وسیله فرمان who یا w می توانیم بفهمیم که چه Userid هایی login کردن به علاوه آدرس Ip هر Userid را هم نمایش می دهد.
who $
w $
جهت شرکت در دوره های لینوکس و یونیکس بر روی این لینک کلیک نمایید
صفحات اجتماعی فراز نتورک جهت اطلاع رسانی های جدید در خدمت شماست.
ترمینال و shell در لینوکس – نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.