محیط لینوکس

محیط لینوکس
متغیرهای محیطی در لینوکس/یونیکس
به گزارش اپست به نقل ار geeksforgeeks ، متغیرهای محیطی که اغلب با نام ENVs شناخته میشوند، مقادیر دینامیکی هستند که تأثیر قابل توجهی بر رفتار برنامهها و فرایندها در سیستمعامل لینوکس دارند. این متغیرها به عنوان ابزاری برای انتقال اطلاعات ضروری به نرمافزارها و شکلدهی به نحوه تعامل آنها با محیط عمل میکنند. هر فرایند لینوکس با مجموعهای از متغیرهای محیطی مرتبط است که رفتار و تعاملات آن را با سایر فرایندها هدایت میکند.
مطالب مشابه : انواع لینوکس
دسترسی به متغیرهای محیطی
در لینوکس، راه اصلی برای تعامل با متغیرهای محیطی، شِل (Shell) است. شل به عنوان یک مفسر خط فرمان عمل میکند و دستورات وارد شده توسط کاربر را اجرا میکند. رایجترین شل در دنیای لینوکس، شل Bash (Bourne Again SHell) است که به صورت پیشفرض در بسیاری از توزیعهای لینوکس ارائه میشود.
دامنه یک متغیر محیطی
درک دامنه (Scope) یک متغیر محیطی بسیار مهم است. دامنه تعیین میکند که متغیر در کجا قابل دسترسی یا تعریف است و تمایز واضحی بین دامنههای سراسری (Global) و محلی (Local) ایجاد میکند.
متغیرهای محیطی سراسری
یک متغیر محیطی سراسری، هنگامی که در یک ترمینال تعریف میشود، از هر نقطهای در محیط آن ترمینال قابل دسترسی است. این بدان معناست که میتواند توسط اسکریپتها، برنامهها یا فرآیندهایی که در محدوده آن ترمینال اجرا میشوند، استفاده شود.
محیطهای لوکال (محلی)
از سوی دیگر، متغیرهای محیطی محلی به ترمینال خاصی که در آن تعریف شدهاند محدود میشوند. آنها از برنامهها یا فرآیندهای خارجی جدا هستند و دسترسی آنها فقط به ترمینالی که آنها را ایجاد کرده است، منحصر میشود.
دسترسی به متغیرهای محیطی
دسترسی به متغیرهای محیطی، بدون در نظر گرفتن دامنه آنها، ساده و یکپارچه است. برای بازیابی مقدار یک متغیر محیطی، از دستور زیر استفاده میشود:
دستور (Syntax)
VARIABLE_NAME
این سینتکس هم برای متغیرهای محیطی محلی و هم برای متغیرهای محیطی سراسری یکسان است.
نمایش متغیرهای محیطی
برای نمایش مقدار یک متغیر محیطی، از دستور echo استفاده میشود، همانطور که در زیر نشان داده شده است:
دستور (Syntax)
echo $VARIABLE_NAME
برای دریافت لیستی از تمام متغیرهای محیطی سراسری، لینوکس چندین دستور را ارائه میدهد:
۱. دستور printenv در لینوکس
این دستور یک لیست جامع از تمام متغیرهای محیطی سراسری را فراهم میکند.
printenv //displays all the global ENVs
2.فرمان set در لینوکس
تمام متغیرهای محیطی، شامل متغیرهای سراسری و محلی را فهرست میکند.
set //display all the ENVs(global as well as local)
۳. دستور env در لینوکس
لیستی از متغیرهای محیطی سراسری را نمایش میدهد.
env //display all the global ENVs


چگونه متغیرهای محیطی را در لینوکس تنظیم کنیم؟
متغیرهای محیطی را میتوان با رویکردهای مختلفی تنظیم کرد که بستگی به دامنه مورد نظر آنها دارد.
1. تنظیم متغیرهای محیطی سراسری (Global)
متغیرهای محیطی سراسری را میتوان با استفاده از دستور export یا set تعریف کرد. هر دو روش شامل تعیین نام و مقدار متغیر هستند. برای مثال:
$ export NAME=Value
or
$ set NAME=Value
مثال:

2. تنظیم متغیرهای محیطی محلی
متغیرهای محیطی محلی را میتوان مستقیماً و بدون نیاز به دستور export تعریف کرد. دستور آن به صورت زیر است:
دستور (Syntax)
$ NAME=Value
مثال:

تنظیم متغیرهای محیطی در سراسر سیستم برای کاربر در لینوکس
متغیرهای محیطی سراسری کاربر در فایلهای مخصوص کاربر مانند ~/.bashrc، ~/.bash_profile، ~/.bash_login یا ~/.profile پیکربندی میشوند. این متغیرها شخصیسازی شده و پس از راهاندازی مجدد سیستم نیز پابرجا میمانند. مراحل زیر روند تنظیم متغیرهای محیطی سراسری کاربر را هدایت میکند:
مراحل زیر را میتوان برای انجام این کار دنبال کرد:
گام ۱: ترمینال را باز کنید.
گام ۲: فایل مخصوص کاربر (مثلاً ~/.bashrc) را با استفاده از یک ویرایشگر متن ویرایش کنید.
گام ۳: متغیر را با دستور export در فایل وارد کنید:
export NAME=Value
مرحله ۴: فایل را ذخیره و ببندید.
مرحله ۵: تغییرات را با استفاده از:
$ source ~/.bashrc
مثال:

برای تنظیم متغیرهای محیطی در سراسر سیستم در لینوکس
متغیرهای محیطی سراسری سیستم در فایلهایی مانند /etc/environment, /etc/profile, /etc/profile.d/ یا /etc/bash.bashrc پیکربندی میشوند. این متغیرها برای همه کاربران قابل دسترسی هستند و پس از راهاندازی مجدد سیستم نیز پابرجا میمانند. تنظیم یک متغیر محیطی سراسری سیستم شامل مراحل زیر است:
برای انجام این کار میتوانید مراحل زیر را دنبال کنید:
مرحله ۱: ترمینال را باز کنید.
مرحله ۲:
$ sudo -H vi /etc/environment
مرحله ۳: رمز عبور را وارد کنید. مرحله
۴: متغیر را در فایل باز شده اضافه کنید.
NAME=Value
مرحله ۵: فایل را ذخیره و ببندید.
مرحله ۶: برای اعمال تغییرات، از سیستم خارج شده و دوباره وارد شوید.
چگونه متغیرهای محیطی را unset کنیم؟
برای unset کردن یک متغیر محیطی، از دستور unset استفاده میشود، یا میتوان به متغیر یک مقدار خالی اختصاص داد. به عنوان مثال:
دستور (Syntax)
$ unset NAME
or
$ NAME=''
مثال

متغیرهای محیطی دائمی را میتوان با ویرایش فایلهای پیکربندی مربوطه و حذف خطوطی که در ابتدا در آنها تعریف شده بودند، لغو کرد.
برخی از متغیرهای محیطی پرکاربرد (ENVs) در لینوکس:
| متغیرهای محیطی | توضیحات |
|---|---|
| $USER | مسیر جستجو را برای دستورات میدهد. |
| $PATH | مسیر جستجو برای دستورات را ارائه میدهد. |
| $HOME | مسیر دایرکتوری خانگی را میدهد. |
| $PWD | مسیر دایرکتوری کاری فعلی را ارائه میدهد. |
| $HOSTNAME | نام میزبان را میدهد. |
| $LANG | زبان پیشفرض سیستم را میدهد. |
| $EDITOR | ویرایشگر فایل پیشفرض را ارائه میدهد. |
| $UID | شناسه کاربری کاربر فعلی را میدهد. |
| $SHELL | مکان برنامه پوسته کاربر فعلی را میدهد. |
مثال:

نتیجهگیری
در این مقاله به بررسی متغیرهای محیطی پرداختیم که از اجزای اساسی سیستم عامل لینوکس هستند و به فرآیندها و برنامهها امکان دسترسی به اطلاعات پیکربندی مهم را میدهند. در مجموع، میتوان گفت که درک مفاهیم متغیرهای محیطی برای یک کاربر لینوکس از اهمیت بالایی برخوردار است.






