دستورات type و which
| which |
| type |
| لینوکس |
لینوکس ابزارهای قدرتمندی برای مدیریت و بررسی دستورات در محیط ترمینال ارائه میدهد. دستور type به کاربران کمک میکند تا بفهمند یک دستور چگونه توسط شل (Shell) تفسیر میشود، و دستور which مکان دقیق فایل اجرایی یک دستور را مشخص میکند.
این مقاله نحوه عملکرد این دو دستور، تفاوتهای آنها، و موارد استفادهی هر کدام را بررسی میکند.
دستور type—شناسایی نوع دستورات
دستور type یک دستور داخلی (shell builtin) است که مشخص میکند یک دستور، دستور داخلی، یک نام مستعار (alias)، یا یک فایل اجرایی است.
نحوه استفاده
type command
که command نام دستوری است که میخواهید بررسی کنید.
نمونههایی از خروجی type
دستور | نتیجه |
type type | نمایش "type is a shell builtin" |
type ls | نمایش ls به عنوان alias (مثلاً ls --color=tty) |
type cp | نمایش cp به عنوان فایل اجرایی واقع در /bin/cp |
نکات کلیدی درباره type
دستورات داخلی: دستورات داخلی شل مانند type.
نام مستعار (alias): دستورات تغییر دادهشده، مانند ls --color=tty.
اجرایی: دستورات ذخیرهشده در مسیرهای سیستم، مانند /bin/cp.
دستور which—مشخص کردن مکان فایل اجرایی
دستور which محل دقیق یک فایل اجرایی را مشخص میکند. این دستور زمانی مفید است که نسخههای مختلفی از یک برنامه روی سیستم نصب باشند، بهخصوص در محیطهای سرور.
نحوه استفاده
which command
که command نام برنامهای است که میخواهید مسیر آن را پیدا کنید.
نمونههایی از خروجی which
دستور | نتیجه |
which ls | نمایش مسیر /bin/ls، تأیید محل فایل اجرایی |
which cd | نمایش خطا، زیرا cd یک دستور داخلی شل است و فایل اجرایی ندارد |
نکات کلیدی درباره which
فقط برای برنامههای اجرایی کار میکند (نه برای دستورات داخلی یا aliasها).
مشخص میکند کدام نسخهی یک دستور در حال اجرا است.
در محیطهایی که چند نسخه از یک دستور نصب شده، مفید است.
مقایسهی type و which
ویژگی | type | which |
مشخص میکند که دستور داخلی، alias یا اجرایی است | ✔️ | ❌ |
مشخص میکند مسیر فایل اجرایی | ❌ | ✔️ |
کار میکند برای دستورات داخلی، aliasها و اجراییها | ✔️ | ❌ (فقط اجراییها) |
مناسب برای عیبیابی رفتار دستورات | ✔️ | ✔️ |
جمعبندی
دستورات type و which اطلاعات مهمی درباره عملکرد دستورات در لینوکس ارائه میدهند.
از type استفاده کنید تا بفهمید یک دستور داخلی، alias یا اجرایی است.
از which استفاده کنید تا مسیر دقیق فایل اجرایی یک دستور را پیدا کنید.
شناخت این دستورات میتواند در عیبیابی، مدیریت aliasها، و بهینهسازی جریان کاری در محیط لینوکس بسیار کمککننده باشد.