دستور which موقعیت یک دستور اجرایی را نشان میدهد دستور which آسان ترین دستور بین دستورات جستجو است.اما این سادگی کمی همراه با سوئیچ های مختلف است که دستور which را منحصر به فرد میکند. در سیستم لینوکس هر دستوری را که در ترمینال وارد میکنید هنگام اجرا دستور به یک کتابخانه خاص ارجاع داده میشود در واقع زمانیکه دستوری را تایپ میکنید این فایل باینری دستور است که اجرا میشود دستور which مسیر یک دستور دیگر را نشان میدهد. مثلا با وارد کردن این دستور به همراه دستور موردنظر خروجی مسیری است که فایل باینری دستور دوم در آنجا قرار دارد.
در مثال زیر در کنار دستور which دستور sudo که خود کاربردی مجزا دارد وارد شده است خروجی این دستور مسیر دستور sudo را نشان میدهد که این دستور در مسیر usr/bin/sudo/
قرار دارد.
دستور which این قابلیت را دارد که بطور همزمان مسیر چند فایل را نشان دهد برای این منظور پس از تایپ کردن which و وارد کردن دستور اول و سپس فاصله و دستور دوم میتوانید مسیر هر دو دستور را دریافت کنید.
which sudo shutdown /usr/bin/sudo /usr/sbin/shutdown
برخی مواقع بیش از یک نسخه از برنامه اجرایی بر روی یک سیستم نصب شده است. این موضوع بر روی سیستم های دستکتاپ خیلی رایج نیست. ولی بر روی سرورهای لینوکس چطور؟
نه این موضوع بر روی سرورهای بزرگ لینوکس امری غیرعادی نیست.
دستور which فقط برای برنامه های اجرایی کاربرد دارد نه برای دستورات درون ساخت و یا alias ها که جانشین برنامه های اجرایی حقیقی هستند. مثلا اگر دستور which را برای دستور ساختی cp اجرا کنید یا پاسخی دریافت نمیکنید و یا با پیام خطا مواجه خواهید شد
دستورات مشابه این دستور
دستور man (دریافت راهنمای دستورات)
دستور apropos (نمایش دستورات مناسب)
دستور info (نمایش راهنمای دستورات)
دستور whatis ( نمایش اطلاعات مختصر از یک دستور )
دستور help ( نمایش مستندات دستورات )
دستور type ( نمایش نوع فرمان )
دستور tldr ( صفحات راهنما بصورت ساده و کاربردی )