در واقع #PATH یک متغیر محیطی یا #Environment Variable در سیستم عامل لینوکس و سایر سیستم عامل های UNIX Base است. به زبان ساده ، متغیر محیطی PATH به شل لینوکس ما دیکته میکند که کدام دایرکتوری شامل برنامه های اجرایی میباشند و سریعترین مسیر موجود برای اجرا کردن نرم افزار ها در کجا قرار دارد. برای مثال نرم افزارهای آماده به کاری که توسط کابران به طور معمول استفاده میشوند مانند نرم افزار ls یا cat و یا از این قبیل نرم افزارها.متغیر های محیطی در system profile ها نگهداری میشوند و زمانی ایجاد میشوند که به سیستم لینوکسی از راه دور Login میکنیم(یا اینکه ترمینال خود را در سیستم بصورت کنسول باز کنیم). متغیر محیطی PATH باعث افزایش راحتی و ایمنی این گونه سیستم عامل ها میشود و تا آنجا که متغیر محیطی PATH به یکی از مهم ترین Environment Variable ها در سیستم عامل لینوکس تبدیل شده است. متغیر های محیطی کلاسی از متغیر ها یا بعبارتی آیتم هایی میباشند که میتوان مقادیر آنها را تغییر داد که به شل چگونگی تعامل و رفتار با دستوراتی که کاربر با آنها دائما سر و کار دارد دیکته میکند. توجه کنید که PATH با path زمین تا آسمان فرق دارد PATH یک متغیر محیطی در سیستم عامل های UNIX based است اما path یا همان مسیر میتوان گفت که جزء ای از PATH است زیرا ما در حقیقت مسیر را در متغیر محیطی PATH برای اجرا شدنش تعریف میکنیم.path یا partially path یک مسیر نسبی است که در ساختار سلسله مراتبی سیستم عامل لینوکس موجود است مانند مسیری که در حال حاضر در ساختار سلسله مراتبی لینوکس در آن قرار دارید مانند دایرکتوری Desktop یا Downloads در پروفایل کاربری تان. absolute path یا مسیر مطلق که به آن full path یا مسیر کامل نیز میگویند مسیری است که ما برای بیان آن دایرکتوری هایی که از ابتدای ساختار سلسله مراتبی لینوکس که همان root میباشد تا دایرکتوری فعلی مان که در آن قرار داریم را ذکر میکنیم برای مثال با زدن دستور pwd مسیر کاملی که در آن قرار داریم نشان داده میشود :
:~# pwd
:~# /home/user/Desktop/test
در مسیر فوق فولدر test ما در داخل فولدر Desktop قرار دارد و فولدر Desktop در پروفایل کاربری ما که همان user است قرار دارد و پروفایل ما در داخل دایرکتوری home قرار گرفته و در آخر دایرکتوری home که مستقیما از دایرکتوری روت یا / جدا شده است قرار میگیرد.
همانطور که گفتیم PATH شامل مسیرهای مطلقی است که وقتی کاربر یک دستور را مانند ls اجرا میکند به جای اینکه مسیر مطلق آن نرم افزار یا دستور را که در اینجا برای نرم افزار ls مسیر مطلقش bin / ls میباشد برای اجرا وارد کند آنرا به شکل ساده تر مثل ls وارد میکند، پس اینجاست که متغیر محیطی PATH به کمک ما می آید پس اگر ما مسیر مطلق فایل های آن نرم افزار را در متغیر محیطی PATH تعریف کنیم براحتی میتوانیم دستور خود را بدون ذکر مسیر کامل اجرا کنیم. میتوان گفت که متغیر محیطی PATH به عنوان یک فاکتور امنیتی نیز میتواند مطرح شود زیرا کاربر بدون اینکه مسیر مطلق را برای اجرای نرم افزار وارد کند تنها با نام آن براحتی میتواند کارش را انجام دهد و جلوی اجرا شدن نرم افزار های مشابه گرفته میشود دومین مزیت استفاده از متغیر محیطی PATH نیز افزایش سرعت عمل ما هنگام کار با سیستم عامل است.
لیست تمامی متغیر های محیطی در سیستم عامل های UNIX Based را با اجرا کردن دستور env میتوان مشاهده نمود.برای اینکه در خروجی تنها متغیر محیطی PATH را مشاهده کنید دستور زیر را وارد کنید :
:~# env | grep PATH
روش دیگر مشاهده محتویات متغیر محیطی PATH با استفاده از دستور echo میباشد که به صورت زیر است :
:~# echo $PATH
همانطور که حتما مستحضر هستید علامت $ را به این خاطر گذاشتیم که PATH بصورت متن در خروجی نمایش داده نشود یا بعبارتی شل آنرا به عنوان متغیر در نظر بگیرد و مقدارش را به ما برگرداند.شما با استفاده از دستور unset میتوانید متغیر PATH را که به صورت تنظیم شده در سیستم قرار گرفته است را از حالت تنظیم خارج کنید :
:~# unset PATH
:~# pwd
:~# /home/user/Desktop/test
در مسیر فوق فولدر test ما در داخل فولدر Desktop قرار دارد و فولدر Desktop در پروفایل کاربری ما که همان user است قرار دارد و پروفایل ما در داخل دایرکتوری home قرار گرفته و در آخر دایرکتوری home که مستقیما از دایرکتوری روت یا / جدا شده است قرار میگیرد.
همانطور که گفتیم PATH شامل مسیرهای مطلقی است که وقتی کاربر یک دستور را مانند ls اجرا میکند به جای اینکه مسیر مطلق آن نرم افزار یا دستور را که در اینجا برای نرم افزار ls مسیر مطلقش bin / ls میباشد برای اجرا وارد کند آنرا به شکل ساده تر مثل ls وارد میکند، پس اینجاست که متغیر محیطی PATH به کمک ما می آید پس اگر ما مسیر مطلق فایل های آن نرم افزار را در متغیر محیطی PATH تعریف کنیم براحتی میتوانیم دستور خود را بدون ذکر مسیر کامل اجرا کنیم. میتوان گفت که متغیر محیطی PATH به عنوان یک فاکتور امنیتی نیز میتواند مطرح شود زیرا کاربر بدون اینکه مسیر مطلق را برای اجرای نرم افزار وارد کند تنها با نام آن براحتی میتواند کارش را انجام دهد و جلوی اجرا شدن نرم افزار های مشابه گرفته میشود دومین مزیت استفاده از متغیر محیطی PATH نیز افزایش سرعت عمل ما هنگام کار با سیستم عامل است.
لیست تمامی متغیر های محیطی در سیستم عامل های UNIX Based را با اجرا کردن دستور env میتوان مشاهده نمود.برای اینکه در خروجی تنها متغیر محیطی PATH را مشاهده کنید دستور زیر را وارد کنید :
:~# env | grep PATH
روش دیگر مشاهده محتویات متغیر محیطی PATH با استفاده از دستور echo میباشد که به صورت زیر است :
:~# echo $PATH
همانطور که حتما مستحضر هستید علامت $ را به این خاطر گذاشتیم که PATH بصورت متن در خروجی نمایش داده نشود یا بعبارتی شل آنرا به عنوان متغیر در نظر بگیرد و مقدارش را به ما برگرداند.شما با استفاده از دستور unset میتوانید متغیر PATH را که به صورت تنظیم شده در سیستم قرار گرفته است را از حالت تنظیم خارج کنید :
:~# unset PATH