Como começar a usar o terminal para ser mais produtivo

Como desenvolvedores, o terminal pode ser nosso segundo lar.

No entanto, não podemos usá-lo até que aprendamos como e precisamos praticar o uso para aprender, realmente - é um empecilho!

Espero que esta introdução resolva esse quebra-cabeça para você. Quero ajudá-lo a começar a usar o terminal imediatamente.

Começando

Abordarei o básico primeiro, portanto, se você sabe todas as coisas neste artigo, fique atento para os próximos, onde abordarei tópicos mais avançados.

Com isso cuidado, vou começar do início. Se você estiver no Ubuntu, tudo que você precisa fazer para abrir seu terminal é pressionar ctrl + alt +. Emum Mac, você deve pressionar cmd + barra de espaço, começar a digitar terminal e pressionar Enter quando a opção aparecer.

Em ambos os casos, você deve ver um fundo escuro com seu nome de usuário seguido do nome do seu computador (no Linux) ou a ordem inversa (no Mac).

Eu recomendo fortemente que você abra seu próprio terminal e experimente esses comandos em um diretório vazio, para ver por si mesmo e pegar o jeito deles.

Você verá um prompt convidando você a digitar comandos. Para inserir um comando, basta digitá-lo e pressionar Enter. Alguns comandos de navegação são:

cd: Movendo seu diretório de trabalho.

cd 

Isso fará com que seu terminal aponte para um diretório diferente, a partir do qual você pode executar novos comandos. Por exemplo, se você estiver em uma pasta chamada animais com três pastas , gatos , cachorros ,e tartarugas , você correria

cd turtles

para mover para esse diretório. Para mover um nível acima do diretório atual (por exemplo, voltando para animais de tartarugas ), pressione

cd ..

mkdir e toque em: Criação de pastas ou arquivos.

Se você precisar criar um novo diretório vazio, tudo o que você precisa fazer é executar

mkdir 

Enquanto corria

touch 

criará um arquivo vazio no diretório de trabalho atual, com o primeiro argumento como seu nome.

Se outro arquivo com o nome fornecido já existir, isso só atualizará a data da última atualização do arquivo. Ele não fará nenhuma alteração em seu conteúdo.

'Mas eu poderia saber se o arquivo existe ?!' Você pergunta. Bem, estou feliz que você esteja perguntando.

ls: Veja o conteúdo de um diretório.

O comando ls lista o nome de cada arquivo e diretório dentro do diretório de trabalho atual, em ordem alfabética. Você pode passar alguns argumentos usando travessões, como este:

ls -a -l

Nesse caso, o argumento -a faz com que ls mostre arquivos invisíveis. O comando -l faz a saída parecer uma lista. Ele exibe uma linha para cada item, com alguns dados extras como o tamanho de cada arquivo ou sua data de criação.

Um dos meus argumentos favoritos para ls é -R, que chama recursivamente ls em cada subdiretório listado para uma rápida olhada em um repositório ou árvore de arquivos.

Observe que, para todos os comandos, os argumentos podem realmente ser combinados após um único traço:

ls -alR

Agora eu ouço você perguntando 'Como no mundo vou me lembrar de todos esses argumentos e opções? Todos os comandos têm tantos recursos malucos? '

Mas não se preocupe - nós ajudamos você.

homem: Nunca pare de aprender!

Se você já trabalhou no Stack Overflow ou no Reddit, provavelmente já se deparou com a frase 'ler as páginas do manual' usada educacionalmente ou como um insulto.

Estou aqui pela primeira vez.

Tente correr

man 

Ele exibirá a página de manual desse comando - documentação oficial, com todos os seus argumentos e usos possíveis. A maioria de nós o usa quando tem certeza de que um determinado programa fez algo, mas não conseguimos lembrar qual sinalizador fez isso. Também é muito bom chamar man em um comando na primeira vez que você o usa (por exemplo, se aparecer em um resultado do google), para aprender um pouco mais sobre ele e talvez encontrar melhores maneiras de invocá-lo. Para fechar uma página de homem, simplesmente pressione Q .

head and tail, cat and less: Leia o conteúdo de um arquivo.

Chamar head ou tail em um arquivo mostrará suas primeiras ou últimas 10 linhas, respectivamente.

Alguns argumentos legais com os quais você pode chamá-lo são:

  • -n >: exibe várias linhas em vez do padrão 10
  • -f (para cauda ): Mostra as linhas em tempo real e não para (perfeito para manter as guias em um arquivo de log quando você faz SSH em um servidor)

Chamar cat simplesmente exibirá o conteúdo de um arquivo. Certifique-se de que está usando em arquivos de texto reais, ou você verá algumas coisas trippy.

Se você chamar o gato em uma grande (ou mesmo em larga ish , para ser honesto) arquivo, você provavelmente vai achar que é muito estranho para manter a rolagem para cima e para baixo, olhando para as linhas relevantes. Na verdade, há uma maneira mais conveniente de fazer isso: menos comando.

less irá mostrar menos de um arquivo carregando seu conteúdo em um buffer. Você pode rolar o arquivo com as teclas de seta em vez de usar a roda do mouse / touchpad, que é muito mais confortável. Você também pode pressionar /, digitar algo e pressionar Enter para pesquisar o arquivo (como usar ctrl + f ).

Para sair do modo menos , basta pressionar Q.

cp e mv: Copiar, recortar e colar.

cp (copiar) e mv (mover)são os equivalentes do bash para copiar e cortar, respectivamente. Você pode usá-los assim:

cp 

Para copiar o (s) arquivo (s) da origem para o destino.

A fonte pode ser um arquivo ou um conjunto de arquivos. Para selecionar mais de um arquivo, você pode aproveitar o caractere curinga do bash: * . Este caractere corresponderá a qualquer string, mesmo uma vazia.

Por exemplo, este comando irá copiar todos os arquivos da pasta alguma_pasta para a pasta alguma_outra_pasta , situada um nível acima no sistema de arquivos.

cp some_folder/* ../some_other_folder

Mas se quiséssemos apenas mover os arquivos .txt para um diretório chamado textos, usaríamos:

cp *.txt texts/

uma vez que * corresponde a qualquer string. Ee estão reforçando sua terminação em .txt. (por exemplo, * .txt corresponde a filename.txt, já que * corresponde a filename, mas não filename.xtt, pois embora * corresponda ao nome inteiro, não há nada que corresponda a .txt).

O destino pode ser o caminho de um arquivo (sobrescrevendo o arquivo atual nesse caminho, se existir, ou criando um novo caso contrário) se a origem for um único arquivo, ou um nome de diretório se você deseja copiar / mover muitos arquivos.

rm: Excluindo arquivos e diretórios.

O oposto de touch, rm exclui um arquivo ou diretório.

Usando-o em sua forma padrão

rm file_name

funcionará ao excluir um arquivo, mas gerará um erro ao excluir um diretório. Isso nos impede de excluir arquivos importantes em um diretório, ou um diretório inteiro pensando que é apenas um arquivo.

Para contornar isso, se você se sentir corajoso, basta adicionar -r, para excluir recursivamente todos os arquivos em um diretório até que esteja vazio, antes de excluí-lo como algum tipo de deletor serial. Se você só deseja excluir os diretórios vazios, use -d em vez disso.

Observe que você sempre pode usar o caractere curinga (*) para excluir muitos arquivos ou diretórios em um único comando. Por exemplo, ligando

rm *.txt

remove todos os arquivos de texto do diretório de trabalho atual.

O fim ... por enquanto.

Uau, isso foi uma introdução. Agora você está familiarizado com os comandos mais comuns que usará em sua vida diária de programação.

Há muitas coisas que ainda não cobri. Pretendo fazer um acompanhamento com mais casos de uso, mais comandos e mais problemas reais para resolver.

Enquanto preparo o próximo artigo, gostaria de incentivá-lo a experimentar esses comandos por conta própria. Veja quais economizam seu tempo e se acostume com toda essa coisa de terminal. Marque este artigo como favorito e use-o como referência. Não vou contar a ninguém.

Eu prometo a você, depois de um tempo você começará a ver por que vale a pena. (Eu sei que levou -me um tempo). Eventualmente, você apenas abrirá o terminal instintivamente toda vez que começar a fazer algo.

Espero que você tenha achado alguma desta introdução útil e, se for o caso, por favor, me avise! Eu valorizo ​​muito o feedback dos meus leitores. Este é o principal motivo pelo qual estou escrevendo, então diga-me se alguma parte foi difícil de entender, alguns comandos parecem inúteis ou meu tutorial é simplesmente muito chato. Também me diga se alguma parte foi interessante!

A parte 2 já está disponível .

Siga-me para mais tutoriais de programação, dicas e truques.

Você também pode ler meus artigos em www.datastuff.tech