close

Interface da Linha de comando

Ir para a navegação Ir para a pesquisa
Image
Evolução das interfaces de usuário.
CLI ( Interface de linha de comando ): GUI da interface
de linha de comando ( Interface gráfica do usuário ): Interface gráfica
do usuário NUI ( Interface natural do usuário ): Interface natural do usuário
Image
Uma CLI típica encontrada nas interfaces gráficas de vários sistemas operacionais , para executar aplicativos através de um interpretador de comandos .

A interface de linha de comando ou interface de linha de comando (em inglês , command-line interface , CLI ) é um tipo de interface de usuário de computador que permite aos usuários fornecer instruções a algum programa de computador ou sistema operacional por meio de uma única linha de texto. Deve-se notar que os conceitos de CLI, shell e emulador de terminal não são os mesmos, pois CLI se refere ao paradigma, enquanto shell ou emulador de terminal são programas de computador específicos, que geralmente implementam o CLI . No entanto, todos os três são frequentemente usados ​​como sinônimos.

As CLIs podem ser usadas interativamente, digitando instruções em algum tipo de entrada de texto , ou podem ser usadas de maneira muito mais automatizada ( arquivo em lote ), lendo comandos de um arquivo de script .

Essa interface existe desde quase o início da computação, perdendo apenas para cartões perfurados e mecanismos semelhantes. Eles existem para vários programas e sistemas operacionais, para vários hardwares e com diferentes funcionalidades.

Por exemplo, CLIs são uma parte fundamental de shells ou emuladores de terminal . Eles aparecem em todas as interfaces de desktop ( GNOME , KDE , Microsoft Windows ) como um método de execução rápida de aplicativos. Eles aparecem como interfaces para linguagens interpretadas como Java , Python , Ruby ou Perl . Eles também são usados ​​em aplicações cliente-servidor, em gerenciadores de banco de dados, em clientes FTP , etc. CLIs são um elemento fundamental de importantes aplicações de engenharia como MATLAB e AutoCAD .

A contrapartida da CLI é a interface gráfica do usuário (GUI) que oferece estética aprimorada e maior simplificação, ao custo de maior consumo de recursos computacionais e, em geral, uma redução na funcionalidade alcançável. Da mesma forma, o problema da maior vulnerabilidade aparece dada a sua complexidade.

CLIs são usados ​​por muitos programadores e administradores de sistema como sua principal ferramenta de trabalho, especialmente em sistemas operacionais baseados em Unix ; em ambientes científicos e de engenharia e um subconjunto menor de usuários domésticos avançados.

Em dispositivos portáteis e PDAs , as CLIs não são usadas, devido à complexidade de inserir dados de texto ou à completa ausência de teclados .

História

Nos primeiros anos dos computadores, e durante a era dos computadores chamados mainframes , o controle da execução dos programas era feito a partir de locais especiais (normalmente localizados próximos ao computador em salas climatizadas), onde o administrador manipulava diretamente a máquina.

Image
Teletipo

A ordem foi digitada no teclado e a resposta impressa em papel foi recebida. Esses sistemas baseados em teletipo deram origem à primeira maneira eficiente de interagir com computadores: linhas de texto simples.

Com o advento do sistema operacional Unix no início da década de 1970, o uso da linha de comando tornou-se padrão. Regras de execução baseadas em pipes , filtragem de arquivos com curingas e todos os recursos que as interfaces de texto nascentes permitiam foram canonizados . Os sistemas operacionais que viriam ( CP/M , DOS ) adotariam essas qualidades como suas.

Com a popularização do computador pessoal na década de 1980, os aplicativos entraram em uma nova arena onde os recursos do sistema não precisavam mais ser compartilhados com outros usuários. Agora cada usuário tinha sua própria máquina, com a qual interagia de forma muito mais personalizada. A Apple e mais tarde a Microsoft lançaram com sucesso sistemas que exploravam todos os conceitos visuais que haviam sido desenvolvidos por Alan Kay e sua equipe PARC , ou seja, uma interface gráfica para controlar o computador através de um mouse .

Até o momento, as GUIs continuam sendo a interface dominante e as CLIs, a interface secundária. No entanto, o próprio Dr. Alan Kay destacou que "é necessário desenvolver um novo tipo de interface" para otimizar a relação entre humanos e computadores. [ 1 ]

Operação

Image
Esquema de elementos envolvidos em uma linha de comando.

Em sua forma mais simples, uma CLI consiste em um espaço onde os comandos podem ser digitados (geralmente sinalizados por um prompt ). O usuário digita um comando e o executa indo para a próxima linha, usando a tecla Enter .

Os comandos dados à CLI geralmente são da forma:

PROMPT>aplicación [parametros] ficheros o URI...

Após a conclusão e envio do comando com a tecla Enter, um módulo interpretador de comandos analisa a cadeia de caracteres recebida e, se a sintaxe do comando estiver correta, executa o comando dentro do contexto do programa ou sistema operacional em que está localizado. Esta forma de trabalhar é seqüencial, e equivale a um tipo de programação passo a passo .

O usuário percebe o processamento de suas instruções na forma de uma ação. Se essas informações de processamento forem enviadas ao usuário em formato de texto simples, elas serão chamadas de saída padrão ou "stdout". O usuário também pode receber um relatório de erro textual em um canal especializado chamado "stderr". Quase todos os shells implementam a exibição de "stdout" e "stderr" no mesmo dispositivo , na maioria dos casos na tela.

Também é possível utilizar scripts , ou seja, arquivos com instruções salvas como se estivessem sendo escritas no momento. Em caso de erro, a execução do script pode ser abortada. Dessa forma, a linha de comando pode ser usada sem precisar lidar com o prompt, nem estar presente na frente do monitor ou teclado.

Implementações

Quase qualquer programa pode ser projetado para fornecer ao usuário algum tipo de interpretador de comandos. Por exemplo, alguns jogos de PC em primeira pessoa têm um interpretador de comandos embutido, comumente conhecido como "console" (não confundir com Game Console ), usado para tarefas administrativas e de diagnóstico. Quake , Unreal Tournament , Ragnarok Online ou Battlefield são alguns exemplos. Às vezes, o console é a única maneira de corrigir problemas.

Quando se trata de um programa que interage com o kernel de um sistema operacional, geralmente é chamado de shell . Alguns exemplos são os vários shells Unix ( ksh , csh , tcsh , Bourne Shell , etc.), o histórico CP/M e o DOS command.com , os dois últimos fortemente baseados nas CLIs RSTS e RSX-11 , DEC ' ■ Sistemas Operacionais PDP-11 . O sistema operacional Windows Vista prometia uma CLI chamada Windows PowerShell , que combinava recursos de shells Unix tradicionais com sua estrutura orientada a objetos .NET . Esse desenvolvimento não foi integrado ao sistema operacional por padrão, especialmente devido aos riscos iniciais de segurança. [ 2 ]

As implementações de linguagem interpretada geralmente também oferecem uma estrutura baseada em CLI. Nesses ambientes, é criada uma instância da máquina virtual com a qual o usuário pode interagir.

Alguns aplicativos fornecem uma CLI e uma GUI. Um exemplo é o programa CAD AutoCAD . O pacote científico/engenharia de computação numérica do Matlab não fornece uma GUI para alguns cálculos, mas a CLI pode realizar qualquer cálculo. O programa de modelagem tridimensional Rhinoceros 3D (usado para projetar os gabinetes da maioria dos telefones celulares, além de milhares de outros produtos industriais) fornece uma CLI (cuja linguagem, aliás, é diferente da linguagem de script Em alguns ambientes de computação, como a interface de usuário Smalltalk ou Oberon , a maior parte do texto que aparece na tela pode ser usada para dar comandos.

Padrão de invocação

Não há regulamentação obrigatória quanto ao formato de invocação (escrever e executar) ou a documentação que aplicativos ou funções devem apresentar. No entanto, padrões informais foram cunhados ao definir formas. O mais importante é o uso de colchetes [ ] para indicar parâmetros opcionais. Estes podem ser aninhados ([..[..]]). Por exemplo, a documentação do aplicativo POSIX cal diz que a maneira de executá-lo via CLI é:

cal [[mes] año ]

Isso significa que, se você quiser ver o ano de 2012, terá que escrever literalmente:

cal 2012

Exemplos de interação

A instrução para listar arquivos, em vários ambientes:

Programa ou sistema operacional Ordem tipo de programa
Bourne ls unix- shell
cmd dizer concha do windows
NewShell lista ou diretório AmigaDOS ( shell AmigaOS / MorphOS / AROS ) _
matlab dizer processamento de matriz
terremoto /dir videogame para pc
TACL INFORMAÇÕES DO ARQUIVO Escudo Guardião
concha de píton os.listdir('.') Python , linguagem de alto nível

Interface de usuário textual

Uma interface de usuário textual consiste em uma interface gráfica feita inteiramente de texto. Não é o mesmo que uma CLI, embora ambas usem o mesmo periférico.

Veja também

Referências

Bibliografia

Links externos