Interface da linha de comandos Vs GUI [closed]

3

Esta pode ser uma questão bastante simples, mas aqui vai.

Estou pensando em aprender a usar um CLI, como me disseram que é mais eficiente para um técnico usar do que uma GUI. Alguém poderia por favor descrever por que seria benéfico usar um CLI?

    
por Swifty124 30.04.2015 / 21:34

2 respostas

9

É tudo sobre metáforas para comunicação. GUIs são livros ilustrados - eles permitem que você mova coisas para outras coisas, ou clique com o botão direito do mouse nas coisas e selecione as opções.

Mas você ainda digita uma postagem quando quiser fazer uma pergunta.

As linhas de comando são praticamente a mesma coisa - dizem respeito a um computador o que fazer. Se o que você está tentando fazer é simples, então as imagens e as palavras são praticamente as mesmas. Se o que você está tentando fazer é complexo, as palavras permitem que você explique melhor.

Um dos meus exemplos favoritos é find .

find . -mtime -60 -name '*.txt' -exec sed -i.bak 's/fish/carrot/g' {} \;

Isto irá:

  • Pesquise a estrutura de diretórios atual
  • para todos os arquivos modificados nos últimos 60 dias,
  • chamado '* .txt'
  • substitua a palavra 'peixe' por 'cenoura' em todos eles.
  • deixando uma cópia de backup com sufixo .bak .

Como você ilustraria isso pictoricamente usando uma GUI?

(E para estendê-lo - a próxima fase da linha de comando é aprender scripts, o que permite explicar com mais detalhes o que você quer que o computador faça).

Este princípio é o dobro para tarefas demoradas e demoradas. Você escreve o seu comando para fazer isso, pressione 'enter' e salve a saída. - vai para casa e vai embora. Onde comandos complexos da GUI você precisa executar um de cada vez.

A principal vantagem das GUIs em minha mente é que elas permitem que você tenha uma série de coisas para fazer sem precisar conhecer especificamente . O Painel de Controle do Windows é o local que você procura quando quer "mexer em algumas configurações" - e pode percorrê-las procurando algo apropriado. Eu sugeriria para tarefas infrequentes , isso é benéfico. Provavelmente ainda é (na minha opinião) mais fácil fazer isso com o Windows do que com o Linux.

Mas esse é realmente o mesmo ponto - para tarefas não frequentes realizadas ocasionalmente, as GUIs são boas. Para comandos repetitivos complexos e regulares, CLI toda vez.

    
por 30.04.2015 / 21:41
2

A vantagem mais importante da CLI sobre a GUI é que, com uma CLI, é possível facilmente conectar a saída de um comando à entrada de outro comando. Essa conexão possui uma notação simples e intuitiva (um pipe, | ) e sua implementação é altamente eficiente. Isso permite resolver tarefas complexas encadeando blocos de construção muito simples.

Por exemplo, esse trecho de código remove duplicatas de uma coleção de imagens:

find ~/Images -type f -name '*.jpg' -print0 \
    xargs -0 shasum -a256 | \
    perl -l0ne 'm/^(\S+)\s.(.+)$/o and $a{$1} ? (print $2) : ($a{$1} = 1)' | \
    xargs -0 rm -f

Cada um dos comandos envolvidos faz uma coisa muito simples. Cada comando é fácil de entender e a exatidão de seu funcionamento é fácil de verificar. No entanto, o resultado de encadear esses comandos está longe de ser trivial. Com uma interface gráfica, não há esse nível de modularidade ou flexibilidade.

    
por 30.04.2015 / 22:27