Você não pode saber definitivamente se um comando é interno ou externo apenas olhando para ele em um prompt. Aqui está o porquê:
O que são comandos internos e externos? *
Comandos internos estão embutidos no próprio conchas (como Bash ou Zsh). Eles não são programas separados e são executados diretamente dentro do processo do shell. Exemplos:`cd`,` eco`, `exit`.
*
comandos externos são programas separados armazenados no sistema de arquivos (geralmente em diretórios como /bin, /usr /bin, etc.). O shell precisa localizar e executar esses arquivos. Exemplos:`ls`,` Cat`, `Grep`.
Por que você não pode dizer apenas olhando: 1.
sem distinção visual: Os conchas não diferenciam visualmente entre comandos internos e externos no prompt. Ambos parecem iguais quando você os digita.
2.
alias e mascaramento de função: Você pode criar aliases ou funções que mascaram comandos externos com o mesmo nome. Por exemplo, você pode ter um pseudônimo chamado `ls` que executa` ls -lrt`.
Como descobrir se um comando é interno ou externo: 1.
`type` comando: O método mais confiável é usar o comando `type`. Ele informa o tipo de comando e sua localização, se for externo.
`` `BASH
Tipo CD
Tipo ls
`` `
2.
`help` comando (para algumas conchas): Em algumas conchas (como Bash), você pode usar o comando `help`. Se for um comando interno, mostrará seu uso. Caso contrário, geralmente significa que é externo.
`` `BASH
CD de ajuda
AJUDA LS
`` `
3.
`qual" comando (para comandos externos): O comando `que` ajuda você a localizar o arquivo executável de um comando * externo *. Se não encontrar, pode ser um comando interno ou não existir.
`` `BASH
que ls
`` `
Em suma, não confie em pistas visuais. Use os comandos apropriados para determinar se um comando é interno ou externo.