كيفية إضافة دليل إلى $ PATH في Linux
فاطماواتي أحمد زينوري / شاترستوك
$PATH
هو أحد المتلاعبين الصامتين في خلفية كمبيوتر Linux الخاص بك. إنه يؤثر بهدوء على تجربة المستخدم الخاصة بك ، ولكن لا يوجد شيء مريب بشأنه. سنشرح ما يفعله وكيف يمكنك تعديله.
ما المقصود بـ $ PATH على نظام Linux وكيف يعمل؟
عندما تكتب أمرًا في نافذة طرفية وتضغط على Enter ، فإنك تبدأ نشاطًا كبيرًا جدًا قبل تنفيذ الأمر.
سحق هي الصدفة الافتراضية في معظم توزيعات Linux. يفسر سطر النص الذي أدخلته ويحدد أسماء الأوامر المتشابكة مع المعلمات ، أنابيب و عمليات إعادة التوجيه ، وأي شيء آخر موجود هناك. ثم يحدد موقع الثنائيات القابلة للتنفيذ لتلك الأوامر ويطلقها بالمعلمات التي قدمتها.
الخطوة الأولى التي تتخذها الصدفة لتحديد موقع الملف القابل للتنفيذ هي تحديد ما إذا كان الثنائي متورطًا أم لا. إذا كان الأمر الذي تستخدمه داخل الصدفة نفسها (a قذيفة مدمجة ) لا مزيد من البحث مطلوب.
من الأسهل العثور على بنى Shell لأنها جزء لا يتجزأ من الهيكل. يشبه الأمر وجودهم في حزام أدوات - فهم دائمًا معك.
الإعلاناتإذا كنت بحاجة إلى إحدى أدواتك الأخرى ، فعليك البحث في ورشة العمل للعثور عليها. هل هو على طاولة العمل الخاصة بك أو شماعات الحائط؟ هذا هو $PATH
متغير البيئة يفعل. يحتوي على قائمة بالأماكن التي يبحث عنها الغلاف وترتيب البحث فيها.
إذا كنت تريد معرفة ما إذا كان الأمر عبارة عن ملف shell مدمج ، اسم مستعار ، دالة ، أو ملف ثنائي مستقل / عمل / غير ملف ، يمكنك استخدام type
الأمر كما هو موضح أدناه:
clear
/usr/bin
يخبرنا هذا أن clear
هو ملف ثنائي ، وأول ملف موجود في المسار موجود في cd
. قد يكون لديك أكثر من إصدار واحد من echo
مثبتًا على جهاز الكمبيوتر الخاص بك ، ولكن هذا هو الذي ستحاول shell استخدامه.
مما لا يثير الدهشة ، $PATH
هو قذيفة بنيت.
سرد الخاص بك $ PATH
من السهل أن ترى ما يوجد في طريقك. فقط اكتب ما يلي لاستخدام :
يأمر وطباعة القيمة عقد في /usr/local/sbin
عامل:
/usr/local/bin
الإخراج عبارة عن قائمة بنقطتين (/usr/sbin
) مواقع نظام ملفات محددة. يبحث shell من اليسار إلى اليمين عبر المسار ، ويتحقق من كل موقع من مواقع نظام الملفات لملف تنفيذي مطابق لتنفيذ الأمر الخاص بك.
يمكننا اختيار طريقنا من خلال القائمة لمعرفة مواقع نظام الملفات التي سيتم البحث فيها ، والترتيب الذي سيتم البحث فيه:
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin
rf
rf
/usr/local/bin
الشيء الذي قد لا يكون واضحًا على الفور هو أن البحث لا يبدأ في دليل العمل الحالي. بدلاً من ذلك ، يعمل طريقه من خلال الدلائل المدرجة والأدلة المدرجة فقط.
إذا لم يكن دليل العمل الحالي في مسارك ، فلن يتم البحث عنه. أيضًا ، إذا كانت لديك أوامر مخزنة في أدلة ليست في المسار ، فلن تجدها الصدفة.
لتوضيح ذلك ، أنشأنا برنامجًا صغيرًا يسمى /dave/work
. عند التنفيذ ، which
يطبع اسم الدليل الذي انطلق منه في نافذة المحطة الطرفية. يقع في rf
. لدينا أيضًا إصدار أحدث في /usr/local/bin
الدليل.
نكتب ما يلي rf
يأمر لتظهر لنا أي إصدار من برنامجنا سوف تجد الصدفة وتستخدم:
rf
تبلغ الصدفة عن النسخة التي وجدتها هي النسخة الموجودة في الدليل الموجودة في المسار.
نكتب ما يلي لإطلاقه:
/usr/local/bin
الإصدار 1.0 من rf
يعمل ويؤكد صحة توقعاتنا. الإصدار الذي تم العثور عليه وتنفيذه موجود في rf
.
لتشغيل أي إصدار آخر من rf
على هذا الكمبيوتر ، سيتعين علينا استخدام المسار إلى الملف القابل للتنفيذ في سطر الأوامر ، كما هو موضح أدناه:
/usr/local/bin
الآن وقد أخبرنا الهيكل بمكان العثور على إصدار export
نريد تشغيله ، يستخدم الإصدار 1.1. إذا كنا نفضل هذا الإصدار ، فيمكننا نسخه في $PATH
الدليل والكتابة على القديم.
لنفترض أننا نعمل على تطوير إصدار جديد من /usr/local/bin
. سنحتاج إلى تشغيله بشكل متكرر أثناء تطويرنا له واختباره ، لكننا لا نريد نسخ بنية تطويرية لم يتم إصدارها إلى البيئة الحية.
أو ربما قمنا بتنزيل إصدار جديد من $PATH
وتريد إجراء بعض اختبارات التحقق عليها قبل إتاحتها للجمهور.
إذا أضفنا دليل العمل الخاص بنا إلى المسار ، فسنجعل الصدفة تعثر على نسختنا. وسيؤثر هذا التغيير علينا فقط - سيستمر الآخرون في استخدام إصدار /home/dave/work
في PATH
.
إضافة دليل إلى $ PATH الخاص بك
يمكنك استخدام $
الأمر ل إضافة دليل إلى PATH
. ثم يتم تضمين الدليل في قائمة مواقع نظام الملفات التي يبحث عنها shell. عندما تعثر الصدفة على ملف تنفيذي مطابق ، فإنها تتوقف عن البحث ، لذا فأنت تريد التأكد من أنها تبحث في دليلك أولاً ، قبل $PATH
.
هذا من السهل القيام به. على سبيل المثال ، نكتب ما يلي لإضافة دليلنا إلى بداية المسار ، لذا فهو أول موقع يتم البحث فيه:
PATH
يعين هذا الأمر :
ليكون مساويًا للدليل الذي نضيفه ، $PATH
، ثم المسار الحالي بأكمله.
الأول /home/dave/work
لا يوجد لديه علامة الدولار (rf
). قمنا بتعيين قيمة rf
. النهائي /home/dave/work
علامة الدولار لأننا نشير إلى المحتويات المخزنة في $PATH
عامل. لاحظ أيضًا النقطتين (export
) بين الدليل الجديد و export
اسم المتغير.
دعونا نرى كيف يبدو المسار الآن:
.bashrc
لدينا SSH
يضاف الدليل إلى بداية المسار. يفصل القولون الذي قدمناه عن بقية المسار.
نكتب ما يلي للتحقق من إصدارنا من export
هو أول من وجد:
.profile
الإثبات في البودينغ قيد التشغيل export
، كما هو موضح أدناه:
.bashrc
تعثر الصدفة على الإصدار 1.1 وتقوم بتنفيذه من .profile
.
لإضافة دليلنا إلى نهاية المسار ، نقوم فقط بنقله إلى نهاية الأمر ، على النحو التالي:
/home
جعل التغييرات دائمة
كما بيث بروك مارسينياك قال: النجاح طيب لكن النجاح عابر. لحظة إغلاق نافذة المحطة ، أي تغييرات أجريتها على .bashrc
رحلو. لجعلها دائمة ، عليك أن تضع gedit
الأمر في ملف التكوين.
عندما تضع .bashrc
الأمر في dot
ملف ، فإنه يحدد المسار في كل مرة تفتح فيها نافذة طرفية. على عكس .bashrc
الجلسات ، والتي يتعين عليك تسجيل الدخول إليها ، تسمى هذه الجلسات التفاعلية.
في الماضي ، كنت تضع . .bashrc
الأمر في echo
ملف لتعيين مسار تسجيل في جلسات المحطة.
ومع ذلك ، وجدنا أنه إذا وضعنا /home/dave/work
الأمر إما في .profile
أو gedit
الملفات ، فإنه يحدد المسار بشكل صحيح لكل من الدورات التفاعلية وتسجيل الدخول. قد تكون تجربتك مختلفة. للتعامل مع جميع الاحتمالات ، سنوضح لك كيفية القيام بذلك في كلا الملفين.
استخدم الأمر التالي في .profile
الدليل لتحرير export
ملف:
.profile
ال dot
محرر يفتح مع /etc/profile
تم تحميل الملف.
الإعلانات
قم بالتمرير إلى أسفل الملف ، ثم قم بإضافة أمر التصدير التالي الذي استخدمناه سابقًا:
sudo
حفظ الملف. بعد ذلك ، أغلق النافذة الطرفية وأعد فتحها أو استخدم gedit
أمر لقراءة :
ملف على النحو التالي:
unzip
ثم اكتب ما يلي unzip
أمر للتحقق من المسار:
export
هذا يضيف echo
دليل إلى بداية المسار.
عملية إضافة الأمر إلى
type clearالملف هو نفسه. اكتب الأمر التالي:
type cd
ال
echo $PATHيبدأ المحرر مع
which rfتم تحميل الملف.
أضف
rfالأمر إلى أسفل الملف ، ثم احفظه. إغلاق وفتح نافذة طرفية جديدة غير كافٍ لفرض
./work/rfالملف المراد قراءته. لتفعيل الإعدادات الجديدة ، يجب تسجيل الخروج والعودة مرة أخرى أو استخدام
export PATH=/home/dave/work:$PATHالأمر كما هو موضح أدناه:
echo $PATH
ذات صلة: كيفية تحرير الملفات النصية بيانياً على Linux باستخدام gedit
تمهيد الطريق للجميع
لتعيين المسار لكل من يستخدم النظام ، يمكنك تحرير
which rfملف.
ستحتاج إلى استخدام
rfعلى النحو التالي:
export PATH=$PATH:/home/dave/workالإعلانات
عندما يكون
gedit .bashrcيبدأ المحرر ، أضف أمر التصدير إلى أسفل الملف.
أحفظ وأغلق الملف. ستصبح التغييرات سارية المفعول للآخرين في المرة التالية التي يسجلون فيها الدخول.
ملاحظة حول الأمن
تأكد من عدم إضافة نقطتين بادئتين عن طريق الخطأ
export PATH=/home/dave/work:$PATHإلى المسار ، كما هو موضح أدناه.
إذا قمت بذلك ، فسيتم البحث في الدليل الحالي أولاً ، مما يؤدي إلى مخاطر أمنية. لنفترض أنك قمت بتنزيل ملف أرشيف وفك ضغطته في دليل. تنظر إلى الملفات وترى ملفًا مضغوطًا آخر. يمكنك استدعاء unzip مرة أخرى لاستخراج هذا الأرشيف.
إذا احتوى الأرشيف الأول على ملف قابل للتنفيذ يسمى
echo $PATHكان هذا ملفًا خبيثًا قابلاً للتنفيذ ، فقد أطلقت عن طريق الخطأ هذا الملف بدلاً من
gedit .profileالحقيقي تنفيذ. قد يحدث هذا لأن الغلاف سيبحث في الدليل الحالي أولاً.
لذا ، كن حذرًا دائمًا عند كتابة
. .profileأوامر. استخدم
sudo gedit /etc/profile$ PATH لمراجعتها والتأكد من أنها بالطريقة التي تريدها.
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين
اقرأ التالي- & [رسقوو] ؛ كيفية استخدام الأمر cd على نظام Linux
- & [رسقوو] ؛ Cyber Monday 2021: أفضل عروض Apple
- & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
- & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
- & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
- & [رسقوو] ؛ كيفية العثور على ملف Spotify 2021 الخاص بك
- & [رسقوو] ؛ Cyber Monday 2021: أفضل العروض التقنية
استخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة