U kunt niet definitief zeggen of een opdracht intern of extern is door er alleen maar naar te kijken. Dit is waarom:
Wat zijn interne en externe opdrachten?
* interne opdrachten zijn ingebouwd in de schaal zelf (zoals bash of zsh). Ze zijn geen afzonderlijke programma's en worden rechtstreeks uitgevoerd binnen het shell -proces. Voorbeelden:`cd`,` echo`, `exit`.
* externe opdrachten Zijn afzonderlijke programma's opgeslagen op het bestandssysteem (meestal in mappen zoals /bin, /usr /bin, enz.). De shell moet deze bestanden vinden en uitvoeren. Voorbeelden:`ls`,` cat`, `grep`.
Waarom je het niet alleen kunt zien door te kijken:
1. Geen visueel onderscheid: Shells maken geen visueel onderscheid tussen interne en externe opdrachten in de prompt. Ze zien er allebei hetzelfde uit als je ze typt.
2. alias en functiemaskering: U kunt aliassen of functies maken die externe opdrachten met dezelfde naam maskeren. U zou bijvoorbeeld een alias kunnen hebben met de naam `ls` met 'ls -lrt`.
Hoe u erachter kunt komen of een opdracht intern of extern is:
1. `Type` Command: De meest betrouwbare methode is om de opdracht 'type' te gebruiken. Het vertelt u het type opdracht en de locatie als het extern is.
`` `bash
Type CD
Type LS
`` `
2. `help` command (voor sommige shells): In sommige schelpen (zoals bash) kunt u de opdracht 'help' gebruiken. Als het een interne opdracht is, zal het u het gebruik ervan laten zien. Zo niet, dan betekent dit meestal dat het extern is.
`` `bash
Help CD
Help LS
`` `
3. `Welke` opdracht (voor externe opdrachten): De opdracht `Welke` helpt u bij het vinden van het uitvoerbare bestand van een * externe * opdracht. Als het het niet vindt, kan het een interne opdracht zijn of niet bestaan.
`` `bash
Welke LS
`` `
Kortom, vertrouw niet op visuele signalen. Gebruik de juiste opdrachten om te bepalen of een opdracht intern of extern is. |