CLI: O que é e para que serve?

Neste artigo você vai ver:

Ser cada vez mais ágil e preciso é um dos principais objetivos dos profissionais de TI. Por isso, conhecer as aplicações de uma CLI ou Interface de Linha de Comando é muito útil.

Engana-se quem pensa que hoje em dia não há mais espaço para se trabalhar com CLIs. Acompanhe nosso artigo e descubra como essa ferramenta ainda pode trazer um ganho enorme para as rotinas dos profissionais de TI, como administradores de sistema e desenvolvedores de software.

Mas o que significa CLI?

A sigla em inglês command-line interface (CLI), significa Interface de Linha de Comando (ILC). Geralmente, ela representa um programa funcionando através de linhas de comando, que aceita entrada de texto para executar funções do sistema operacional.

Além disso, CLI também pode ser usada para se referir a outros termos como Intérprete de linha de comando (Command Line Interpreter) ou Entrada de linha de comando (Command Line Input).

Na década de 1960, a CLI era a única maneira de interagir com computadores, ou seja, usando apenas terminais de computador. Entenda mais sobre isso no artigo sobre como executar comandos via terminal

Já nas décadas de 1970 e 1980, a entrada de linha de comando era usada por sistemas Unix e sistemas de PC como MS-DOS e Apple DOS.

Hoje, com interfaces gráficas de usuário (GUI) a maioria dos usuários não usa mais interfaces de linha de comando (CLI).

No entanto, CLIs ainda são usadas por desenvolvedores de software e administradores de sistema. As razões são várias, por exemplo, para configurar computadores, instalar softwares e acessar recursos que não estão disponíveis na interface gráfica.

Tipos de CLI

Existem vários tipos de interfaces de linha de comando. Os dois mais populares são DOS (Disk Operating Systems) para Windows e o Shell Bash para Linux e MacOS.

Cada CLI usa sua própria sintaxe de comando, mas todas funcionam de maneira semelhante. Inclusive, alguns comandos são idênticos entre o DOS e o Shell Bash.

De maneira geral, cada CLI possui um prompt de comando, que é exibido quando a interface está pronta para aceitar um comando. Quando o usuário digita um comando, ele aparece próximo ao prompt de comando e, quando o usuário pressiona Enter, o comando é executado.

Exemplo de Prompt
Exemplo de prompt: uma tela preta com uma seta apontando para um cursor piscando na sua frente, aguardando o usuário digitar algum comando.

Por exemplo, a maneira padrão de alterar os diretórios na maioria das CLIs é usar o comando cd, seguido pelo caminho do diretório. Mas para listar o conteúdo do diretório atual, você digitaria dir no DOS e ls no Shell Bash.

Abaixo estão alguns exemplos de prompts de comando para diferentes interfaces de linha de comando, com a pasta raiz (root) como o diretório atual.

  • Windows (DOS): C: >
  • OS X (bash shell): : my-mac: / me $
  • Linux (bash shell): [root @ myserver /] #

Para que serve um CLI?

Uma Interface de Linha de Comando pode ter vários benefícios dependendo do profissional que a utiliza. Para começar vamos avaliar os usos e vantagens da CLI para administradores de sistemas e desenvolvedores de software.

Do ponto de vista dos administradores de sistemas

A maioria das pessoas prefere uma interface de usuário gráfica a uma de linha de comando. No entanto, algumas operações podem ser concluídas mais rapidamente usando um teclado em vez de um mouse. Portanto, as CLIs são frequentemente usadas por administradores de sistemas para tarefas comuns.

Esses administradores de sistema usam a CLI, por exemplo, para verificar as configurações do sistema operacional do computador e realizam algumas tarefas diretamente no nível do sistema operacional que, de outra forma, exigiriam o download de software adicional para usar uma GUI.

Eles também precisam monitorar todos os softwares ou atualizações do sistema operacional e executar algumas tarefas periodicamente em cada sistema por automação. O bom disso é que eliminam assim a necessidade de executar essas tarefas manualmente no dia a dia.

Outro uso importante é que uma configuração pode ser alterada remotamente apenas executando alguns comandos no computador. Em outras palavras, sem a necessidade de estar fisicamente presente no mesmo local desse computador e fazer essa tarefa manualmente.

O uso da CLI reduz muito tempo e esforços dos administradores de sistema. Além disso, também garante que o risco de segurança possa ser rastreado e evitado mesmo em grandes estruturas organizacionais (e com o mínimo de trabalho humano!).

Do ponto de vista dos desenvolvedores

Os desenvolvedores também usam ferramentas CLI para seu trabalho diário de forma frequente.

Sabemos que um programador trabalha com muitos aplicativos ao mesmo tempo. Por isso, a  maneira ideal para ele abrir um aplicativo ou caminho em seu(s) computador(es) é por meio de linhas de comando na CLI.

Outro uso importante para programadores é ao escrever o código do aplicativo que estão desenvolvendo. Na maioria das vezes, os programadores são obrigados a adicionar referências a certas bibliotecas de terceiros ao seu aplicativo para interagir com o mundo externo, que pode incluir uma impressora conectada ao mesmo computador, um banco de dados onde os dados do aplicativo são armazenados ou até mesmo um servidor de arquivos que está localizado em qualquer lugar do mundo e possui alguns arquivos que são usados ​​pelo aplicativo.

Agora o desenvolvedor tem a opção de adicionar essas referências / bibliotecas usando uma GUI ou uma CLI.

A vantagem da CLI aqui é que ela permite instalar essa biblioteca específica em um único comando. Enquanto ao pesquisar uma biblioteca na GUI, você terá várias opções com base no comportamento do mecanismo de pesquisa, o que às vezes, pode fazer com que o desenvolvedor instale uma referência incorreta.

As principais CLI do mercado para desenvolvedores e sysadmin

Uma das mais comuns e poderosas CLI usadas ​​pelos programadores para ajudar nesta tarefa é o Node Package Manager (NPM).

Além do NPM, existe também no mercado de TI outras CLI desenvolvidas por empresas para facilitar o uso das ferramentas delas. Mesmo que estas empresas também possuírem GUI. As principais CLI são:

GIT (Open Source): uma ferramenta usada para rastrear alterações no código-fonte durante o desenvolvimento de software. Ela foi projetada para coordenar o trabalho entre os programadores e pode ser usada para rastrear alterações em qualquer conjunto de arquivos.

AWS CLI (Amazon): uma ferramenta unificada para o gerenciamento de seus serviços da AWS. Ela permite controlar vários serviços da AWS pela linha de comando e automatizá-los usando scripts.

Gcloud CLI (Google): uma ferramenta para criar e gerenciar recursos do Google Cloud. Ela permite realizar muitas tarefas comuns da plataforma, seja na linha de comando ou em scripts e outras automações.

Azure CLI (Microsoft): uma ferramenta reunindo um conjunto de comandos usados para criar e gerenciar recursos do Azure. Projetado para trabalhar rapidamente com o Azure, com ênfase na automação.

Vantagens de usar uma CLI

Há diversas vantagens de usar uma Interface de Linha de Comando, por exemplo:

  • Se um usuário conhece ou pode lembrar os comandos, uma tarefa pode ser executada mais rapidamente em uma CLI em comparação com uma GUI.
  • O histórico dos últimos comandos executados pode ser mantido para monitoramento.
  • Os comandos podem ser combinados para criar um script que pode ser executado para realizar uma série de operações. Além disso, ele pode ser agendado para que possa ser executado periodicamente sem nenhum esforço humano adicional.
  • Um comando executado via CLI utiliza muito menos memória RAM e ciclo de CPU para a conclusão.
  • Um comando via CLI pode ser executado em um sistema remotamente e ser executado sem o conhecimento de um usuário também.

Quer saber mais sobre CLI? Então escute o ZupCast sobre o assunto no player a seguir:

O que é o Ritchie?

Ritchie é uma CLI open source criada pela Zup Innovation e que permite criar, armazenar e compartilhar qualquer tipo de automação, executando elas a partir de linhas de comando.

O objetivo é permitir que profissionais possam customizar a CLI através de comandos e, assim, manipular ferramentas que costumam usar no dia a dia para realizar diversos tipos de tarefas.

Para isso, é possível adequar scripts existentes para a estrutura do Ritchie ou criar novas automações do zero. Essas automações iniciadas por linhas de comando são chamadas (dentro do contexto da ferramenta) de fórmulas e tem a vantagem de deixar bastante flexibilidade ao usuário para desenvolver a tarefa que ele deseja executar.

Estrutura da fórmula do Ritchie
Estrutura de fórmula do Ritchie: Tendo de um lado um script, e do outro lado uma fórmula contendo não apenas o código do script, mas um conjunto de arquivos representando os parâmetros de entrada, as dependências, um Dockerfile, e arquivos como README e Metadatas.

Uma outra vantagem é que é possível agrupar fórmulas. Ou seja, criar várias pequenas fórmulas realizando várias operações simples e juntá-las em uma só para realizar uma operação mais complexa. Dessa maneira, é possível reunir várias ferramentas em um lugar só.

Conclusão

Embora a interface do usuário em sistemas operacionais tenha percorrido um longo caminho de CLI para GUI, é necessário ver que a CLI ainda encontra muito uso e aplicações, principalmente na área de TI.

Uma CLI pode economizar parte do seu tempo se você estiver fazendo alguma tarefa repetida com a GUI.

No geral, uma CLI exige que você se lembre de alguns comandos e pode ser um pouco confusa no início.

Mas se você for paciente e interessado o suficiente, este tipo de ferramenta ainda pode fazer maravilhas e ajudá-lo a economizar um tempo precioso. Além de fornecer alta confiabilidade para executar algumas tarefas críticas.

Quer saber mais sobre CLI, automações e produtos open source? Então se inscreva na Newsletter da ZUP hoje mesmo!

foto Guillaume Falourd
Back-end Developer
Zupper tentando transformar o complexo em simples através de conteúdos diversificados, com intuito de impactar o mercado de TI e as pessoas ao seu redor da melhor forma possível.

Artigos relacionados

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.