بررسی فرمان ها در لينوکس
براي شروع کار فرماني به نام abcd را وارد ميکنيم که خطا ميدهد و پي ام Command Not Found را bash به شما مي- سرور مجازی دهد که فرماني با اين نام ندارد به عبارتي خود گارسن ما آناليز مي کند و به ما جواب ميدهد. [N.pardis@Lpi1~]$ abcd -bash: abcd: command not found در لينوکس ما تعاريفي داريم مثل فرمان داخلي و خارجي.حالا يک سوال مطرح ميکنيم: – در مايکروسافت فرمان داخلي به فرماني گفته ميشود که مثلاً در رستوران وقتي از گارسن نمک ميخواهيد از ميز کناري به شما نمک را ميدهد. دقيقاً يعني اينکه اگر گارسن خودش فرمان را اجرا کند ميگوييم فرمان داخلي است. مثلاً در ويندوز cmd را به عنوان گارسن داريم. در ويندوز فرمانهايي مثل dir يا cd يا cls فرمانهاي داخلي هستند و توسط گارسن انجام ميشود. فرمان خارجي فرمانهايي هستند که بر روي تجهيزا خارجي قرار دارند و توسط نرم افزار اجرا مي شوند . فرمان خارجي فرماني است که نميتواند خود گارسن انجام دهد بلکه ميبرد پشت صحنه و عوامل ذيربط آماده ميکنند. مثل دستور format که روي hard است و گارسن بلد نيست. براي اينکه بفهميم چه فرماني داخلي و چه فرماني خارجي است در لينوکس ما برخلاف ويندوز فرماني داريم به نام type که به ما ميگويد چه فرماني داخلي است و چه فرماني خارجي. [n.pardis@Lpi1~]$ type cd cd is a shell builtin shell به معني پوسته و بيرونيترين لايه نرم افزاري است که با شما صحبت ميکند و به شما جواب ميدهد و در واقع همان گارسن ما است. از طريق گارسن و يا shell فعاليت مورد نرر ما انجام ميگيرد و ميبرد پشت صحنه و حتما مديري هست و توسط مدير چک ميشود آيا داريم يا نداريم و يا ميشود و يا نمي شود و جواب سرويس مورد نرر ما را ميدهد. [N.pardis@Lpi1~]$ type date date is /bin/date با زدن فرمان بالا به ما مي گويد که date زير دايرکتوري /bin قرار دارد. حالا دو بار کارمند date را بزنيد که تاريخ را به شما کامل ميدهد. بعد از اينکه را بزنيد و دوباره type date را بزنيد ميبينيد علاوه بر جملهايي که در بالا به ما گفت يک کلمه ديگر هم ميگويد به نام hash . اين hash به چه معني است؟ [N.pardis@Lpi1~]$ date [N.pardis@Lpi1~]$ date [N.pardis@Lpi1~]$ type date date is hashed (/bin/date) در لينوکس اگر شما يک فرمان را چند بار استفاده کنيد جاي آن را به خاطر ميسپارد و در دفعا بعدي به دنبال آن نميگردد و اين بار ميگويد من ميدانم جاي آن کجاست پس hashed به اين معني است که بعد از يکبار صدا زدن فرمان در دفعا بعدي جاي آن را به خاطر ميسپارد و در دفعا بعدي به دنبال آن نميگردد به عبارتي آدرس آن در حافره resident ميشود