Uma outra razão além das fornecidas, embora implícita em algumas respostas. A função GUI pode chamar um comando da CLI ou duplicar o esforço do comando da CLI - de qualquer forma, há mais código envolvido para concluir o trabalho simplesmente porque uma interface do usuário mais elaborada está envolvida. Mais código -> mais chances de erros interferirem no que você está tentando fazer.
Rapidez.
Às vezes, é mais rápido digitar as coisas do que navegar pela interface do usuário (sem mencionar que a CLI é muito mais responsiva; além disso, ajuda quando sua CLI tem preenchimento automático ou pesquisa de histórico).
Além disso, e mais importante, acelere a automação. Você pode agrupar vários comandos para criar trabalhos complexos.
Isenção de responsabilidade: O sistema operacional * DEVE * não ser de M $, porque eles têm um
Em certas tarefas, você pode executá-las 10 a 100 vezes mais rápido (e, em alguns casos, é impossível a partir de uma GUI e / ou uma GUI seria tão * INCONVENIENTE *, é essencialmente impossível). Mas, para alguns aplicativos, como navegar na web, aplicativos de escritório, jogos, etc., você * DEVE * ter uma GUI. Faça o que quase todos os desenvolvedores modernos que não são macacos treinados na faculdade usam os dois ao mesmo tempo e aprendem por si mesmos o que é melhor.
Como eu disse, existem certas coisas que são possíveis (ainda não leas). Este é o Santo Graal da interação humano-computador, que consiste em ter uma linguagem de programação visual 100% compreensível para uma criança, mas que é poderosa o suficiente para escrever 100% dos um SO distribuído em.
Supondo que a GUI e a CLI estejam disponíveis, e você tenha conhecimento da CLI:
Para a maioria das tarefas, pode ser muito mais rápido usar uma linha de comando do que uma GUI. A execução de tarefas na linha de comando tem uma sobrecarga significativamente menor, porque uma interface não precisa ser renderizada, apenas solicitações e comandos simples.
Um ótimo exemplo disso é o Git. Compare a velocidade de um cliente Git com os comandos da linha de comando Git e você verá uma diferença drástica de velocidade em termos de empurrar e puxar especialmente.
Se você é um digitador rápido, a linha de comando sempre será mais rápida que um teclado e mouse.
Outra vantagem para uma CLI em vez de uma GUI, além das já mencionadas: você pode usá-la remotamente na Internet com muito menos largura de banda.
O uso de uma GUI em uma rede geralmente requer protocolos complicados, como o protocolo Remote Desktop da Microsoft, o protocolo X11 no Unix ou aplicativos proprietários de "compartilhamento de tela", como
Copilot Fog Creek. Ele também apresenta um desempenho ruim em comparação com uma GUI gerada localmente, pois todos os dados a serem exibidos precisam ser transferidos pela rede. (Os protocolos empregam otimizações, é claro, mas isso pode lhe custar muito. E, embora seja verdade que os aplicativos GUI do Unix na área de trabalho realmente usem o protocolo X11, eles tiram proveito de inúmeras extensões, como o uso de memória, para acelerar operações localmente ... extensões que não estão disponíveis em um ambiente de rede.)
Por outro lado, uma CLI pode ser usada sobre o equivalente a uma conexão de terminal serial ... em termos da Internet, uma sessão Telnet. (O Telnet agora é geralmente considerado inseguro e desatualizado; na maioria das vezes, as pessoas usam o SSH, o que fornece uma instalação semelhante, mas protegida por criptografia.) É necessária muito pouca largura de banda e muito pouco poder de processamento no lado do cliente. Obter uma conexão com meu servidor de arquivos local, meus servidores Web baseados na nuvem ou as VMs de desenvolvimento da minha empresa é tão fácil quanto abrir uma janela do terminal e digitar um comando "ssh" para acessar o host apropriado. Eu faço isso rotineiramente várias vezes ao dia.
Obviamente, a desvantagem é que você precisa trabalhar com uma CLI e digitar comandos em vez de ter uma GUI na qual pode clicar em botões e olhar para fotos bonitas. No entanto, é aqui que as outras vantagens de uma CLI entram em jogo, permitindo que você faça as coisas em muito menos tempo do que mexer com uma GUI ... "luz de funcionamento sem overbyte", para emprestar o lema original do Dr. Dobb's Diário.
Gorjeta: Daniel Catalan para a A2A.
Obrigado pela A2A.
A primeira e principal vantagem da CLI é a velocidade. Isso tem vários motivos:
Isso é bom em termos de desempenho. Há outros motivos também: