Linhas de Comando: Por que as pessoas ainda se incomodam com elas?
A linha de comando tem quase 50 anos, mas não está desatualizada. Os terminais baseados em texto ainda são a melhor maneira de realizar muitas tarefas, mesmo na era dos desktops gráficos e dispositivos com tela sensível ao toque.
Na verdade, a linha de comandoestá se tornando mais respeitado do que nunca com a Microsoft criando um novo e poderoso aplicativo Windows Terminal.O ambiente PowerShell do Windows 10 é surpreendentemente poderoso, mas a Microsoft ainda se esforçou para adicionar suporte para basicamente o ambiente de linha de comando Linux completo ao Windows 10.
A linha de comando era a única opção
Em um momento, se você quisesse interagir com um computador, você digitou. Foi isso.Não havia mais nada. Isso pode soar restritivo e arcaico, mas como um passo de ter que usar cartões perfurados ou fitas de papel perfurado, a digitação foi radical e transformadora.E migrar de telémeros com seus rolos de papel para terminais com telas de tubo de raios catódicos (CRT) foi outra mudança fundamental nas interações entre humanos e computadores.
Essa etapa preparou o caminho para a shell interativa realmente entrar em cena. próprio. Agora você pode enviar instruções para o computador e rapidamente exibir as respostas na tela. Chega de clack-clack-clack enquanto você espera que a impressão impressa saia do seu teleimpressor.
É justo, mas foi então, agora.A computação é um jogo totalmente diferente. Além dos óbvios casos bloqueados, como usar um computador que não tem um ambiente gráfico instalado, ou usar um computador remoto via SSH em uma conexão de baixa largura de banda, ou controlar um sistema sem cabeça ou embarcado, por que usar o comandolinha sobre uma área de trabalho gráfica?
Jargão explicado
Termos como linha de comando, janela de terminal e shell são usados quase indistintamente por algumas pessoas. Esse é o jargão incorreto. Eles são todos bem diferentes. Eles estão relacionados, mas não são a mesma coisa.
Uma janela de terminal é uma janela em um ambiente de área de trabalho gráfico que executa uma emulação de um terminal de teletipo.
O shell é o programa que é executado dentro da janela do terminal. Ele recebe sua entrada e, dependendo do que você digitou, tenta interpretar e executar as instruções, passá-las para alguns dos outros utilitários que compõem o sistema operacional ou encontrar um script ou programa que corresponda ao que você digitou./ p>
RELACIONADO: Qual é a diferença entre Bash, Zsh e outros shells do Linux?
A linha de comando é onde você digita.É o prompt que o shell apresenta quando está aguardando que você digite algumas instruções.O termo “ linha de comando ”também é usado para se referir ao conteúdo real do que você digitou. Por exemplo, se você conversar com algum outro usuário de computador sobre uma dificuldade que você estava tentando fazer com que um programa seja executado, ele poderá perguntar a você: "Que linha de comando você usou? ”Eles não estão perguntando qual shell você estava usando;eles querem saber qual comando você digitou.
No total, eles se combinam para formar a interface de linha de comando (CLI).
Por que usar a linha de comando em 2019?
O CLI pode parecer retrógrado e confuso para aqueles que não estão familiarizados com ele. Certamente não há lugar em um sistema operacional moderno para uma maneira tão datada e nerd de usar um computador?Não desistimos disso décadas atrás quando janelas, ícones e mouses apareceram e ambientes gráficos de desktop com interfaces gráficas de usuário (GUIs) tornaram-se disponíveis?
Sim, a GUI existe há décadas.A primeira versão do Microsoft Windows foi lançada em 1985 e se tornou a norma PC desktop com o lançamento do Windows 3.0 em 1990. O Sistema X Window, usado no Unix e Linux, foi introduzido em 1984. Isso trouxe ambientes de desktop gráficos para o Unix e seus muitos derivados, clones e off-shoot.
Mas o lançamento do Unix é anterior a esses eventos por mais de uma década.E como não havia outra opção, tudo tinha que ser possível via linha de comando. Toda interação humana, toda configuração, todo uso do computador tinha que ser feito através do humilde teclado.
Então, ipso facto, o CLI pode fazer tudo. Uma GUI ainda não pode fazer tudo o que a CLI pode fazer.E mesmo para as partes que ele pode fazer, o CLI geralmente é mais rápido, mais flexível, pode ser roteirizado e escalável.
E há um padrão.
Eles são padronizados Graças ao POSIX
POSIX é um padrão para sistemas operacionais semelhantes a Unix — basicamente, tudoque não é o Windows.E até mesmo o Windows tem o Windows Subsystem para Linux (WSL.) Abra uma janela de terminal em qualquer sistema operacional compatível com POSIX (ou próximo de conformidade) e você se encontrará em um shell. Mesmo que o shell ou a distribuição forneçam suas próprias extensões e aprimoramentos, desde que eles forneçam a funcionalidade básica do POSIX, você poderá usá-la imediatamente.E seus scripts serão executados.
A linha de comando é o menor denominador comum. Aprenda a usá-lo e, independentemente da distribuição do Linux e do ambiente gráfico de área de trabalho, você poderá executar todas as tarefas de que precisa. Os diferentes desktops têm seu próprio jeito de fazer as coisas. Distribuições diferentes do Linux agrupam vários utilitários e programas.
Mas abra uma janela de terminal e você se sentirá em casa.
Os comandos são projetados para trabalhar juntos
Cada um dos comandos do Linux é projetado para fazer algo em particular e fazer algo bem.A filosofia de design subjacente é adicionar mais funcionalidade adicionando outro utilitário que pode ser canalizado ou encadeado junto com os existentes para alcançar o resultado desejado.
Isso é tão útil que a Microsoft se esforçou para adicionarsuporte para a linha de comando completa do Linux para o Windows 10!
Por exemplo, o comando sort é usado por outros comandos para classificar o texto em ordem alfabética.Não há necessidade de criar capacidade de classificação em cada um dos outros comandos do Linux. Geralmente, os aplicativos de GUI não permitem esse tipo de interoperabilidade colaborativa.
Veja o exemplo a seguir. Isso usa o comando ls para listar os arquivos no diretório atual. Os resultados são canalizados para o comando sort e classificados na quinta coluna de dados (que é o tamanho do arquivo).A lista classificada é então canalizada para o comando head, que por padrão lista as dez primeiras linhas de sua entrada.
ls -l |ordenar -5,5 |cabeça
Recebemos uma lista dos arquivos menores no diretório atual.
Alterando um comando & #8212; usando tail em vez de head — podemos obter uma lista dos dez maiores arquivos no diretório atual.
ls -l |ordenar -5,5 |tail
Isso nos dá a lista dos dez maiores arquivos, como esperado.
A saída dos comandos podeser redirecionado e capturado em arquivos.A saída regular (stdin) e as mensagens de erro (stderr) podem ser capturadas separadamente.
RELACIONADO: O que são stdin, stdout e stderr no Linux?
Os comandos podem incluir variáveis de ambiente.O comando a seguir listará o conteúdo do seu diretório pessoal:
ls $ HOME
Isso funciona de onde quer que você estejaárvore de diretórios.
Se a ideia de toda essa digitação ainda o atrapalhar, técnicas como a conclusão de guias podem reduzir a quantidade de digitação que você precisa fazer.
Scripts Enable Automation e Repeatability
Os seres humanos são propensos a erros.
Os scripts permitem padronizar um conjunto de instruções que você sabe que serão executadas da mesma maneira toda vez que oscript é executado. Isso traz consistência à manutenção do sistema. As verificações de segurança podem ser incorporadas nos scripts que permitem que o script determine se deve continuar. Isso elimina a necessidade de o usuário ter conhecimento suficiente para tomar a decisão.
Como você pode automatizar tarefas usando o cron no Linux e em outros sistemas semelhantes a Unix, tarefas longas, complicadas e repetitivas podem ser executadas. simplificado ou, pelo menos, descoberto uma vez e depois automatizado para o futuro.
Os scripts do PowerShell oferecem poder semelhante no Windows e você pode programá-los para serem executados no Agendador de Tarefas. Por que clicar em 50 opções diferentes toda vez que você configura um computador quando você pode executar um comando que muda tudo automaticamente?
O melhor dos dois mundos
Para tirar o melhor proveito do Linux & #8212; ou qualquer sistema operacional como um usuário avançado — você realmente precisa usar o CLI e a GUI.
A GUI é insuperável para o uso de aplicativos. Mesmo defensores de linha de comando obstinados precisam sair da janela do terminal e usar conjuntos de produtividade de escritório, ambientes de desenvolvimento e programas de manipulação gráfica de vez em quando.
Os viciados em linha de comando não odeiam a GUI. Eles apenas favorecem os benefícios do uso da CLI para as tarefas apropriadas. Para administração, a CLI ganha as mãos para baixo. Você pode usar a CLI para fazer alterações em um arquivo, um diretório, uma seleção de arquivos e diretórios ou alterações completamente globais com uma quantidade igual de esforço. Tentar fazer isso com a GUI geralmente requer ações repetitivas e repetidas de teclado e mouse, à medida que o número de objetos afetados aumenta.
A linha de comando oferece a maior fidelidade. Todas as opções de todos os comandos estão disponíveis para você.E muitos dos comandos do Linux têm muitas opções. Para dar apenas um exemplo, considere o comando lsof.Dê uma olhada em sua página de manual e considere como você agrupa isso em uma GUI.
Existem muitas opções para apresentar ao usuário em uma GUI eficaz. Seria esmagador, pouco atraente e desajeitado de usar.E esse é o completo oposto do que uma GUI pretende ser.
São cavalos para percursos.Não coíbe do cavalo CLI. Geralmente é o cavalo mais rápido e ágil. Ganhe suas esporas e você nunca se arrependerá.
Via: How to Geek
Nenhum comentário