Du kan inte definitivt berätta om ett kommando är internt eller externt bara genom att titta på det i en prompt. Här är varför:
Vad är interna och externa kommandon?
* interna kommandon är inbyggda i själva skalet (som bash eller zsh). De är inte separata program och körs direkt inom skalprocessen. Exempel:`CD`,` echo`, `exit`.
* externa kommandon är separata program lagrade i filsystemet (vanligtvis i kataloger som /bin, /usr /bin, etc.). Skalet måste hitta och köra dessa filer. Exempel:`ls`,` cat`, `grep`.
Varför kan du inte berätta bara genom att titta:
1. ingen visuell skillnad: Skal skiljer sig inte visuellt mellan interna och externa kommandon i prompten. De ser båda lika ut när du skriver dem.
2. alias och funktionsmaskering: Du kan skapa alias eller funktioner som maskerar externa kommandon med samma namn. Till exempel kan du ha ett alias som heter "LS" som kör "ls -lrt".
Hur man tar reda på om ett kommando är internt eller externt:
1. `typ" -kommando: Den mest pålitliga metoden är att använda kommandot "typ". Den berättar vilken typ av kommando och dess plats om den är extern.
`` `bash
skriv cd
typ LS
`` `
2. `hjälp` kommando (för vissa skal): I vissa skal (som bash) kan du använda kommandot "Hjälp". Om det är ett internt kommando kommer det att visa dig dess användning. Om inte, betyder det vanligtvis att det är externt.
`` `bash
Hjälp CD
Hjälp LS
`` `
3. `vilket 'kommando (för externa kommandon): Kommandot "vilket" hjälper dig att hitta den körbara filen för ett * externt * -kommando. Om det inte hittar det kan det vara ett internt kommando eller inte existerar.
`` `bash
Vilken LS
`` `
Kort sagt, lita inte på visuella signaler. Använd lämpliga kommandon för att avgöra om ett kommando är internt eller externt.