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.