جستجو برای:
سبد خرید 0
  • خانه
  • دوره ها
  • معرفی ابزارهای لینوکس
  • مقالات
  • تماس با ما
آموزش لینوکس 🐧 آموزش دوآپس 🐋

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در سیاست حفظ حریم خصوصی ما شرح داده می شود مورد استفاده قرار می گیرد.

  • 09159612321
  • rfak.it@gmail.com
  • درباره ما
آموزش لینوکس 🐧 آموزش دوآپس 🐋
  • خانه
  • دوره ها
  • معرفی ابزارهای لینوکس
  • مقالات
  • تماس با ما
شروع کنید
0

وبلاگ

آموزش لینوکس 🐧 آموزش دوآپس 🐋مقالاتمقالاتتفاوت exit و logout در لینوکس

تفاوت exit و logout در لینوکس

27 شهریور 1398
ارسال شده توسط عارف اختری
مقالات
تفاوت exit و logout در لینوکس

سلام خدمت دوستان و کاربران عزیز وب سایت لینوکس لرن بویژه علاقه مندان به سیستم عامل لینوکس. در این مطلب میخواهیم درباره تفاوت بین دستورات logout و exit برای شما عزیزان صحبت کنیم. logout یک دستور Internal یا بعبارتی Internal Command است.

دستورات Internal و External

دستورات داخلی یا Internal Commands در لینوکس و نیز سیستم عامل های خانواده Unix به دستوراتی گفته می شود که بصورت Built-in داخل Shell قرار دارند و به آنها معمولا Built-in Commands نیز می گویند. سرعت اجرای این دستورات به همان اندازه است که Shell به دنبال اجرای دستوراتی که داخل متغیر محیطی PATH تعریف شده اند می باشد. دستوراتی مثل cd ، fg ، alias ، echo ، export ، history و … از جمله Internal Command ها می باشند. توجه کنید که برخی از Internal Command ها نیز برای اجرا شدن باید توسط Shell از طریق PATH ابتدا فراخوانده شوند.

دستورات خارجی یا External Commands به دستوراتی اطلاق می شود که داخل Shell بصورت Built-in تعریف نشده اند. این نوع دستورات برای اجرا شدن باید داخل متغیر محیطی PATH تعریف شوند. زمانی که این دستورات میخواهند اجرا شوند Shell باید به متغیر محیطی PATH مراجعه کند و مسیری که دستور مربوطه در آن قرار دارد را بخواند و دستور را اجرا کند که این خود یک Process جدید اجرا می کند. External Command ها معمولا در شاخه bin// و یا usr//bin// قرار دارند. دستوراتی مثل ls ، cat ، grep ، cp ، mv و … از جمله دستورات External می باشند. برای اینکه بدانید یک دستور Internal هست یا External کافیست تا دستور type را به همراه نام دستور در مقابل آن تایپ کنید

# type cat

cat is /bin/cat

همانطور که مشاهده می کنید خروجی دستور type cat به ما می گوید که دستور cat در مسیر bin//cat// واقع شده است. که نشان دهنده این است که این دستور External است. یا برای مثالی دیگر :

# type history

history is a shell builtin

همانطور که در خروجی دستور type history مشاهده می کنید پیغام history is a shell builtin به ما نشان داده می شود که بیانگر این است که دستور history یک دستور Internal یا Shell Built-in Command است. حتی خود دستور type نیز Internal Command هست. به یک نکته مهم توجه کنید که برخی از دستورات مانند pwd که در خروجی مسیر جاری که در آن هستید را نشان می دهد هم می تواند یک Internal Command و هم External Command می باشد.

# type -a pwd

pwd is a shell builtin

pwd is /bin/pwd

همانطور که در خروجی دستور فوق مشاهده کردید دستور pwd هم یک دستور Internal و هم یک دستور External می باشد. نکته آخر این هست که زمانیکه External Command علاوه بر Internal Command روی سیستم نصب می شود Internal Command در اجرا شدن بر External Command تقدم و اولویت دارد. دلیل آن هم کاملا واضح است چون Internal Command هم راحت تر و هم می توان گفت به صورت نامحسوسی با سرعت بیشتر اجرا می شود. برای اجرا کردن External Command ای که Internal Command آن نیز در سیستم وجود دارد بایستی مسیر دقیق یا Exact Path آن دستور را در Shell مشخص کنید. امیدوارم مورد توجه شما قرار گرفته باشد.

خوب حالا برگردیم سر اصل قضیه

فرق بین exit و logout

دستور logout برای بستن Login Shell کاربرد دارد. یعنی زمانی که به یک سرور لینوکسی SSH میزنید و با یک Terminal واقعی کار می کنید ( نه Terminal Emulator یا Virtual Terminal Console ) میتوانید با استفاده از دستور logout از Session ای که با یک کاربر زدید خارج شوید. همچنین زمانی که بصورت کنسولی ( یعنی زمانیکه پای سرور نشسته باشید ) به سرور لینوکسی تان لاگین کنید و دستور logout را اجرا کنید به معنای واقعی از سرور Logout می شوید ( مثل Logout شدن از یک سیستم ویندوزی ) و برای استفاده از سرور طبیعتا باید به آن لاگین کنید.

دستور exit نیز مانند دستور logout یک Internal Command است با این تفاوت که دستور exit کاری که می کند این است که Interactive Shell ها را Terminate می کند. برای مثال اگر در لینوکس خود یک ترمینال ( Terminal Emulator ) باز کردید و تایپ کردید bash یک Process جداگانه با نام bash و طبیعتا با یک PID جدید ایجاد می شود و برای اینکه این Shell را ببندید میتوانید دستور exit را تایپ کنید.

زمانی که exit را اجرا کردید پنجره ترمینال بسته نمی شود بلکه Process آن Shell ای که با دستور bash اجرا کردید خاتمه داده یا Terminate می شود. حالا اگر مجددا دستور exit را اجرا کنید پنجره Terminal Emulator بسته خواهد شد. اگر بیشتر بخواهیم این مورد را بسط دهیم میتوانیم بگوییم که برای مثال زمانیکه با کلید های ترکیبی CTL+ALT+F1 یک پنجره Console TTY جدید ( یا یک Interactive Shell جدید ) در یک تب جدید باز می کنید و دستور exit را میزنید این پنجره ترمینال بسته خواهد شد. امیدوارم تفاوت بین این دو دستور را بخوبی درک کرده باشید.

 

برچسب ها: تفاوت exit و logout در Session لینوکستفاوت exit و logout در Session لینوکس چیستتفاوت exit و logout در Session لینوکس چیست ؟تفاوت_دستور_logout_و_exit_در_لینوکسدستور exit در لینوکسدستور exit در لینوکس چه کاربردی دارددستور logout در لینوکسدستور logout در لینوکس چه کاربردی دارددستور_exit_در_لینوکسدستور_exit_در_لینوکس_چه_کاربردی_دارددستورات Internal و Externalفرق بین exit و logoutفرق بین exit و logout در linuxفرق بین exit و logout در لینوکس
قبلی معرفی فایل fstab در سیستم عامل لینوکس
بعدی نحوه مانیتورینگ KVM از طریق Zabbix

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
پشتیبانی
دسته‌ها
  • مقالات
برچسب‌ها
debian fedora freebsd glusterfs in linux kali learnlinux learn linux Linux linux academy linux and unix linux Desktop linux enthusiastic linuxlearn linux learn linuxlearnorg linuxorg linux passion linux server linuxtutor linuxtutorial linuxuser plasma tutorial tutorial video zabbix آشنایی با توزیع های لینوکس آغاز کار با لینوکس آموزش تخصصی لینوکس آموزش سرور لینوکس آموزش لینوکس آنتی ویروس اموزش لینوکس اوبونتو بات نت بهترین توزیع لینوکس توزیع های لینوکس دبیان سرور لینوکس سودو فدورا لینوکس لینوکس لرن لینوکس چیست نرم افزار
  • محبوب
  • جدید
  • دیدگاه ها
    پشتیبانی

    لینوکس لرن حاصل تلاش یک تیم متخصص و علاقه مند است که سعی می کند آموزش ها را با نهایت کیفیت به مشتریان ارائه نماید. ارائه خدمات پیشتاز امضاء بزرگی بر شعار لینوکس لرن یعنی ” تحولی بزرگ در ارائه خدمات لینوکس ” می باشد.

    • ایران - مشهد
    • 09159612321
    • info@linuxlearn.org
    دسترسی سریع
    • خانه
    • مقالات
    • معرفی ابزارهای لینوکس
    • دوره ها
    • مدرسان
    • کتابخانه لینوکس لرن
    • سیاست حریم خصوصی
    • وبینار ها
    • پذیرش پروژه های Sysadmin , Devops
    • تماس با ما
    • درباره ما
    خبرنامه
    لوگوی اعتماد
    ❤️ Made with
    اشتراک گذاری در شبکه های اجتماعی
    ارسال به ایمیل
    https://linuxlearn.org/?p=20405
    علاقمندی ها 0
    صفحه علاقمندی های من ادامه خرید
    مرورگر شما از HTML5 پشتیبانی نمی کند.