جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره ها
  • مقالات
  • معرفی ابزارهای لینوکس
  • تماس با ما

ورود

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

ثبت نام

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

وبلاگ

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

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

27 شهریور 1398
ارسال شده توسط Aref Akhtari
مقالات
تفاوت 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

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

جستجو برای:
پشتیبانی
دسته‌ها
  • مقالات
برچسب‌ها
(NFS (Network File System Adware چیست؟ Anti-Malware CentOS cluster ProxySQL CONTEXT در SELinux چیست CONTEXT چیست dark web dd debian deep web Destributed Hash Table Discretionary Access Control Dispersed Distributed Distributed Dispersed docker docker orchestration elk Eschalot facebookcorewwwi.onion FBI fedora freebsd glusterfs glusterfs-client glusterfs-server Gluster Storge Gluster Storge چیست Gluster Storge چیست؟ gluster volume type gnome gnome desktop guake kali Linux zabbix آغاز کار با لینوکس آموزش لینوکس آنتی ویروس بات نت دبیان لینوکس لینوکس چیست نرم افزار
  • محبوب
  • جدید
  • دیدگاه ها
پشتیبانی

ما در آکادمی لینوکس لرن سعی بر این داریم که بهترین آموزش ها رو با بالاترین کیفیت در اختیار شما بزاریم.
لینوکس لرن تجربه ی متفاوت آموزش است
  • خراسان جنوبی - بیرجند
  • 09159612321
  • [email protected]
دسترسی سریع
  • دوره ها
  • مقالات
  • کتابخانه
  • پذیرش پروژه
  • ابزارهای لینوکس
  • مدرسان
  • حریم خصوصی
  • تماس با ما
  • درباره ما
خبرنامه

چیزی را از دست ندهید، ثبت نام کنید و در مورد دوره های ما مطلع باشید.

نمادها
نوشته شده با ❤️
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://linuxlearn.org/?p=20405
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آکادمی لینوکس لرن

  • 09159612321
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • [email protected]