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

مدیران می توانند آنها را با استفاده از دستورات لینوکس تغییر دهند تا تنظیمات سرور خود را بر اساس آن تغییر دهند روی نیازهای برنامه های میزبانی شده بسته به روی وظایف، همچنین می توانید متغیرهای محیطی موقت یا دائمی را تنظیم کنید.

برای کمک به درک آنها، این مقاله متغیرهای محیط لینوکس و روش مدیریت آنها را توضیح می دهد. ما همچنین مزایا و بهترین شیوه های آنها را برای پیکربندی آنها برای مدیریت کارآمد سیستم بررسی خواهیم کرد.

متغیرهای محیطی مقادیر پویا هستند که رفتار پوسته ها و فرآیندها را در یک سیستم لینوکس تعیین می کنند. با استفاده از آنها، ادمین ها به راحتی می توانند تنظیمات پیش فرض را تنظیم کرده و تنظیمات را بین برنامه ها برای مدیریت کارآمدتر به اشتراک بگذارند.
کاربران می توانند تمام متغیرهای محیط را با مقادیر آنها با استفاده از printenv دستور دهید و موارد جدید را با صادرات سودمندی

توزیع‌های لینوکس دارای متغیرهای محیطی و پوسته‌ای هستند که عملکرد مشابهی دارند اما دامنه‌های متفاوتی دارند.

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

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

روش مدیریت متغیرهای محیط لینوکس

در این قسمت روش بررسی متغیرهای محیطی در لینوکس را توضیح خواهیم داد. برای یک سیستم راه دور مانند یک سرور خصوصی مجازی (VPS)، با استفاده از یک کلاینت SSH مانند PuTTy یا ترمینال متصل شوید.

نکته حرفه ای

هاستینگer ارائه می دهد a مرورگر terminal قابلیت اجرای دستورات و مدیریت متغیرهای سیستم در سرورهای لینوکس از طریق مرورگرهای وب. علاوه بر راحتی، این ابزار زمانی مفید است که کاربران به دلایل امنیتی SSH را غیرفعال کنند.

روش فهرست کردن متغیرهای محیطی در لینوکس

برای فهرست کردن همه متغیرهای محیطی در لینوکس، آن را اجرا کنید printenv دستور بدون هیچ گزینه یا پرچم:

printenv
دستور printenv همه متغیرهای محیط سیستم را فهرست می کند

به طور پیش فرض، ترمینال تمام متغیرهای محیطی و مقادیر آنها را چاپ می کند و خروجی را بسیار طولانی می کند. اضافه کردن کمتر اصلاح کننده به سادگی لیست:

printenv | less

همچنین می توانید استفاده کنید env، که مشابه کار می کند printenv. در همین حال، تنظیم فرمان متغیرهای پوسته و محیط را چاپ می کند.

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

در توزیع های محبوب لینوکس، برخی از متداول ترین متغیرهای محیطی عبارتند از:

  • PWD – دایرکتوری کاری فعلی
  • کاربر – حساب کاربری که در حال حاضر وارد شده اید.
  • پوسته – مکان پوسته کاربر فعلی.
  • HOME – فهرست اصلی کاربر.
  • ویرایشگر – ویرایشگر فایل پیش فرض سیستم.
  • مسیر – مکان تمامی فایل های اجرایی سیستم.

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

روش چاپ متغیرهای محیطی در لینوکس

استفاده کنید اکو دستور چاپ یک مقدار متغیر محیطی. در اینجا نحو است:

echo $VARIABLE

حروف بزرگ را در نظر بگیرید زیرا این دستور به حروف بزرگ و کوچک حساس است. به عنوان مثال، برای بازیابی موارد زیر را وارد کنید مسیر محیط مقدار متغیر:

echo $PATH
دستور echo مقدار فعلی متغیر PATH را چاپ می کنددستور echo مقدار فعلی متغیر PATH را چاپ می کند

یا از دستور printenv با متغیری که می‌خواهید جستجو کنید استفاده کنید. به عنوان مثال، برای بررسی موارد زیر را اجرا کنید HOME مقدار متغیر محیطی:

printenv HOME

شما همچنین می توانید اعمال کنید grep دستور برای بررسی وجود یک ورودی. برای مثال دستور زیر را برای جستجو اجرا کنید کاربر متغیر:

printenv | grep USER

برای پرس و جو از مقادیر متغیرهای محیطی، آنها را بعد از فهرست فهرست کنید printenv دستوری مانند:

printenv VAR1 VAR2

روش تنظیم متغیرهای محیطی در لینوکس

استفاده کنید صادرات دستور تنظیم موقت یک متغیر محیطی جهانی در یک سیستم عامل لینوکس. در اینجا نحو است:

export VAR="value"

جایگزین کردن VAR با نام متغیری که می خواهید تغییر دهید و ارزش با ارزش جدیدش به عنوان مثال، دستور زیر را برای تنظیم فهرست اصلی یک کاربر جدید اجرا کنید:

export HOME="/etc/another/path"

در صورت چاپ باید خروجی تغییر کند HOME مقدار متغیر با استفاده از اکو فرمان همچنین می توانید چندین مقدار را با استفاده از یک نقطه ویرگول مانند زیر تنظیم کنید:

export VAR="value1:value2"
دستور صادرات دو مقدار را برای یک متغیر محیطی تنظیم می کنددستور صادرات دو مقدار را برای یک متغیر محیطی تنظیم می کند

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

برای تنظیم یک متغیر محیطی محلی، مقدار را مستقیماً در آن مشخص کنید command-line رابط با استفاده از این نحو:

var="value"

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

پیشنهاد می‌کنیم بخوانید:  GitLab چیست؟ توابع اصلی و موارد استفاده VPS VPS برای توسعه دهندگان وب بسیاری از صاحبان مشاغل دیجیتال به آن اعتماد دارند روی DevOps برای بهبود بهره وری از طریق اتوماسیون و همکاری. آنها معمولاً از یک پلتفرم Git مانند GitLab استفاده می کنند... 142 0 اکتبر 14, 1403 توسط Aris S.

نکته حرفه ای

توصیه می‌کنیم از متغیرهای محیطی موقت برای کارهایی مانند اشکال‌زدایی یا آزمایش استفاده کنید، زیرا تأثیری بر سایر فرآیندهای پوسته نخواهد داشت.

روش ایجاد متغیرهای محیطی پایدار در لینوکس

فایل های پیکربندی پوسته خاص را تغییر دهید تا متغیرهای محیطی شما پایدار باشند. با این حال، فایل برای ویرایش بستگی دارد روی آیا می خواهید پیکربندی خاص کاربر یا کل سیستم را تغییر دهید.

متغیرهای محیطی خاص کاربر

را ویرایش کنید ~/.bashrc فقط یک متغیر محیطی دائمی را برای کاربر فعلی تنظیم کنید. برای انجام این کار، آن را با استفاده از یک ویرایشگر متن مانند nano باز کنید:

sudo nano ~/.bashrc

برای سازماندهی بهتر، جفت کلید-مقدار را در ابتدا یا پایین فایل اضافه کنید. در اینجا نحو است:

export VAR="VALUE"
متغیرهای محیطی جدید در فایل bashrcمتغیرهای محیطی جدید در فایل bashrc

مطبوعات Ctrl+X، Y، و وارد برای بستن نانو و ذخیره تغییرات. برای اعمال پیکربندی جدید با استفاده از این دستور، جلسه پوسته فعلی را بازخوانی کنید:

source ~/.bashrc

بجای ~/.bashrc، اصلاح کنید ~/.پروفایل اگر می‌خواهید متغیرهایی را برای پوسته‌های ورود تنظیم کنید، فایل کنید.

توجه داشته باشید که می توانید توابع پوسته را نیز از طریق تغییر دهید ~./bashrc فایل.

متغیرهای محیطی در سراسر سیستم

برای تنظیم متغیرهای محیط دائمی که برای همه کاربران یک سیستم عامل اعمال می شود، آن را ویرایش کنید /etc/محیط فایل با استفاده از ویرایشگر متن:

sudo nano /etc/environment

جفت های کلید-مقدار را با استفاده از سینتکس اصلی بدون اضافه کردن به فایل اضافه کنید صادرات:

VAR="VALUE"
متغیر محیطی جدید در فایل پیکربندی محیطمتغیر محیطی جدید در فایل پیکربندی محیط

فایل را ذخیره کرده و ببندید نانو. برای اعمال تغییرات، کاربر فعلی خود را مجددا وارد کنید یا سیستم را با استفاده از راه اندازی مجدد فرمان هر زمان که وارد پوسته ورود به bash شوید، پیکربندی بارگیری می شود

علاوه بر /etc/محیط فایل، می توانید متغیر محیطی را به آن اضافه کنید /etc/profile.d فهرست راهنما. برای انجام این کار، با استفاده از این دستور به پوشه بروید:

sudo cd /etc/profile.d

یک فایل اسکریپت پوسته جدید ایجاد کنید تا متغیر جهانی جدید خود را با استفاده از نانو ویرایشگر متن:

sudo nano global_env.sh

جایگزین کردن global_env با نام دلخواه شما، ترجیحاً توصیفی، برای سهولت شناسایی. که در نانو، متغیرهای محیط خود را با استفاده از این نحو بنویسید:

export VAR="VALUE"

تغییرات را ذخیره کنید و ویرایشگر متن را ببندید. سیستم خود را مجددا راه اندازی کنید تا تنظیمات را در پوسته bash اعمال کنید.

اگر شما اجرا کنید printenv دستور، پیکربندی جدید باید در لیست متغیرهای محیط لینوکس شما نشان داده شود.

روش حذف متغیرهای محیطی در لینوکس

استفاده کنید تنظیم نشده دستور حذف یک متغیر محیطی در لینوکس. در اینجا نحو است:

unset VAR

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

برای حذف دائمی یک متغیر محیطی، خود را باز کنید ~/.bashrc یا /etc/محیط فایل پیکربندی با استفاده از ویرایشگر متن خط مربوطه را حذف کرده و تغییرات را ذخیره کنید.

نماد هش که متغیر محیطی را در فایل پیکربندی محیط غیرفعال می کندنماد هش که متغیر محیطی را در فایل پیکربندی محیط غیرفعال می کند

به جای حذف، توصیه می کنیم یک نماد هش (#) در ابتدای رشته آن را غیرفعال کنید. هنگامی که تغییر باعث ایجاد خطا می شود، می توانید به سرعت متغیر محیط را با حذف کاراکتر دوباره فعال کنید.

متغیرهای محیط لینوکس در حال توسعه

متغیرهای محیطی به شما این امکان را می دهند که به راحتی مناطق مختلفی را نسبت به پایه کد تنظیم کنید تا اطلاعات حساس را برای برنامه های خود ذخیره کنید. این به بهبود امنیت کمک می کند زیرا مدیران می توانند دسترسی خود را به کاربران خاصی محدود کنند.

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

علاوه بر این، مدیریت و توسعه برنامه را ساده می کند زیرا نیازی به تغییر مکرر پایه کد ندارید. به عنوان مثال، ما دو URL مختلف API را به عنوان متغیرهای محیطی تنظیم می کنیم:

export PYAPP_ENV="TEST"

export PYAPP_TEST_API="https://api.domain.tld/"

export PYAPP_DEPLOY_API="https://api2.domain.tld/"

ما به PYAPP_ENV متغیر محیطی در پایه کد برنامه در حین استقرار، می توانیم مقدار آن را به طور موقت به آن تغییر دهیم استقرار، با استفاده از PYAPP_DEPLOY_API.

داشتن چندین متغیر باعث صرفه جویی در زمان می شود، زیرا هنگام انتقال برنامه به مرحله توسعه دیگر نیازی به به روز رسانی جداگانه آنها ندارید.

بهترین روش های متغیرهای محیط لینوکس

در این بخش، بهترین روش‌های متغیر محیط لینوکس را بررسی می‌کنیم تا به شما کمک کند سرور خود را به راحتی و ایمن مدیریت کنید.

استفاده کنید هاستینگer دستیار VPS AI برای مدیریت آسان متغیرهای محیطی

همه هاستینگer برنامه های میزبانی VPS رایگان ارائه می دهد دستیار هوش مصنوعی قابلیتی که به شما امکان می دهد به سرعت دستورات یا دستورالعمل ها را با استفاده از اعلان های ساده تولید کنید.

برای دسترسی به ابزار، باز کنید hPanel و کلیک کنید VPS روی منوی بالا سرور مربوطه را انتخاب کرده و کلیک کنید دستیار هوش مصنوعی از نوار کناری

تنظیماتی را برای تنظیم متغیرهای محیط لینوکس می نویسد، که می توانید به سرعت آن ها را در مرورگر کپی و پیست کنید. terminal.

به عنوان مثال، از دستیار هوش مصنوعی بپرسید: “من باید یک اسکریپت ایجاد کنم تا متغیرهای محیطی را برای پروژه خود تنظیم کنم. من به سه متغیر نیاز دارم: ‘کلید ای پی ای‘ با ‘123‘ ارزش، ‘DB_URL‘ با ‘https://example.tld/database“ارزش، و”LOG_LEVEL‘ با ‘اشکال زدایی‘ ارزش. اسکریپت Bash را برای من بنویس.»

Hostinger  VPS AI Assistant اسکریپت را برای تنظیم متغیرهای محیطی تولید می کندHostinger  VPS AI Assistant اسکریپت را برای تنظیم متغیرهای محیطی تولید می کند

همچنین می توانید از این ابزار برای عیب یابی متغیرهای لینوکس استفاده کنید. به عنوان مثال، از دستیار هوش مصنوعی بپرسید: «من باید متغیرهای محیط جهانی را که برای همه کاربران تنظیم شده است، تغییر دهم. من فایل جدید را به /etc/محیط، اما کار نمی کند علل احتمالی و راه حل آنها چیست؟»

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

با این حال، توصیه می کنیم اسکریپت یا پیکربندی تولید شده را در ناحیه توسعه دوباره بررسی کنید. مانند هر ابزار هوش مصنوعی، ممکن است برخی اطلاعات نادرست وجود داشته باشد.

از نام های متغیر محیطی توصیفی استفاده کنید

از یک نام متغیر محیطی توصیفی برای ساده سازی شناسایی و سازماندهی استفاده کنید. از عبارات مبهم مانند VAR1 یا DATABASE_VAR، زیرا ممکن است وظایف مدیریتی را پیچیده کنند.

ممکن است نتوانید این متغیرها و عملکردهای آنها را شناسایی کنید، به خصوص اگر چندین محیط دارید. علاوه بر این، تغییر تنظیمات اشتباه می تواند بر عملکرد سیستم شما تأثیر بگذارد.

توصیه می کنیم از نامی استفاده کنید که هدف متغیر را نشان می دهد. برای مثال، اگر مسیر پیش‌فرض فهرست ذخیره‌سازی فایل را تعیین می‌کند، از نام‌هایی مانند استفاده کنید LOG_PATH یا EXECUTION_PATH بجای مسیر فقط.

اجتناب از دامنه متغیر

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

در همین حال، متغیرهای محیطی را برای تعریف تنظیماتی که چندین برنامه استفاده می‌کنند، مانند پراکسی HTTP یا تنظیمات محلی تنظیم کنید.

تنظیم دامنه متغیر اشتباه ممکن است پیکربندی را لغو کند و منجر به خطا شود. ایجاد یک متغیر پوسته با همان نام جهانی، سیستم شما را گیج می کند زیرا نمی داند از کدام یک استفاده کند.

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

از تمام حروف کوچک برای نوشتن یک متغیر پوسته و حروف بزرگ برای یک متغیر جهانی استفاده کنید. به عنوان مثال، از مسیر متغیر برای وظایف کل سیستم و path_deploy_pyapp برای استفاده موقت

به طور منظم متغیرهای محیط را بررسی و حسابرسی کنید

ممیزی منظم متغیرهای لینوکس به شما امکان می‌دهد به سرعت پیکربندی‌های قدیمی را که می‌توانند باعث اختلال در عملکرد سرور شوند، پیدا کنید. به روز رسانی تضمین می کند که آنها به آخرین نرم افزار و پیکربندی سیستم پایبند هستند تا از مشکلات ناسازگاری جلوگیری کنند.

علاوه بر این، ممکن است حاوی اطلاعات حساسی مانند کلیدهای API یا اعتبارنامه های منسوخ شده باشند که امنیت VPS شما را به خطر می اندازد. ممیزی های منظم به بهبود امنیت متغیرهای محیطی کمک می کند و از دسترسی اشخاص غیرمجاز به آنها جلوگیری می کند.

برای ساده سازی حسابرسی process، اسناد پیکربندی را ایجاد کنید. ساده ترین راه برای انجام این کار، صادرات متغیرها در لینوکس با استفاده از اپراتور مانند زیر است:

set > user_shell_ddmmyyyy.txt

علاوه بر این، این دستور همچنین به شما امکان می‌دهد برای بازیابی ساده‌تر، نسخه‌های پشتیبان از متغیرهای محیط لینوکس ایجاد کنید.

نتیجه

متغیرهای محیطی در لینوکس جفت های کلید-مقدار هستند که پوسته و پوسته سیستم شما را تعیین می کنند. process رفتار – اخلاق. آنها به مدیران سرور اجازه می دهند به راحتی تنظیمات را بین کاربران یا برنامه ها تشخیص داده و به اشتراک بگذارند.

برای چاپ همه متغیرهای محیطی، عبارت را وارد کنید printenv یا env دستور در ترمینال در همین حال، اجرا کنید echo $var ابزار یا استفاده printenv var برای بررسی یک جفت کلید-مقدار خاص.

استفاده کنید صادرات دستور تنظیم متغیرهای محیط جدید به طور موقت. برای ایجاد یک دائمی، جفت های کلید-مقدار را در آن اضافه کنید ~/.bashrc یا /etc/محیط فایل های پیکربندی با استفاده از یک ویرایشگر متن مانند نانو.&nbs

یک نماد هش اضافه کنید (#) در ابتدای جفت کلید-مقدار در آن فایل ها برای غیرفعال کردن متغیرهای محیط مربوطه. متناوبا، استفاده کنید تنظیم نشده دستور حذف موقت آنها را صادر کنید.

هنگام پیکربندی متغیرهای محیطی در لینوکس، از اهرم استفاده کنید هاستینگer’s دستیار VPS AI برای ساده کردن کار علاوه بر این، از نام های توصیفی استفاده کنید، از دامنه متغیر اجتناب کنید و به طور منظم پیکربندی خود را بررسی کنید تا از عملکرد و امنیت بهینه سرور اطمینان حاصل کنید.

سوالات متداول متغیرهای محیط لینوکس

در این بخش به چندین سوال رایج در مورد متغیرهای محیط لینوکس پاسخ خواهیم داد تا به درک بهتر آنها کمک کنیم.

چگونه می توانم متغیرهای محیط لینوکس را پیدا کنم؟

برای لیست کردن متغیرهای محیط فعلی مجموعه روی از سیستم خود استفاده کنید printenv یا env فرمان لوله کن کمتر برای چاپ خروجی کوتاه‌تر پرچم‌گذاری کنید.
استفاده کنید echo $var یا printenv var دستور بررسی یک مورد خاص در همین حال بدوید تنظیم برای بررسی متغیرهای محیط و پوسته.

انواع متغیرهای محیطی در لینوکس چیست؟

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

تفاوت بین چیست Local و متغیرهای جهانی محیط لینوکس؟

Local متغیرها فقط برای یک خاص اعمال می شوند process یا نمونه پوسته فعلی که در آن تعریف شده اند. آنها برای سایر برنامه ها یا اسکریپت ها غیرقابل دسترسی هستند.
در همین حال، جهانی‌ها بر تمامی فرآیندها، زیر فرآیندها و پوسته‌های یک محیط تأثیر می‌گذارند. برای همه برنامه های یک کاربر قابل دسترسی است.