كيفية استخدام الأمر الذي في Linux


يمنحك Linux تحكمًا كاملاً في كيفية عملك ، من التخصيص إلى إدارة النظام. أداة واحدة مفيدة يمكن أن تجعل تجربتك أكثر سلاسة هي which يأمر. يساعدك ذلك بسرعة في العثور على الموقع الدقيق لملف قابل للتنفيذ من خلال البحث من خلال الدلائل المدرجة في الخاص بك $PATH عامل. في هذا الدليل ، سنشرح كيف يعمل الأمر ، واستكشاف بناء الجملة والخيارات الخاصة به ، ونمر من خلال أمثلة عملية لمساعدتك على استخدامه بفعالية.

فهم بناء جملة الأمر والعمل

ال which يساعد الأمر في Linux في العثور على الملف القابل للتنفيذ لأمر معين. يبحث في الدلائل المدرجة في متغير بيئة المسار. يعرض هذا الأمر الملف الذي يتم تشغيله عند تنفيذ أمر. يعيد الإخراج التالي:

  • 0 عندما يتم العثور على جميع الأوامر المحددة وتنفيذها.
  • 1 إذا كان أحد الأوامر أو أكثر مفقودة أو غير قابلة للتنفيذ.
  • 2 إذا تم استخدام خيار غير صالح.

بناء الجملة العام لاستخدام الأمر في Linux هو:

which [file1] [file2] ...

يستبدل [file1] و [file2] مع أسماء التنفيذيين التي تريد العثور عليها.

لماذا يجب أن نستخدم أي أمر

هناك العديد من الأسباب لاستخدام الأمر في Linux. على سبيل المثال ، يساعدنا في تحديد ما إذا كان الأمر هو أمر قابل للتنفيذ فعليًا أو مستعارًا أو رابطًا رمزيًا. علاوة على ذلك ، يعرض الموقع الدقيق لملف قابل للتنفيذ. كما أنه يمكّننا من تحديد الأوامر المفقودة أو المتضاربة في متغير المسار. علاوة على ذلك ، فإن استخدام الأمر يضمن تشغيل الإصدار الصحيح عند وجود إصدارات متعددة.

كيفية استخدام أي أمر في Linux

دعونا نستكشف بعض الأمثلة لمعرفة كيفية عمل الأمر في حالات الاستخدام الحقيقي:

مثال 1: حدد موقع مسار القابل للتنفيذ

يمكننا استخدام الأمر الذي يحدد مكان تخزين الملف القابل للتنفيذ للأمر:

which grep

يعيد المسار الكامل ، مثل “/usr/bin/grep” ، مما يشير إلى الموقع الدقيق للمنفذ.

مثال 2: ابحث عن مسارات أوامر متعددة

يمكننا تحديد أوامر متعددة في وقت واحد مع الأمر الذي يتحقق من مسارات كل منهما:

which awk sed cat touch

يسترجع هذا الأمر مسارات awkو sed و cat الأوامر ، على التوالي:

ابحث عن مسار أوامر متعددة

مثال 3: أظهر جميع حالات الأمر

بشكل افتراضي ، which يعود فقط المباراة الأولى الموجودة في المسار. ومع ذلك ، يمكننا تنفيذ الأمر مع -a خيار العثور على جميع حوادث الأمر:

which -a cat

يسرد هذا الأمر جميع المواقع حيث cat موجود في المسار:

أظهر جميع الحالات

يمكنك التحقق من تفاصيلهم ، من خلال تنفيذ أمر LS مع -lh خيار. هذا يوضح ما إذا كان كلا الملفين هما تنفيذيان حقيقيان أو يتكرران في مواقع مختلفة:

ls -lh /usr/bin/cat && ls -lh /bin/cat
تحقق من المواد التنفيذية

تعرض لقطة الشاشة أعلاه أمرين متطابقين في مواقع مختلفة ، كلاهما بحجم 35 كيلو بايت وقابل للتنفيذ.

مثال 4: تحقق من وجود أمر

يمكننا استخدام الأمر الذي للتحقق من وجود أمر معين:

which cats
الأوامر المفقودة

إذا لم يكن الأمر غير موجود ، فلا يوجد إخراج ، كما هو موضح في لقطة الشاشة أعلاه ، وحالة الخروج غير صفرية.

مثال 5: تحديد الروابط الرمزية

قد يحتوي النظام على إصدارات متعددة من نفس البرنامج ، ولكن قد تكون بعض الحالات روابط رمزية بدلاً من الملفات الثنائية الفعلية. للعثور على الروابط الرمزية ، ما عليك سوى تشغيل الأمر مع -a خيار:

which -a crontab
تحقق من الروابط الرمزية

بعد ذلك ، افحص تفاصيل الملف مع ls يأمر:

ls -lh /usr/bin/crontab && ls -lh /bin/crontab
فحص تفاصيل الملف

إذا كان الإخراج يتضمن ->، هذا يعني أن الملف هو رابط رمزي يشير إلى موقع آخر.

مثال 6: استبعاد الأوامر المدمجة شل

ال which يعرض الأوامر فقط التنفيذيين الخارجيين ولا يعرض أوامر SHELL المدمجة. يساعدنا في تحديد مكان تثبيت البرنامج على النظام. على سبيل المثال ، في الأمر التالي الذي يرجع فقط مسار LS لأن القراءة هو أمر قذيفة مدمج:

which ls read
استبعاد الأوامر المدمجة

أي قيود القيادة

ال which يتمتع الأمر بالعديد من القيود التي تجعلها أقل موثوقية في بعض المواقف. على سبيل المثال ، يعرض فقط التنفيذيين الخارجيين ولا يكتشف أوامر مدمجة مثل cd أو read. بالإضافة إلى ذلك ، لا يمكن التمييز بين الروابط الثنائية والرمزية. يبحث الأمر بصرامة في الدلائل المدرجة في $PATH متغير ، مما يعني أنه لا يمكن العثور على برامج مخزنة في مكان آخر. أيضًا ، لم يقدم تفاصيل مثل نوع الملف أو الأذونات أو الإصدار. علاوة على ذلك ، إذا لم يكن هناك أمر ، فهو لا يعرض رسالة خطأ ولكن ببساطة لا يعيد شيئًا.

للتغلب على هذه القيود ، يمكنك اختيار أمر بديل مثل أين ، type، أو ls.

حيث VS. أي أمر

ال where و which أوامر كلاهما يساعد في تحديد موقع الملفات ولكن يخدم أغراض مختلفة. ال where يستخدم الأمر بشكل أساسي في Windows وبعض الأنظمة التي تشبه Unix. يجد كل من الملفات والأدلة ويسرد جميع المباريات في مسار النظام.

ال which الأمر خاص بالأنظمة التي تشبه UNIX. يبحث فقط عن الملفات القابلة للتنفيذ في الدلائل المدرجة في $PATH عامل. بشكل افتراضي ، يعيد المباراة الأولى ، ولكن باستخدام which -a يسرد جميع المباريات.

على سبيل المثال ، الجري where node يعرض الأمر على Windows جميع المواقع التي توجد فيها العقدة. على Linux ، which gcc إرجاع المسار الأول حيث يوجد برنامج التحويل البرمجي العالمي.

بينما which يقدم Command عدة ميزات ، لا يزال يفتقر إلى بعض القدرات. ومع ذلك ، يمكن التغلب على هذا باستخدام أمر بديل ، كما تمت مناقشته سابقًا. علاوة على ذلك ، و which يكتشف الأمر فقط الملفات القابلة للتنفيذ في $PATH. إذا لم يتم العثور على البرنامج النصي أو البرنامج ، فقد يكون مفقودًا في تنفيذ الأذونات. لذلك ، تأكد من أن البرنامج النصي الخاص بك في دليل مدرج في $PATH ولديه تنفيذ الأذونات.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى