Comandos internos vs externos no Unix 
   Em sistemas semelhantes a Unix, os comandos são as instruções que você fornece ao shell para executar ações. Eles podem ser categorizados como 
 interno  e 
 externo  .  
 Aqui está um colapso das principais diferenças e exemplos:  
 Comandos internos:   * 
 embutido: Estes são diretamente integrados ao código do shell. 
 * 
 Execução rápida: Não há necessidade de carregar programas separados do disco. 
 * 
 Funcionalidade limitada: Normalmente, concentre -se em tarefas básicas como gerenciamento de shell, controle de processos e manipulação variável. 
 * 
 Sem arquivos executáveis separados: Eles fazem parte da própria concha.   
 Exemplos:   * `CD`:Alterar diretório. 
 * `Exit`:Saia do shell atual. 
 * `pwd`:imprimir diretório de trabalho. 
 * `Jobs`:Liste os trabalhos em segundo plano. 
 * `FG`:traga um trabalho de fundo para o primeiro plano. 
 * `bg`:envie um trabalho em primeiro plano para o plano de fundo. 
 * `kill`:encerrar um processo. 
 * `History`:Exibir histórico de comando. 
 * `echo`:imprima texto para o terminal. 
 * `Read`:Leia a entrada do usuário.   
 Comandos externos:   * 
 executáveis separados: Armazenado como arquivos no sistema. 
 * 
 Funcionalidade mais complexa: Pode executar uma gama mais ampla de tarefas. 
 * 
 Execução mais lenta: Precisa ser carregado no disco antes de executar.   
 Exemplos:   * `ls`:conteúdo do diretório da lista. 
 * `Cat`:Concatenar e exibir arquivos. 
 * `Grep`:pesquise padrões em arquivos. 
 * `date`:exiba a data e hora atuais. 
 * `top`:exibir processos de execução. 
 * `SSH`:Login remoto de shell seguro. 
 * `Curl`:Transfira dados usando vários protocolos. 
 * `git`:sistema de controle de versão. 
 * `vim`:editor de texto.   
 Como identificar o tipo:   * 
 `qual" comando: Use o comando `qual` para encontrar o local de um comando. Se retornar um caminho, é um comando externo. Se retornar "não encontrado", provavelmente é interno. 
 * 
 `type` comando: Este comando informa especificamente o tipo de comando:
 * `tipo ls` -> saída:` ls é aliases para `ls -g` 
 * `Type CD` -> Saída:` CD é um shell embutido "   
 Nota:   * Alguns comandos, como `alias`, podem ser internos e externos. O comando `alias` em si é interno, mas pode ser usado para criar aliases para comandos externos. 
 * Muitos comandos considerados "internos" são realmente implementados como bibliotecas compartilhadas que são carregadas pelo shell. Isso significa que eles podem ser atualizados independentemente do próprio shell.   
 em resumo:   Os comandos internos são internos ao shell e fornecem funcionalidade básica, enquanto os comandos externos são executáveis separados que oferecem uma gama mais ampla de recursos. Ambos desempenham papéis essenciais no ambiente Unix.