در لینوکس دو نوع برنامه وجود داره اگزکیوت ایبل و اسکریپت
اولی به صورت مستقیم در سیستم اجرا میشه اما اسکریپت ها برای اجرا نیاز به یک مترجم یا مفسر دارند و لذا از طریق یک برنامه دیگه اجرا میشن (نه به صورت مستقیم)
اولی نمونه فایل های .exe در ویندوز هست و اسکریپت ها مثل .bat , .cmd
همونجوری که تا حالا در ضمن کار با لینوکس تا حالا متوجه شدید بر خلاف ویندوز قایل های اجرایی در لینوکس احتیاج به نام خاص و یا پسوند خاصی ندارند
برای اجرای فایل ها و .. در لینوکس باید به سطح دسترسی های یوزر ها دقت کرد و اینکه فایل ها اجازه اجرا شدن رو دارند یا نه(بعدا در این باره صحبت می کنم)
اما در باره shell باید بگم که بعد از لاگین تو لینوکس شما با یه محیط متنی می تونید سر و کار داشته باشید که مثل کامند پرامپت در ویندوزه. این محیط میتونه از نوع های مختلفی باشه و معمولا bash هستش(مثل همینی که تو اوبونتو معمولا هست)
دقیقا مثل ویندوز وقتی شما یک دستور رو تایپ می کنید و یا قصد اجرای برنامه ای رو دارید این برنامه باید در آدرس از پیش تعیین شده ای باشه تا bash پیداش کنه
به عبارت دیگه bash فقط در آدرس های مشخصی به دنبال فایل و یا دستور شما میگرده و اگه در اونجاها پیدا نکنه command not found میده
این آدرس ها در PATH قرار داره(به کوچکی و بزرگی حروف دقت کنید)
می تونید این آدرس ها رو با تایپ دستور زیر مشاهده کنید:
کد: [انتخاب]
echo $PATH
این آدرس ها معمولا شامل آدرس های استاندارد میشه که البته root میتونه اینارو کم یا زیاد کنه ولی معمولا همیشه شامل آدرس های زیر میشه
کد: [انتخاب]
❑ /bin: Binaries, programs used in booting the system
❑ /usr/bin: User binaries, standard programs available to users
❑ /usr/local/bin: Local binaries, programs specific to an installation
دقت داشته باشید که لینوکس هم مثل یونیکس آدرس ها رو با ( : ) از هم جدا میکنه که البته همونطور که میدونید در ویندوز از ; استفاده میشد(نکته : لینوکس زود تر این علامت رو انتخاب کرده بود و لذا از ویندوزیا بپرسین که چرا عوض کردنش!!)
و البته همونجوری که میدونید در لین.کس آدرس ها با / از هم جدا میشن در صورتی که در ویندوز آدرس دهی با \ انجام میشه و باز هم لینوکس پیشتاز بوده و باید از ویندوزی ها دلیل این کارشون رو پرسید