Interface de linha de comandos

Origem: Wikipédia, a enciclopédia livre.
Screenshot de uma sessão de shell bash em uma terminal GNOME rodando num Fedora 15.

Uma interface de linha de comandos (ILC), em inglês command-line interface (CLI), é um meio de interagir com um programa de computador, onde o utilizador emite comandos para o programa sob a forma de sucessivas linhas de texto (linhas de comando).[1]

Cada sistema operacional traz um intérprete padrão (o shell) para aqueles comandos os quais executam tarefas distintas e resolvem diferentes tipos de problemas.[2]

Anatomia de uma ILC de shell[editar | editar código-fonte]

Prompt de comando[editar | editar código-fonte]

Um prompt de comando (ou simplesmente prompt) é uma sequência de (um ou mais) caracteres usados em uma interface de linha de comandos para indicar a prontidão para aceitar comandos. Ele literalmente solicita que o usuário aja. Um prompt geralmente termina com um ou mais caracteres $, %, #, :, > e geralmente inclui outra informação, como o caminho (path) do diretório de trabalho atual e o nome do hospedeiro ou usuário.

Em muitos sistemas Unix e derivados, o prompt comumente utilizado termina em $ ou % se o usuário for um usuário normal, mas em # se o usuário for um super usuário ("root" na terminologia Unix).

Os usuários finais geralmente podem modificar os prompts. Dependendo do ambiente, eles podem incluir cores, caracteres especiais e outros elementos (como variáveis e funções para o horário atual, usuário, número de shell ou diretório de trabalho) para, por exemplo, tornar o prompt mais informativo ou visualmente agradável, para distinguir sessões em várias máquinas ou para indicar o nível atual de aninhamento de comandos. Em alguns sistemas, tokens especiais na definição do prompt podem ser usados para fazer com que programas externos sejam chamados pelo interpretador de linha de comando enquanto exibem o prompt.

No COMMAND.COM do DOS e no cmd.exe do Windows NT, os usuários podem modificar o prompt emitindo um comando prompt ou alterando diretamente o valor da variável de ambiente %PROMPT% correspondente. O padrão da maioria dos sistemas modernos, o estilo C:\> é obtido, por exemplo, com prompt $P$G. O padrão dos sistemas DOS mais antigos, C> é obtido apenas por prompt, embora em alguns sistemas isso produza o estilo C:\> mais recente, a menos que seja usado em unidades de disquete A: ou B:. Nesses sistemas, prompt $N$G pode ser usado para substituir o padrão automático e alternar explicitamente para o estilo antigo.

Muitos sistemas Unix disponibilizam a variável $PS1 (Prompt String 1)[3], apesar de que outras variáveis também possam afetar o prompt (dependendo do shell usado). No shell bash, um prompt da forma [tempo] usuário@hospedeiro: diretório_de_trabalho $ pode ser definido emitindo o seguinte comando: export PS1='[\t] \u@\H: \W $'.

No zsh, a variável $RPROMPT controla um "prompt" opcional no lado direito da tela. Não é um prompt real, pois a localização da entrada de texto não é alterada. Ele é usado para exibir informações na mesma linha que o prompt, mas justificado à direita.

No RISC OS, o prompt de comando é um símbolo * e, portanto, os comandos da CLI são frequentemente chamados de "comandos estrela".[4] Também é possível acessar os mesmos comandos de outras linhas de comando (como a linha de comando BBC BASIC), precedendo o comando com um *.

Outras interfaces de linha de comandos[editar | editar código-fonte]

A linha de comandos garante uma interface entre os programas e o usuário. Nesse sentido, a linha de comandos serve como uma alternativa ao quadro de diálogo. Os editores e as bases de dados geram uma linha de comando onde podem operar processadores de comandos alternativos.

Há vários jogos em modo texto em que o usuário insere comandos na parte inferior da tela.[5] Uno controla o personagem escrevendo comandos como "obtener el anillo" ou "mirar". O programa desenvolve o texto, que descreve como lo ve o personagem ou como realiza uma ação.

O mais notável dessas interfaces é a interface de fluxos padrão, que permite canalizar a saída de um comando para a entrada de outro. Os arquivos de texto também podem servir para qualquer propósito. Eso fornece interfaces de canalização, filtragem e redirecionamento. No Unix, os dispositivos também são arquivos, porque o tipo de arquivo habitual para o shell usado para stdin, stdout e stderr é um arquivo de dispositivo tty.

Outra interface de linha de comando permite que um programa shell execute programas utilitários, seja para executar documentos ou para executar um programa. O comando é processado dentro do shell e depois passado para outro programa para executar o documento.

Existem bibliotecas JavaScript que permitem escrever aplicativos de linha de comando no navegador como aplicativos da Web independentes ou como parte de um aplicativo maior. Também existem aplicativos da Web SSH que permitem fornecer acesso à interface de linha de comando do servidor, bem como a capacidade de configurar o golpe de puerto.[6]

O campo de entrada do URL do navegador da web pode ser usado como uma linha de comando. Ele pode ser usado para "iniciar" aplicativos da web, acessar a configuração do navegador e também realizar pesquisas. O Google, que foi apelidado de "linha de comando da Internet", buscará um domínio específico quando encontrar parâmetros de busca em um formato conhecido.[7]

Notas e Referências

  1. «A linha de comando do Unix e GNU/Linux» (PDF). free-electrons.com. Consultado em 7 de janeiro de 2018 
  2. «Comandos para o terminal (Windows, macOS e Linux)». www.lucascaton.com.br. Consultado em 7 de janeiro de 2018 
  3. Parker, Steve (2011). «11: Choosing and using shells». Shell Scripting: Expert Recipes for Linux, Bash and more. Col: Programmer to programmer. Indianapolis: John Wiley & Sons. p. 262. ISBN 9781118166321. Consultado em 23 de março de 2017. The shell has four different command prompts, called PS1, P52, P53, and PS4. PS stands for Prompt String. 
  4. RISC OS 3 User Guide (PDF). [S.l.]: Acorn Computers Limited. 1 de março de 1992. p. 125 
  5. «5 Text-Based Adventure Games You Can Play in Your Browser». makeuseof.com. Consultado em 12 de dezembro de 2022 
  6. «How To Enable Port Knocking In Csf/lfd». knownhost.com. Consultado em 12 de dezembro de 2022 
  7. «Google strange goodness». knaster.com. Consultado em 12 de dezembro de 2022 


Ícone de esboço Este artigo sobre Unix é um esboço. Você pode ajudar a Wikipédia expandindo-o.