شناسایی دستورات
اغلب اوقات دانستن اینکه دقیقا داریم کدام یک از چهار نوع دستور را استفاده میکنیم مفید است و لینوکس چند راه برای فهمیدن آن ارائه میکند.
type – نمایش نوع یک دستور
دستور type یک (دستور) داخلی شل است و نوع دستوری که شل اجرا میکند را با دریافت نام یک دستور خاص، نمایش میدهد. این (دستور) مشابه این کار میکند:
type command
که در آن “command” نام دستوری است که میخواهیم بررسی کنیم. اینجا چند مثال آورده شده است:
[me@linuxbox ~]$ type type
type is a shell builtin
[me@linuxbox ~]$ type ls
ls is aliased to `ls --color=tty'
[me@linuxbox ~]$ type cp
cp is /bin/cp
در اینجا ما نتایج سه دستور مختلف را مشاهده میکنیم. به مورد مربوط به ls (برگرفته از یک سیستم فدورا) و اینکه دستور ls در واقع یک نام مستعار برای دستور ls با آپشن افزوده "--color=tty" است، توجه کنید. اکنون میدانیم چرا خروجی ls به صورت رنگی نمایش داده میشود!
which – نمایش مکان یک فایل اجرایی
گاهی اوقات بیش از یک نسخه از یک برنامه اجرایی روی یک سیستم نصب شده است. در حالی که این موضوع روی سیستم های دسکتاپ متداول نیست، اما در سرورهای بزرگ غیرمعمول نیست. برای تشخیص مکان دقیق یک فایل اجرایی مشخص، از دستور which استفاده میشود.
[me@linuxbox ~]$ which ls
/bin/ls
which تنها برای برنامههای اجرایی کار میکند، نه (دستورات) داخلی و نه مستعارهایی که جایگزین برنامههای اجرایی واقعی هستند. هنگامی که تلاش میکنیم از which روی یک دستور داخلی شل مانند cd استفاده کنیم، یا پاسخی دریافت نمیکنیم یا یک پیام خطا دریافت میکنیم:
[me@linuxbox ~]$ which cd
/usr/bin/which: no cd in (/usr/local/bin:/usr/bin:/bin:/usr/local
/games:/usr/games)
این پاسخ یک روش تجملی برای گفتن “دستور پیدا نشد.” است.
متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

