Então, qual é a vantagem de usar o terminal? [fechadas]

62

Acabei de instalar o Ubuntu há alguns dias. Tanto quanto posso dizer, o terminal é uma grande parte de qualquer distribuição Linux. Minha pergunta neste momento é por quê? Quando eu procuro algo sobre isso, os comandos colocados no terminal são todos facilmente executados através da GUI. Então, quais são as vantagens de usar o terminal?

Edit: Obrigado pelas respostas a todos. Depois de um pouco bisbilhotando, e com a ajuda de suas respostas, agora posso entender seu uso. Posso dizer com orgulho que, nos últimos três dias, eu o uso há quase tudo e espero em breve ter uma melhor compreensão sobre scripts.

LurkDog
fonte
20
O fato de você ter perguntado isso mostra até que ponto o Linux como sistema operacional veio dos dias em que tudo era baseado na CLI! :-)
subeh.sharma
1
A resposta definitiva para essa pergunta é provavelmente The Art of Unix Programming, de Eric S. Raymond . Para uma abordagem mais cínica (ou, alguns podem dizer, mais pragmática), com as mesmas idéias, consulte o artigo de Joel Spolsky sobre Biculturalismo .
Daniel Pryden
1
Em um sentido geral, a vantagem de usar o terminal é expressividade. É o mais próximo que temos de uma interface do que eu quero dizer , livre de desordem e modalidade, e isso conta muito em termos de tempo e praticidade. - Isso não é abrangente o suficiente para ser uma resposta em si, mas espero que o byte de som rápido ajude.
22412 MrGomez
Nos últimos 5 anos que passei com o Ubuntu, não lembro de um único dia em que não usei o terminal. É o primeiro aplicativo que abro após o login (é claro que eu o automatizei :-)) e fecha somente quando meu PC é desligado.
Vikrant Chaudhary
2
Esta pergunta não se encaixa no nosso formato de perguntas e respostas. Esperamos que as respostas envolvam geralmente fatos , referências ou conhecimentos específicos; essa pergunta provavelmente solicitará opinião , debate , argumentos , pesquisas ou discussão prolongada.
jrg

Respostas:

79

O terminal no Unix é uma ferramenta maravilhosa e poderosa. Ao fazer a transição do mundo do Windows, é difícil apreciar isso porque o shell do Windows (cmd.exe) é bastante, como eu digo bem, faltando. A maioria * nix conchas padrão ( bash, zsh, etc) têm várias vantagens:

  1. Ele é padronizado através do POSIX e da Single Unix Specification; portanto, um script que você escreve para um computador provavelmente funcionará em todas as máquinas compatíveis com POSIX (supondo que você se restrinja a comandos padrão, dos quais existem muitos ). A Microsoft tem o hábito de incluir ferramentas em algumas versões e não em outras, tornando a programação em lote muito imprevisível

  2. Como o Unix foi construído a partir do terminal, quase tudo é configurável a partir da linha de comando. O Windows era assim até certo ponto, mas eles optaram por deixar o subsistema de 16 bits e o DOS com ele. Agora, a GUI é a única maneira de mudar algumas coisas no Windows.

  3. Porque é tão flexível. Os comandos podem ser canalizados juntos ( ls | grep filename), podem ser capturados ( gcc program.c > ./standard_out 2> ./standard_error) e podem ser substituídos ( ls /home/`whoami`ou ls /home/$(whoami))

  4. Porque os utilitários UNIX são projetados para fazer uma coisa e fazê-lo bem. Basta olhar em awk, grep, sed, wgetou uma série de outros. Sozinhos, eles realizam uma única tarefa, mas, com os números 3 e 2, podem ser construídos em expressões poderosas.

  5. Devido à capacidade de automatizar tarefas. cronOs scripts bash permitem que tarefas longas, complicadas e / ou repetitivas sejam simplificadas ou automatizadas completamente.

  6. Porque os seres humanos são propensos a erro. Scripts de shell relativamente curtos podem ser usados ​​para alterar as configurações de maneira consistente. As verificações de segurança podem ser incorporadas aos scripts, em vez de confiar nos usuários para saber quais comandos são seguros para executar em diferentes circunstâncias.

Huckle
fonte
10
Eu chamaria de 'carrapatos ruins ... É melhor usar ls /home/$(whoami)hoje em dia :-)' #
21812
19
Eu diria que há um 5., a saber, possibilidades de script. Você pode automatizar qualquer coisa , eu até tenho um script que lança um episódio aleatório da minha série favorita quando eu quero procrastinar ... Pegue seu PC algumas rodas e você provavelmente pode escrever um script que tire cerveja da geladeira e, se você o coloca na cronporta, quando você volta do trabalho ...
TC1
6
Para ser justo, o PowerShell melhorou a situação do shell do Windows em termos de usabilidade (embora não padronização).
Matthew Flaschen
4
Gostaria de adicionar outro equilíbrio e também mencionar o PowerShell, e mesmo antes disso era perfeitamente possível realizar a maioria das tarefas a partir do prompt do CMD no Windows a partir do Windows XP. A diferença, como foi dito, é que a linha de comando sempre foi e continua sendo mais central para o uso diário * nix do dia-a-dia. Isso tem implicações boas e ruins.
Alan B
9
Que tal 6 - Muitas vezes, é mais fácil emitir um comando do que seguir instruções passo a passo, dizendo como navegar na GUI. É por isso que muitas instruções na Web usam a linha de comando. E isso também é verdade para os usuários - à medida que você ganha mais experiência, torna-se mais rápido e fácil usar a CLI.
Phil
36

Existem inúmeras vantagens em usar o terminal. Os argumentos variam de conveniência, produtividade a nostalgia. Aqui estão alguns :

  1. Há algumas coisas que você (em vez de eu) simplesmente não consegue realizar usando uma GUI. Não é porque não é factível, é simplesmente porque ninguém se preocupou em escrever uma GUI para esses comandos. Por exemplo, se eu quiser usar algum comando, diga mdf2isopara converter um monte de arquivos em uma pasta. Eu posso canalizar a saída usando o |operador e fazê-lo em um único curso.

  2. Para muitos de nós, é assim que as coisas devem ser. Lembre-se de que isso tem pouco a ver com experiência. Não sou especialista em linux, sou apenas um usuário comum, mas prefiro usar a linha de comando sempre que possível. Este não é um argumento muito sobre por que ele deve ser usado, mas por que ele é usado.

  3. Os scripts são uma coisa poderosa. Você pode usar condições ife loops foretc. e fazer todo tipo de coisa combinando a potência acima. Não há limite para o poder dos scripts. Você pode automatizar tarefas complexas, adaptadas às suas necessidades. Para essas coisas, geralmente é difícil encontrar um aplicativo GUI que atenda às suas necessidades.

  4. Você pode executar tarefas por login remoto, mesmo em configurações de largura de banda muito baixa.

  5. Ajudar, escrever tutoriais etc é muito mais fácil se você pode especificar os comandos para a outra pessoa. Dessa forma, você não precisa fazer capturas de tela. Isso tem outra vantagem para a pessoa que está sendo ajudada também, o que nos leva ao próximo ponto.

  6. O uso da linha de comando geralmente fornece uma melhor compreensão do que você está fazendo e do que está acontecendo.

  7. E, finalmente, é simplesmente mais rápido. É muito mais rápido digitar algumas letras e pressionar TABdo que clicar nas infinitas opções de menu. Você pode usar !mopara chamar o último comando que você executou que começou com mo(por exemplo, mount) e assim por diante.

Estou certo de que existem milhares de outras razões pelas quais deixei de mencionar.

ste_kwr
fonte
É 'vantajoso' em algumas tarefas usar o cli, mas em 90% do dia-a-dia ninguém quer usar os comandos do cli para minimizar as coisas. Tudo o que eu vejo é que é vantajoso, porque você pode fazer "isso" com tanta eficácia, no entanto, que isso acontece apenas uma vez por mês ou ao configurar o computador. Por exemplo, apenas para copiar um arquivo, você precisa escrever parágrafos, definir permissões, verificar, definir opções, fornecer espaço correto, observar o caso correto, ler listas de 50 arquivos, procurar suas permissões ... enquanto se estivesse fazendo no gui do windows, você pressionaria ctl + a .. alt + tab ctl + c. E pronto
Muhammad Umer
Há algo de muito satisfatório na linha de comando, os comandos são emitidos e executados corretamente com aceitação muda, com frequentemente apenas erros sendo mostrados. Quase sempre prefiro mover e copiar arquivos na linha de comando à experiência muitas vezes frustrante e ambígua de arrastar e soltar.
Henry Florence
18

Eventualmente? Porque você começa a criar scripts, e a coisa maravilhosa sobre scripts é a seguinte:

Em vez de alterar a maneira como você faz as coisas, você pode alterar o script que as executa.

Você pode escrever scripts para o terminal e geralmente não pode para programas gráficos, é por isso que as pessoas usam o terminal.

Mas sinto uma dica de "Por que devo usar o terminal?" na sua pergunta. Não posso responder isso por você, sendo você e eu não sendo você, mas essa pergunta relacionada pode oferecer algumas dicas:

Como / por que as pessoas acabam sendo usuários da linha de comando?

Eu acho que você conseguiu identificar três estágios: (1) uso relutante; (2) conhecer o mínimo necessário para o conforto; (3) encontrar alguém que goste de scripts. Pode-se usar o terminal em todos esses três níveis; descubra por si mesmo onde sua curiosidade para. Além disso, é possível passar por esses estágios muito rapidamente, se alguém simplesmente decidir que deseja aprender scripts de shell.

  1. "Eu preciso deste programa, então acho que usarei a linha de comando."

    Começa, geralmente, porque as pessoas acham que precisam de algo especializado ou complicado, e o programa que o Google / um fórum / um amigo recomenda que seja um programa de linha de comando. Então, eles abrem um terminal e digitam o que as instruções lhes dizem para digitar, e é assim que eles usam o terminal. Exemplos desses programas que fazem você usar a linha de comando:

    • O LaTeX / TeX / ConTeXt (diferentes sabores do mesmo sistema) pega um arquivo de texto e o transforma em um belo documento PDF. Veja esta mostra para exemplos; Eu prefiro 'pp' e 'LM-Volume-manuscript'.
    • renameé um pequeno programa adorável que permite renomear toneladas de arquivos de acordo com um padrão. Um exemplo simples: rename s/myfile([0-9]+).txt/$1-myfile.txt/ transforma todos os arquivos nomeados como 'bond007.txt' em '007-bond.txt', independentemente do número. Talvez você queira renomear alguns arquivos de álbuns de música.
    • Talvez você queira executar um site no seu computador e descubra que, se quiser instruir o servidor da Web a executar / interromper / atualizar sua configuração, precisará emitir um comando de terminal.

    Observe que existem front-ends gráficos para muitos desses sistemas, mas isso não vem ao caso: a chamada da linha de comando é comum e tradicional, muitos HOWTOs assumem isso e é assim que começa. Porque:

  2. "Ok, estou um pouco mais confortável agora."

    Uma vez dentro da linha de comando, as pessoas começam a pensar: não seria fácil se eu pudesse ..

    • ... alterar diretórios para procurar dentro de outro? ( cd mydir, para 'alterar diretório')
    • ... recebe um lembrete rápido dos arquivos de texto neste diretório? ( ls *.txt, para 'lista')
    • ... mover / renomear um arquivo? copiar um arquivo? excluir um arquivo? ( mv myfile newname,, cp myfile mycopye rm myfile, para 'mover', 'copiar' e 'remover')
    • ... abrir este arquivo para edição / visualização? ( gedit myfile, ou leafpad, ou nano, ou vim, ou o que for.)

    Depois que as pessoas aprendem esses cinco comandos, elas se sentem à vontade na linha de comando: elas podem se mover, olhar e interagir. É até um pouco poderoso: você pode operar em grupos inteiros de arquivos de uma só vez com comandos como mv iceland-*.jpg My_Iceland_Pics/, e isso não é legal?

    Agora, muitas pessoas param feliz aqui. Eles sabem como usar o terminal, usam quando precisam, e é tudo. Este é o nível "o terminal é útil". As pessoas que preferem o terminal, no entanto, geralmente o fazem porque precisam / querem / sentem que não podem passar sem o poder espetacular que o script oferece. E isso geralmente começa assim:

  3. "Ei, um script é apenas alguns comandos em um arquivo!"

    Essa percepção pode levar a várias mudanças adicionais, dependendo da pessoa. Muitos simplesmente vão 'meh', é claro; não faz sentido aprender o que você não precisa. Enfim, coisas assim podem acontecer:

    • Você começa a usar pequenos scripts para automatizar coisas chatas. Alguns você escreve a si mesmo; alguns você recebe de outra pessoa; e, eventualmente, você começa a modificar os scripts de outras pessoas.
    • Você descobre que uma enorme categoria de coisas que costumava fazer manualmente, porque exigia uma reflexão intermediária, pode ser automatizada usando estas duas construções:
      • if something_is_true; then step1a; step2; else step1b; fie
      • for file in list_of_files; do process1 $file; process2 $file; step3; done
    • Diante de uma tarefa chata ou complexa, você acha que prefere escrever um script para ele do que fazê-lo manualmente. Isso não é nem para economia de tempo ou reutilização, necessariamente, mas simplesmente porque é mais divertido.
    • Você começa a usar muito o fluxo de trabalho 'usar script no arquivo de origem', porque ele se encaixa da maneira que você pensa.

Você pode não experimentar todas essas coisas, ou mesmo nenhuma delas. Quanto mais se aplica a você, no entanto, melhor o terminal será para você . Você descobrirá por si mesmo o quanto acaba usando. Diverta-se!

Post Scriptum. Na programação, os fluxos de trabalho script -> run -> resulte input -> process -> outputsão extremamente comuns, e o terminal é espetacularmente adequado para esses fluxos de trabalho. Adicione a isso o fato de que o shell realmente não passa de outra linguagem de programação e você verá por que há uma sobreposição tão grande entre usuários de linha de comando e programadores.

Esteis
fonte
2
Eu acho que você usou o vim para escrever este post.
jokerdino
5
@jokerdino: Não, mas eu deveria. :-)
Esteis
15

Outro ponto a acrescentar: é divertido usar a linha de comando! ;)

( http://vladdolezal.com/blog/2008/the-real-reason-we-use-linux/ )

red_trumpet
fonte
+1 em um bom artigo. Eu sinto que sou parte de uma "camarilha" especial.
Aaron
Eu o modificaria para dizer que é divertido assim que você aprender alguns dos muitos truques e técnicas, especialmente os comandos de edição. A maior melhoria para mim foi aprender o suficiente para começar a entender as coisas em "man bash".
Marty Fried
12

Eu estava apenas respondendo uma pergunta semelhante como essa no outro dia. Aconteceu que essa pessoa nunca usou atalhos de teclado para fazer qualquer coisa, então acabou sendo uma discussão longa. Espero que você tenha alguma familiaridade com isso ... isso tornaria meus pontos mais compreensíveis.

Considere usar um processador de texto. Se você salvar um arquivo, poderá usar um atalho de teclado como ctrl-s. Alguém pode dizer: "Prefiro usar o menu. Não poupa muito tempo para usar o atalho. E se você precisar salvar um novo arquivo, deverá navegar pelo sistema de arquivos até o diretório e digite o nome de qualquer maneira. " Portanto, esse objetor está correto, pois cada atalho de teclado por si só não economiza uma quantidade significativa de tempo. A verdadeira economia está em encadear atalhos, por exemplo, selecionar tudo, recortar, colar. Até os fabricantes de processadores de texto perceberam isso e tornaram mais conveniente acessar a estrutura de arquivos usando o teclado, por exemplo, poder acessar pastas / locais recentes usando as teclas de seta e tabulação.

É claro que selecionar trechos de texto exige o mouse muitas vezes ... é por isso que programadores e pessoas que fazem muita edição preferem usar um editor de texto que suporte o uso completo do teclado para que você nunca precise usar o mouse. O mouse não é apenas lento , mas propenso a erros - é particularmente fácil selecionar ou excluir o texto errado.

Agora, o que isso tem a ver com a linha de comando? Uma vantagem da linha de comando é que ela evita o uso do mouse lento e propenso a erros. Em vez disso, você digita e o faz a partir de um local; você não precisa procurar outro menu ou clicar ali e depois aqui. É a mesma razão pela qual as pessoas gostam de usar os atalhos de teclado do navegador da Web (para abrir novas guias / janelas, usar o Gmail etc.); eles precisam digitar o URL (ou e-mail ou o que for) de qualquer maneira ... por que afastar a mão das teclas?

Mas o mais importante é que, assim como os atalhos de teclado são os mais poderosos quando você começa a usá-los todos juntos (em vez de apenas um ou dois), é possível encadear comandos para fazer coisas mais poderosas que levariam uma eternidade na GUI ou você não conseguiria ' nem imagine fazer. Por exemplo, na linha de comando, você pode informar ao seu navegador da web que eu quero atualizar essa página da web a cada 30 segundos, procurar um determinado texto e, quando isso acontecer, enviar a mim e a um grupo de contatos um e-mail dizendo que o texto foi exibido na página da web. Como outro exemplo, você pode dizer ao seu computador: desejo examinar TODOS os emails que já escrevi, procurar uma referência a este livro em particular, produzir uma lista de datas que mencionei e para quem, ordenar a lista de acordo com frequência e coloque-o neste e-mail que estou digitando agora.

Chan-Ho Suh
fonte
usando screenem um console, raramente uso um mouse, a menos que seja para navegar mais em um site. (Ninguém melhor lince menção ...)
Huckle
1
+1 para os atalhos do teclado. É ridículo quantas pessoas afirmam que o Linux é mais rápido de usar por causa da CLI (e, portanto, do teclado), e ainda assim não sabem como usar o teclado para realizar qualquer coisa no Windows. É como afirmar que um triciclo é mais avançado / fácil de usar do que uma bicicleta com rodinhas.
Mehrdad
Serei o primeiro a dizer que conheço os atalhos de teclado do Windows melhor que os do Gnome, mas é porque passo a maior parte do meu tempo * nix em servidores. Mas ALT + Espaço + N, ALT + TAB, ALT + ESPAÇO + M + (Seta) todos têm equivalentes ao Gnome (eu acredito).
Huckle
11

A CLI é rápida de usar quando você sabe exatamente o que deseja fazer e como fazê-lo. Pode ser muito mais eficiente do que usar uma GUI. Além disso, se você deseja se conectar remotamente à sua máquina, a CLI é muito mais fácil em um link lento. Se você estiver familiarizado com a CLI, também poderá tirar proveito dos scripts.

Se você google cli vs gui, receberá toneladas de hits, por exemplo:

http://www.computerhope.com/issues/ch000619.htm

Sua pergunta não é realmente específica do Ubuntu, linux ou mesmo PC - você recebe um debate sobre esse assunto a partir de qualquer sistema que suporte gui e cli, por exemplo, a configuração de roteadores Cisco.

Amir
fonte
Com os arquivos de configuração, uma vantagem de apenas editá-los na linha de comando é saber o que está acontecendo com o arquivo. Se você anexar um determinado comando, agora sabe que o arquivo tem essa linha extra. Com a GUI, às vezes, na verdade, não está claro o que você fez ou que efeito sua verificação / desmarcação fará. Suponho que a desvantagem é que os arquivos de configuração podem ser difíceis de ler.
Chan-Ho Suh
10

Há uma série de pontos positivos nas respostas, mas ainda tenho um ponto adicional a fazer. Às vezes, após a instalação ou atualização de um aplicativo GUI, não é iniciado e deixa você sem nenhuma mensagem de erro. Nesses casos, pode ser muito útil abrir uma janela do terminal e iniciar o ap na linha de comando. Quase sempre há mais informações fornecidas no terminal do que as apresentadas ao iniciar a partir da GUI.

fragos
fonte
8

Meu favorito é menos digitado . Como pode ser isso, eu ouço você perguntar. Bem, eu entrei, procure reversa ou seta para cima) para um comando que digitei na semana passada e pressionei retorno de carro. A alternativa é muito mais cliques do mouse (e tentando lembrar).

Meu segundo favorito é que fica mais fácil responder a perguntas sobre estouro de pilha; Não são necessárias capturas de tela, apenas texto.

ctrl-alt-delor
fonte
5
+1 para menos digitação . A pergunta óbvia é como uma interface de teclado pode resultar em menos digitação, mas isso ocorre. Você nem sempre percebe com que frequência repete as mesmas tarefas repetidamente até examinar o seu histórico do bash.
Erick Robertson
Fiz um pequeno estudo de pressionamento de botão, comparando mouse e teclado. Isso ignora todos os deslizamentos do mouse, apenas os cliques e todas as teclas pressionadas (Esta metodologia subestima o esforço do mouse). Eu contei a pontuação / esforço para realizar algumas tarefas diárias usando cada método. Os únicos atalhos de teclado usados ​​foram pesquisa reversa (ctrl-r), teclas de seta e tabulação. Menor pontuação é melhor. Concluindo, o uso do teclado com pesquisa reversa (ctrl-r), teclas de seta e tabulação é menos esforço que o uso do mouse para a maioria das tarefas diárias.
CTRL-ALT-DELOR
5

E quando você precisa fazer algo como "root"? Fazer login através da GUI como raiz é uma má idéia (e nem acho que o Ubuntu permitirá que você faça isso, por padrão).

Além disso, considere que a GUI do Linux (X11) é simplesmente um programa em execução, como todo o resto. Se o X11 travar, você ficará satisfeito por conhecer sua linha de comando.

Aaron
fonte
5

Eu só quero contribuir com um exemplo, que acho muito útil, nas instruções para adicionar o PPA para VirtualBox. Ao adicionar um PPA, você também deve registrar a chave pública, portanto, o método GUI:

  • faça o download da chave com o Firefox (ou outro navegador)
  • abra o Synaptic (ou outro gui do APT)
  • procure o item de menu direito
  • procure o arquivo baixado
  • finalmente confirme

Explicar isso em um guia do usuário pode ser caro! Em vez disso, isso pode ser feito com uma única e simples linha de comando:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
Pisu
fonte
1
Exceto que o download de chaves não requer consciência humana, portanto, é um fardo desnecessário fazê-lo manualmente.
Justinas Dūdėnas
3

A linha de comando funciona muito bem como no Windows - lembre-se de que a caixa de entrada de texto msdos é com fundo preto?

Ele fornece ao usuário um meio de emitir comandos diretamente para o computador sem esgotar os recursos do computador que uma GUI traz. É também uma maneira de emitir comandos poderosos para fazer coisas que não podem ser feitas por meio de uma GUI.

Não estou perdendo a utilidade da maneira de trabalhar com a GUI, mas nas mãos de um operador qualificado, a maneira da linha de comando pode ser extremamente rápida e eficiente. Nas mãos de um verdadeiro mago, a linha de comando faz milagres. Eu mal arranhei a superfície das possibilidades, aprendo algo novo todos os dias. Nunca serei um mago - velho demais -, mas gostaria de ser um operador médio um dia ...

Bem-vindo ao Ubuntu e ao Ask Ubuntu. Este é um ótimo lugar !!

Vic
fonte
3

Para um iniciante, o terminal é uma tarefa difícil de usar, mas se você começar a aprender a usá-lo, fica mais fácil. Uma vez que você se sinta confortável com isso, você terá uma sensação de confiança de que poderá lidar com as coisas quando elas derem errado.

Por exemplo, quando um programa GUI se recusa a iniciar, e você não tem idéia do que está errado, é possível executar o comando em um terminal e frequentemente ver o motivo do problema na saída do terminal. Em seguida, você pode copiar parte disso em uma pesquisa e encontrar a resposta, se necessário.

Você pode inserir um comando com "--help" e obter uma lista de opções de linha de comando que podem ser úteis para alguns casos especiais.

Se algo der errado, e a GUI nem sequer for executada, muitas vezes você pode abrir um terminal virtual ou possivelmente apenas uma linha de comando a partir da inicialização e corrigir o problema editando um arquivo de configuração ou executando um programa de linha de comando.

Marty Fried
fonte
2

Simplificando, você tem mais de cem teclas que podem controlar / falar / solicitar o computador, em vez de um único mouse com dois ou três botões. Quanto mais controles você tiver, mais rápido poderá ser.

Para quem não sabe digitar, um teclado na tela pode parecer ótimo. Por mais rápido que você possa usar o mouse, não poderá digitar mais rápido do que usando o teclado.

Se você estiver usando mouse / windows, é como o computador que está controlando e ditando o que você pode fazer. Quando você se acostumar com o mundo da linha de comando, poderá sentir todo o sistema sob seu controle aguardando seu pedido. Você precisa experimentar para entender a diferença.

balki
fonte
1

Eu nem vejo o ponto de marcar uma resposta lol. De qualquer forma. Terminal é como o seu CMD no Windows. Antigamente, antes da interface gráfica do usuário aparecer, as pessoas programavam e trabalhavam no modo DOS, praticamente um terminal simples. A GUI é criada para tornar a tarefa mais simples e fácil, mas às vezes o uso da GUI exige mais trabalho.

Por exemplo, como desenvolvedor, se eu apenas quiser compilar um programa C ++, não preciso usar IDE sofisticado. O IDE é uma interface GUI que possui muitos recursos avançados que um simples editor de texto não oferece. Portanto, em vez de baixar um IDE realmente grande para uma tarefa simples, basta escrever o seguinte e ele executará meu programa C ++, cujo arquivo executável é chamado main.

g++ -o main main.cpp
chmod 777 main
./main

Se você interpreta uma linguagem de interpretador como Python, pode inserir o shell interativo do Python. Sim. Existem shells interativos envoltos em uma interface gráfica agradável, mas é mais lenta e com bugs (pense em IDLE ...)

Às vezes, quando a GUI está quebrada, você pode tentar usar o Terminal para abri-lo. Às vezes, alguns softwares no Linux não oferecem boa GUI ou é muito difícil encontrar onde está o iniciador da GUI, basta ir ao Terminal e digitar, por exemplo:

xpdf homework.pdf

Isso abrirá o homework.pdf para você.

Em outras situações, a GUI não oferece energia e magia suficientes para executar sua tarefa. Algumas funções de pesquisa são muito básicas e você não pode aplicar uma pesquisa aprofundada ou um padrão de pesquisa complicado. Mas através do terminal, um comando pode ser emitido com um padrão realmente muito complicado e longo.

A GUI é boa, mas às vezes através de comandos você também pode simplificar as coisas. Às vezes você simplesmente não tem escolha: você precisa usar comandos através de terminais.

CppLearner
fonte
1

Eu acrescentaria um argumento que parece não ser mencionado, mesmo que não seja uma vantagem real.

Pense no fato de que a GUI é como um "painel" que dá acesso às funções que o programa real possui. Muitos softwares, especialmente se em uma versão anterior, não possuem uma GUI, e você pode executá-los apenas no terminal. E, como outros apontaram, mesmo os aplicativos que possuem uma GUI, às vezes não possuem interfaces para todas as funções; para essas funções, você precisa usar o terminal.

clabacchio
fonte
0

Todo mundo descreveu bem as vantagens, gostaria de acrescentar que, além da transparência, é possível ver todas as dependências listadas, sua velocidade. Após o desaparecimento do synaptic do Ubuntu, o centro de software está muito lento, especialmente em máquinas mais lentas, aqui a instalação do terminal é muito mais rápida.

Arup Roy Chowdhury
fonte
3
Embora o Synaptic não faça parte da instalação padrão, ele ainda está disponível para instalação no Software Center.
fragos