کاربرد PATH Environment Variable یا متغیر محیطی PATH در سیستم عامل لینوکس

کاربرد PATH Environment Variable یا متغیر محیطی PATH در سیستم عامل لینوکس

 کاربرد PATH Environment Variable یا متغیر محیطی PATH در سیستم عامل لینوکس

کاربرد PATH Environment Variable یا متغیر محیطی PATH : PATH يک متغير محيطي يا Environment Variable در سيستم عامل لينوکس و ساير سيستم عامل هاي UNIX Base است. به زبان ساده، متغير محيطي PATH به شل لينوکس ما ديکته مي کند، که کدام دايرکتوري شامل برنامه هاي اجرايي مي باشند و سريعترين مسير موجود براي اجرا کردن نرم افزار ها در کجا قرار دارد. براي مثال نرم افزارهاي آماده به کاري که توسط کابران به طور معمول استفاده مي شوند، مانند نرم افزار ls يا cat و يا از اين قبيل نرم افزارها. متغير هاي محيطي در system profile ها نگهداري مي شوند و زماني ايجاد مي شوند که به سيستم لينوکسي از راه دور Login مي کنيم (يا اينکه ترمينال خود را در سيستم بصورت کنسول باز کنيم). متغير محيطي PATH باعث افزايش راحتي و ايمني اين گونه سيستم عامل ها مي شود، تا آنجا که متغير محيطي PATH به يکي از مهم ترين Environment Variable ها در سيستم عامل لينوکس تبديل شده است.

کاربرد PATH Environment Variable یا متغیر محیطی PATH

کاربرد PATH Environment Variable یا متغیر محیطی PATH

متغير هاي محيطي کلاسي از متغير ها يا به عبارتي آيتم هايي مي باشند که مي توان مقادير آنها را تغيير داد که به شل چگونگي تعامل و رفتار با دستوراتي که کاربر با آنها دائما سر و کار دارد ديکته مي کند. قابل ذکر است که PATH با path کاملا تفاوت دارد. PATH يک متغير محيطي در سيستم عامل هاي UNIX based است، اما path يا همان مسير مي توان گفت که جزء اي از PATH است زيرا ما در حقيقت مسير را در متغير محيطي PATH براي اجرا شدنش تعريف مي کنيم. path يا partially path يک مسير نسبي است که در ساختار سلسله مراتبي سيستم عامل لينوکس موجود است، مانند مسيري که در حال حاضر در ساختار سلسله مراتبي لينوکس در آن قرار داريد مانند دايرکتوري Desktop يا Downloads در پروفايل کاربري تان. absolute path يا مسير مطلق که به آن full path يا مسير کامل نيز مي گويند، مسيري است که ما براي بيان آن دايرکتوري هايي که از ابتداي ساختار سلسله مراتبي لينوکس که همان root مي باشد تا دايرکتوري فعلي مان که در آن قرار داريم را ذکر مي کنيم.

براي مثال با زدن دستور pwd مسير کاملي که در آن قرار داريم نشان داده مي شود:

pwd#~:
/home/amirhossein/Desktop/test#~:

در مسير فوق فولدر test ما در داخل فولدر Desktop قرار دارد و فولدر Desktop در پروفايل کاربري ما که همان amirhossein است قرار دارد و پروفايل ما در داخل دايرکتوري 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#~:

در هر حالت پيشنهاد مي شود که اين متغير حياتي را unset نکنيد، زيرا ممکن است تا زمان Log off نکردن از session خود با مشکل مواجه شويد.
هر کاربر استفاده کننده از سيستم لينوکسي ممکن است متغير محيطي PATH متفاوتي داشته باشد. وقتي سيستم عامل لينوکس نصب مي شود، يک متغير محيطي PATH پيش فرض براي کاربر root ايجاد مي شود و متغير هاي محيطي PATH ديگر نيز براي ساير کاربران معمولي ايجاد و اعمال مي شود. متغير محيطي PATH براي کاربران معمولي شامل دايرکتوري هاي زيادي نسبت به کاربر root است به خاطر اينکه دايرکتوري هايي مانند sbin و usr sbin / وجود دارد که شامل برنامه هايي است که توسط کاربران استفاده مي شود. براي اطمينان حاصل کردن از اين موضوع مي توانيد مسير هاي موجود در متغير PATH اکانت کاربري لينوکس خودتان را با استفاده از دستورات فوق بشماريد.

متغير هاي PATH را مي توان به راحتي تغيير داد. آنها به دو حالت مي توانند تغيير داده شوند يکي به صورت موقت و ديگري بصورت دائمي. به اين گونه که وقتي در حال حاضر در session خود به طور لاگين قرار داريد و حالت ديگر اين است که بعد از Log off کردن از session خود نيز تغييرات به طور دائم باقي بمانند و overwrite نشوند. اضافه نمودن مسير دايرکتوري به متغير محيطي PATH کاري بسيار آسان است. با استفاده از الگوي زير مي توانيد يک مسير دايرکتوري به متغير محيطي PATH اضافه نماييد:

“export PATH=”directory:$PATH:~#

براي مثال ما دايرکتوري usrsbin را به متغير PATH اضافه مي کنيم:

“export PATH=”/usr/sbin:$PATH

دقت کنيد که با export کردن اين موارد، کار تمام نمي شود و تغييرات به صورت دائمي اعمال نمي شود و ما اين همه صحبت نکرديم که در آخر کار با يک Log off کردن تمام کار هايمان بي معني شود. شما براي اعمال نمودن دائمي اين تغييرات بايستي دستورات فوق را در فايل bashrc. و يا در فايل bashprofile. موجود در پروفايل کاربري تان ذخيره کنيد. نقطه ها در ابتداي اين دو فايل نشانگر اين است که مخفي هستند. براي انجام اين کار در فايل bashprofile. بايستي اين فايل را با يک ويرايشگر متن باز کنيد و دستور زير را عينا در قسمتي که با PATH شروع مي شود وارد کنيد:

PATH=$PATH:$HOME/bin:/usr/test:~#

در دستور فوق ما دايرکتوري usrtest را در فايل bash_profile. ذخيره کرديم. حال اگر از session خود Log off نيز بکنيد باز هم تغييرات به طور دائم باقي مي مانند.

منبع:Itpro.ir

 

کاربرد PATH Environment Variable یا متغیر محیطی PATH