interface de linha de comando (CLI)

o que é uma interface de linha de comando?

uma interface de linha de comando (CLI) é uma interface de usuário baseada em texto (UI) usada para executar programas, gerenciar arquivos de computador e interagir com o computador. As interfaces de linha de comando também são chamadas de interfaces de usuário de linha de comando, interfaces de usuário de console e interfaces de usuário de caracteres. Os CLIs aceitam como comandos de entrada que são inseridos pelo teclado; os comandos invocados no prompt de comando são executados pelo computador.

hoje, a maioria dos fornecedores oferece a interface gráfica do usuário (GUI) como padrão para sistemas operacionais (sistemas operacionais), como Windows, Linux e macOS. A maioria dos sistemas atuais baseados em Unix oferece uma interface de linha de comando e uma interface gráfica do Usuário.

O sistema operacional MS-DOS e o shell de comando no sistema operacional Windows são exemplos de interfaces de linha de comando. Além disso, plataformas de desenvolvimento de linguagens de programação como Python podem suportar interfaces de linha de comando.

A linha de comando, caiu em popularidade após a introdução de GUI baseado em computador pessoal, sistemas Operacionais como o Microsoft Windows e Apple “clássico” Mac OS, na década de 1980. A linha de comando continua a ser uma importante ferramenta para os profissionais de TI, desenvolvedores de software, administradores de sistemas, administradores de rede e de muitos outros que preferem um mais preciso e reproduceable interface dos seus sistemas.

o que é um shell?

na computação, um programa shell fornece acesso aos componentes de um sistema operacional. O shell fornece aos usuários (ou outros programas) uma maneira de obter “dentro” do sistema para executar programas ou gerenciar configurações. O shell define o limite entre dentro e fora.

a seguir estão os dois tipos de shells do sistema operacional:

  • os shells baseados em CLI oferecem aos usuários um modo conciso e eficiente de interagir com o sistema operacional, sem exigir a sobrecarga de uma interface gráfica do Usuário.Os shells baseados em GUI são considerados mais fáceis de usar para iniciantes, mas também incluem um shell baseado em CLI para administradores de sistema ou usuários avançados que preferem interagir em um prompt de comando.

Bash é o shell de linha de comando mais comumente usado para sistemas operacionais baseados em Unix, incluindo Linux.

o software que lida com a interface de linha de comando é comumente referido como um interpretador de linguagem de comando, um processador de comando ou interpretador de comando. Dois shells CLI conhecidos são PowerShell para Windows e Bash Para Linux e macOS.

Shells são a camada mais externa do sistema operacional e geralmente são separados do kernel do sistema operacional subjacente. Um shell opera como um aplicativo e pode ser substituído conforme necessário. Um sistema operacional pode ter mais de um shell disponível, como nos exemplos a seguir:

  • o Microsoft Windows inclui o Aplicativo Prompt de comando, bem como o aplicativo PowerShell, que pode ser usado para interagir diretamente com o computador. O Subsistema Windows Para Linux também fornece uma CLI com acesso ao sistema subjacente.Linux e outros sistemas operacionais baseados em Unix geralmente fornecem o shell Bourne-Again (bash) como o shell padrão. Outros shells, incluindo o shell C, o shell Z e outros, podem ser configurados como o shell do sistema padrão.

como o shell está apenas uma camada acima do sistema operacional, os usuários podem executar operações que não estão disponíveis em outros tipos de interface, como mover arquivos dentro das pastas do sistema e excluir arquivos bloqueados.

para obter o maior benefício de usar um shell CLI, os usuários devem aprender uma linguagem de script. A maioria dos shells de linha de comando pode salvar sequências de comandos em um script ou arquivo em lote que pode ser totalmente programável. Shell scripting é a base da automação de gerenciamento de sistemas básicos.

como funciona o CLIs?

uma vez que um sistema de computador está sendo executado, sua CLI é aberta em uma tela em branco com um prompt de comando e comandos podem ser inseridos.

os tipos de comandos CLI incluem o seguinte:

  • comandos do sistema que são codificados como parte da interface do sistema operacional;
  • programas executáveis que, quando invocados com sucesso, executam aplicativos gráficos ou baseados em texto; e
  • programas em lote (ou arquivos em lote ou scripts de shell) que são Arquivos de texto listando uma sequência de comandos. Quando invocado com sucesso, um programa em lote executa seus comandos, que podem incluir comandos do sistema e programas executáveis.

CLI é mais do que um simples sistema de comando/resposta, pois a maioria possui recursos adicionais que tornam um preferível ao outro. Alguns recursos incluem o seguinte:

  • capacidade de Script permite aos usuários escrever programas que podem ser executados no sistema a partir da linha de comando.
  • os tubos de comando permitem que os usuários direcionem a saída de um programa para ser a entrada para outro programa (“canalizar” o fluxo de dados).
  • as variáveis do sistema podem ser definidas na linha de comando ou nos valores dessas variáveis exibidas.
  • os recursos do histórico de comandos permitem que o usuário recupere os comandos anteriores emitidos. Alguns salvam o histórico de comandos para a sessão (como o PowerShell), outros podem ser configurados para armazenar o histórico de sessões por mais tempo (como o bash).

comandos e sintaxe para CLIs tendem a ser muito estáveis ao longo do tempo, em parte para permitir a compatibilidade com versões anteriores para scripts.

Prompts e comandos

dependendo do sistema operacional e da CLI, pode haver centenas ou até milhares de comandos executáveis diferentes disponíveis. O conjunto de comandos pode variar drasticamente entre sistemas operacionais ou aplicativos.

por exemplo, a Microsoft define centenas de cmdlets como” comandos leves ” a serem usados no PowerShell; as funções do PowerShell são listas de cmdlets que podem ser executados na linha de comando.

alguns comandos são executados na linha de comando sozinhos, como o comando dir:

C:\> Dir

os comandos também podem ser usados com argumentos (às vezes chamados de parâmetros) que modificam como o comando deve ser executado. Os argumentos seguem o comando e fornecem detalhes ou detalhes adicionais.

O cd “alterar diretório” comando em muitos CLIs é usado para alterar o diretório de trabalho atual ao desejado novo caminho de diretório está incluído como um argumento, mas em alguns casos (como no MS-DOS ou o prompt de comando do Windows), o comando retorna o diretório de trabalho atual.

este comando redefine o diretório de trabalho atual:

CD \documents\user\working

os argumentos permitem que os usuários da linha de comando obtenham resultados muito específicos que às vezes não estão disponíveis por meio de uma interface gráfica.

os CLIs modernos fornecem tubos ou mecanismos para obter a saída de um comando e enviá-lo como entrada para outro comando. A barra vertical, ou símbolo”|”, é frequentemente usada para esse fim.

O seguinte “one-liner” usa tubos de seqüência de caracteres de um conjunto de comandos do PowerShell para recuperar detalhadas informações de configuração de rede a partir de uma máquina Windows:

Get-NetIPAddress | Sort InterfaceIndex | FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress

Mesmo que essa seqüência de caracteres é inserido na linha de comando, como se fosse um único comando, que inclui os seguintes comandos consecutivos:

  • Get-NetIPAddress recupera todas as informações de configuração IP para o computador quando inserido sem nenhum argumento.
  • Sort InterfaceIndex aceita como entrada a saída do cmdlet Get-NetIPAddress e a classifica pelo valor InterfaceIndex associado a cada endereço IP incluído na configuração do computador.
  • Ft InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress usa o comando Format-Table (FT) para formatar a saída classificada do comando anterior e exibe os valores especificados para cada endereço IP.

a compatibilidade com versões anteriores costuma ser um objetivo quando novos CLIs são introduzidos para substituir os CLIs existentes, como quando a Microsoft substituiu o MS-DOS pelo Prompt de comando do Windows. Embora alguns comandos do MS-DOS não sejam mais suportados, a maioria ainda funcionará no PowerShell como pretendido originalmente.

Comum de comandos do MS-DOS incluir o seguinte:

Comando Exemplo Notas
CD C:\> CD \usuário\programas
C:\user \ programs>
altera o diretório atual para o caminho especificado. Quando inserido sem caminho, ele exibe o nome do Diretório de trabalho atual. Se o caminho estiver incluído no prompt de comando, o prompt mudará como no exemplo (veja também PROMPT, abaixo).
CHKDSK C:\> CHKDSK uma: Verifica o disco especificado, neste caso, o disquete na unidade a: — e retorna um relatório de status que mostra o tamanho do disco, número de arquivos e diretórios em uso e o número de bytes usados.
CÓPIA C:\ > copiar autoexec.bat autoexec.Bak copia arquivos ou arquivos especificados. Pode ser usado para copiar arquivos para duplicatas com nomes de arquivos diferentes ou para copiar arquivos em um diretório diferente sem alterar nomes.
DEL C:\> DEL autoexec.BAK
C:\ > DEL C:\backups\*.BAK
exclui um arquivo ou arquivos. Pode ser usado para excluir arquivos no diretório de trabalho atual ou em algum outro diretório. Também pode ser usado com caracteres curinga para excluir grupos de arquivos.
DIR C:\> DIR
C:\> DIR c:\copia\*.txt
exibe todo o conteúdo-arquivos e diretórios-no diretório especificado. Se nenhum diretório for especificado, ele se refere ao conteúdo do diretório atual. Ele também pode ser usado com caracteres curinga para exibir apenas arquivos específicos.
EDLIN C:\> edlin autoexec.bat inicia o edlin, um editor de linhas que pode ser usado para editar arquivos de texto. Neste exemplo, ele está sendo usado para editar o autoexec.arquivo bat.
formato C: \ > formato a: Formata um disco para que ele possa ser usado com o MS-DOS.
MKDIR C:\> MKDIR c:\NewDIR Cria um novo diretório no caminho especificado.
MAIS C:\> MAIS autoexec.bat exibe o conteúdo de um arquivo, uma tela de cada vez. É usado principalmente para arquivos de texto.
PROMPT C:\> prompt $p $d$g
C:\UTIL Sex 11-05-2021>
Modifica o padrão de comandos. Neste exemplo, os parâmetros são usados com o comando para definir a exibição do prompt como a unidade e o caminho atuais, o dia e a data e o símbolo maior que. O prompt resultante é mostrado no exemplo.
RMDIR C:\> rmdir c:\backup Remove um diretório.
tipo C:\ > tipo autoexec.bat exibe o conteúdo de um arquivo de texto, sem quebras de página.

CLI versus GUI

a interface gráfica do Usuário é a interface de usuário mais popular hoje. Uma GUI usa janelas, menus e ícones para executar comandos. Usar um mouse é a maneira mais comum de navegar por uma GUI, embora muitas GUIs permitam alguma navegação e execução de programas por meio de um teclado.O Microsoft Word é um exemplo de um aplicativo baseado em GUI. Um usuário pode alterar as opções de layouts e estilos de página selecionando o ícone correspondente ou o menu suspenso com um mouse ou teclado.

uma linha de comando do PowerShell
um exemplo de saída da linha de comando do PowerShell

uma vantagem de uma GUI é que a interface pode exibir visualmente as funções disponíveis. No entanto, como depende da exibição gráfica, uma GUI pode não ter o mesmo nível de funcionalidade e controle granular de uma interface de linha de comando. Por exemplo, pode exigir vários cliques e movimento através de várias caixas de diálogo em uma GUI para obter o mesmo resultado de uma única linha de comando.

além disso, as GUIs não suportam prontamente scripts ou automação. Para tarefas comuns, um usuário deve repetir cada clique ou navegar em cada diálogo na GUI manualmente.

os administradores de sistema que podem precisar gerenciar centenas-ou centenas de milhares-de sistemas e configurações acharão uma GUI muito menos eficiente do que uma CLI. Um comando CLI simples pode facilmente ajustar configurações para um grande grupo de sistemas de uma só vez.

comandos e argumentos também podem ser combinados e salvos e, em seguida, executados como um script cada vez que uma ação específica-ou conjunto abrangente de ações-é necessária. A CLI é a ferramenta preferida para muitas tarefas de gerenciamento de sistemas em toda a empresa.

um exemplo do Windows, 11 de interface gráfica de usuário
Windows 11 GUI: O menu Iniciar

CLI vantagens e desvantagens

A seguir estão as vantagens de uma interface de linha de comando:

  • um controle granular de um sistema operacional ou aplicativo;
  • gestão mais eficiente de um grande número de sistemas;
  • capacidade para armazenar os scripts para automatizar tarefas regulares; e
  • basic interface de linha de comando conhecimento pode permitir a solução de problemas de conexão de rede ou a resolução de outras tarefas do sistema.

As desvantagens de uma interface de linha de comando são os seguintes:

  • GUI é mais amigável ao usuário;
  • mais íngreme curva de aprendizado associada com a memorização de comandos e sintaxes complexas/argumentos; e
  • diferentes comandos utilizados nos diferentes reservatórios.

a linha de comando é um ótimo lugar para se tornar um especialista em usar um computador. Quando estiver pronto, também é o único lugar para aprender a escrever scripts de shell.

Leave a Reply