Você aprendeu um monte de operações de arquivo até agora em nossos artigos sobre terminal. Você aprendeu a criar novos arquivos, excluir os existentes e copiá-los e movê-los.
É hora de levá-lo para o próximo nível. Vamos ver como editar arquivos no terminal Linux.
Se você estiver escrevendo scripts shell bash, você pode usar os editores de texto GUI como o Gedit e executá-los no terminal.
Mas, às vezes, você vai encontrar-se em uma situação em que você tem que editar arquivos existentes no próprio terminal. Por exemplo, modificando arquivos de configuração localizados no diretório /etc
.
Como um usuário Linux desktop, você ainda pode usar editores gráficos para editar arquivos de configuração, mesmo como root. Vamos mostrá-lo a vocês mais tarde.
No entanto, saber como editar arquivos na linha de comando é melhor.
Editando arquivos no terminal Linux
Você pode usar o comando cat
se você só precisa adicionar algumas linhas na parte inferior de um arquivo existente. Mas para editar corretamente um arquivo, você precisará de um editor de texto adequado.
Simplesmente não há escassez de editores de texto baseados em terminal no Linux. Vi, Vim, Nano, Emacs são apenas alguns dos mais populares por aí.
Mas aqui está a coisa. Todos eles têm uma curva de aprendizado envolvida. Você não tem o conforto da interface de usuário. E não tem menus para interagir com o editor com o mouse.
Em vez disso, você tem que usar (e lembrar) atalhos de teclado.
O Nano é um bom ponto de partida para novos usuários. É o editor de texto padrão no Ubuntu e muitas outras distribuições Linux.
É claro que há uma curva de aprendizado, mas ela não é tão íngreme quanto a do Vim ou do Emacs. Ele continua exibindo os atalhos de teclado mais relevantes na parte inferior. Isso ajuda você a navegar mesmo se você não se lembrar do atalho exato.
Por esta razão, vamos cobrir o básico absoluto do editor Nano aqui. Você vai aprender tudo o que você precisa saber para começar a usar Nano para editar arquivos no terminal Linux.
Usando o editor Nano
Nano pode ser usado para editar arquivos de texto, arquivos de script, arquivos de programa etc. Lembre-se de que não é um processador de texto e não pode ser usado para editar documentos ou arquivos PDF. Para edição de texto simples de arquivos de configuração, scripts ou arquivos de texto, o Nano é uma ótima escolha.
Você deve ter o Nano instalado em seu sistema para seguir este tutorial. Vamos usar um arquivo de texto chamado agatha_complete.txt
. Consiste nos nomes de todos os livros de Agatha Christie sob seu nome. Você pode baixá-lo a partir deste link se você planeja seguir as etapas em seu sistema.
Explorando a interface do editor Nano
Abra o editor Nano com o seguinte comando:
nano
Você notará uma nova interface em seu terminal que se lê como GNU nano
e exibe Novo buffer
. Novo buffer
significa que Nano está trabalhando em um novo arquivo.
Isso equivale a abrir um novo arquivo não salvo em um editor de texto como o Gedit ou o Bloco de Notas.
O editor Nano mostra atalhos de teclado essenciais que você precisa usar para editar na parte inferior do editor. Dessa forma, você não ficará preso em sair do editor como Vim.
Quanto mais ampla for a janela do terminal, mais atalhos ela aparecerá.
Você deve se familiarizar com os símbolos no Nano.
- O símbolo do acento circunflexo (
^
) significa teclaCtrl
- O caractere
M
significa a teclaAlt
Quando ele diz ^X Sair
, significa usar as teclas Ctrl
+X
para sair do editor. Quando ele diz M-U Desfazer
, significa usar a tecla Alt
+U
para desfazer sua última ação. Mais uma coisa. Ele mostra os caracteres em maiúsculas no teclado. Mas isso não significa caráter maiúsculo. ^X
significa Ctrl
+ x
, não Ctrl
+ Shift
+ x
(para obter o X
maiúsculo).
Você também pode obter um documento de ajuda detalhado dentro do editor pressionando Ctrl
+G
.
Pressione Ctrl+G para abrir o menu de ajuda no Nano
Agora que você está um pouco familiarizado com a interface, saia do editor Nano com as teclas Ctrl
+X
. Como você não fez nenhuma alteração nesse arquivo não salvo aberto, não será solicitado que você o salve.
Incrível! Agora você tem algumas ideias sobre o editor. Na próxima seção, você aprenderá a criar e editar arquivos com o Nano.
Criando ou abrindo arquivos no Nano
Você pode abrir um arquivo para edição no Nano assim:
nano nome_do_arquivo
Se o arquivo não existir, ele ainda abrirá o editor e, quando você sair, você terá a opção de salvar o texto em nome_do_arquivo
.
Você também pode abrir um novo arquivo sem qualquer nome também (como novo documento) com Nano como este:
nano
Experimente. Em um terminal, basta escrever nano
e dar Enter
.
Você notou Novo buffer
? Como você não deu nenhum nome ao arquivo, isso indica que é um arquivo novo e não salvo no buffer de memória.
Você pode começar a escrever ou modificar o texto imediatamente no Nano. Não há modos de inserção especiais ou qualquer coisa desse tipo. É quase como usar um editor de texto normal, pelo menos para escrever e editar.
Se você fizer alguma alteração no arquivo (novo ou existente), notará que um asterisco (*
) aparece ao lado do nome do arquivo ou de Novo Buffer (ou seja, um arquivo novo e não salvo).
Asterisco significa que o arquivo tem alterações não salvas. Isso parece bom. Na próxima seção, você verá como salvar arquivos e sair da interface do editor Nano.
Salvando e saindo no Nano
Nada é salvo imediatamente no arquivo automaticamente, a menos que você o faça explicitamente. Quando você sair do editor usando o atalho de teclado Ctrl
+X
, você será perguntado se deseja salvar o arquivo.
S
para salvar o arquivo e sair do editorN
para descartar alteraçõesC
para cancelar o salvamento, mas continuar a editar
Se você optar por salvar o arquivo pressionando a tecla S
, será solicitado que você dê um nome ao arquivo. Nomeie-o meu_arquivo.txt
.
A extensão .txt
não é necessária porque o arquivo já é um arquivo de texto, mesmo se você não usar a extensão. No entanto, é uma boa prática manter a extensão do arquivo para compreensão. Digite o nome e pressione a tecla Enter
. Seu arquivo será salvo e você estará fora da interface do editor Nano. Você pode ver que o arquivo de texto foi criado no diretório atual.
Se você tem o hábito de usar Ctrl
+S
para salvar o arquivo em um editor de texto e inconscientemente pressiona isso no Nano, nada acontece. Por que "nada acontece" é importante? Porque se você pressionar Ctrl
+S
em um terminal Linux, ele congela a tela de saída e você não pode digitar ou fazer nada. Você pode voltar deste "terminal congelado" pressionando Ctrl
+Q
.
Executando uma operação de "salvar como" no Nano
No Gedit ou no Bloco de Notas, você obtém a opção "salvar como" para salvar as alterações feitas em um arquivo existente como um novo arquivo. Dessa forma, os arquivos originais permanecem inalterados e você cria um novo arquivo com o texto modificado.
Você pode fazer isso no editor Nano também e o bom é que você não precisa se lembrar de outro atalho de teclado. Você pode usar as mesmas teclas Ctrl
+X
que você usou para salvar e sair.
Vamos ver isso em ação. Abra o arquivo de exemplo que você havia baixado anteriormente.
nano agatha_complete.txt
Se você não fizer nenhuma alteração, Ctrl
+X
simplesmente fechará o editor. Você não quer isso, não é?
Então, basta pressionar a tecla Enter
e, em seguida, Backspace
. Isso irá inserir uma nova linha e, em seguida, excluí-lo também. Dessa forma, nada no arquivo de texto é alterado e, no entanto, Nano irá vê-lo como um arquivo modificado.
Se você pressionar Ctrl
+X
e pressionar S
para confirmar o salvamento, você chegará à tela onde ele mostra o nome do arquivo. O que você pode fazer é alterar o nome do arquivo aqui, pressionando a tecla backspace e digitando um novo nome.
Ele pedirá que você confirme salvá-lo com um nome diferente. Pressione S
para confirmar esta decisão.
Nomeamos aqui agatha_complete.back
como uma indicação de que é um "backup" de um arquivo de mesmo nome. É só por conveniência. Não há nenhum significado real por trás da extensão .back
.
Então, você aprendeu a salvar arquivos com Nano nesta lição. Na próxima seção, você aprenderá a se mover em torno de um arquivo de texto.
Movendo-se em um arquivo
Abra o arquivo agatha_complete.txt
com o Nano. Você sabe como abrir arquivos com Nano editor, certo?
nano agatha_complete.txt
Agora você tem um arquivo de texto com várias linhas. Como você alterna para outras linhas ou para a próxima página ou para o final da linha?
Os cliques do mouse não funcionam aqui. Use as setas para mover para cima e para baixo, para a esquerda e para a direita.
Você pode usar a tecla Home
ou Ctrl
+A
para mover para o início de uma linha e a tecla End
ou Ctrl
+E
para mover para o final de uma linha. As teclas Ctrl
+Y
/Page Up
e Ctrl
+V
/Page Down
podem ser usadas para rolar por páginas.
- Use as setas para se movimentar
- Use
Ctrl
+A
ouHome
para ir para o início de uma linha - Use
Ctrl
+E
ouEnd
para ir para o final de uma linha - Use
Ctrl
+Y
ouPage Up
para ir para cima por uma página - Use
Ctrl
+V
ouPage Down
para ir para baixo por uma página
Você não fez nenhuma alteração no arquivo. Saia dele.
Agora, abra o mesmo arquivo novamente, mas usando este comando:
nano -l agatha_complete.txt
Você notou algo diferente? A opção -l
exibe os números de linha no lado esquerdo.
Por que eu mostrei isso para você? Porque eu quero que você aprenda a ir para uma linha específica agora. Para fazer isso, use Ctrl
+_
(sublinhado) combinação de teclas.
As opções da Ajuda são alteradas na parte inferior. Essa é a beleza do Nano. Se você escolher um atalho de teclado especial, ele começará a mostrar as opções que podem ser usadas com essa combinação de teclas. Na imagem acima, você pode inserir um número de linha ou coluna. Ao mesmo tempo, mostra que você pode digitar Ctrl
+Y
para ir para a primeira linha do arquivo (é diferente do Ctrl
+Y
normal para mover uma página para cima).
Usando Ctrl
+T
na mesma tela, você pode ir para um determinado texto. Isso é quase como procurar um texto específico.
E isso nos leva ao tema da próxima seção, que é sobre pesquisar e substituir.
Pesquisaando e substituindo
Você ainda tem o arquivo de texto de exemplo aberto, certo? Caso contrário, abra-o novamente. Vamos como procurar texto e substituí-lo por outra coisa.
Se você quiser pesquisar um determinado texto, use Ctrl
+W
e, em seguida, digite o termo que deseja pesquisar e pressione Enter
. O cursor irá passar para a primeira partida. Para ir para a próxima partida, use as teclas Alt
+W
.
Por padrão, a pesquisa não diferencia maiúsculas de minúsculas. Você pode executar uma pesquisa que diferencia maiúsculas de minúsculas pressionando Alt
+C
quando estiver prestes a executar uma pesquisa.
Mais uma vez, olhe para a parte inferior para as opções que podem ser usadas. Observe também que ele mostra o último termo pesquisado entre colchetes.
Da mesma forma, você também pode usar regex para os termos de pesquisa pressionando Alt
+R
.
E por último, use Ctrl
+C
para sair do modo de pesquisa.
Se você quiser substituir o termo pesquisado, use Ctr
+\
e, em seguida, digite o termo de pesquisa e pressione a tecla enter.
Em seguida, ele perguntará o termo pelo qual você deseja substituir os itens pesquisados.
O cursor se moverá para a primeira correspondência e Nano pedirá sua conformação para substituir o texto correspondente. Use S
ou N
para confirmar ou negar, respectivamente. Usar S
ou N
passará para a próxima partida. Você também pode usar T
para substituir todas as correspondências.
No texto acima, substituí a segunda ocorrência do termo Murder
por Marriage
e, em seguida, ele pergunta se quero substituir a próxima ocorrência também.
Use Ctrl
+C
para interromper a pesquisa e substituir.
Você fez algumas alterações no arquivo de texto nesta lição. Mas não há necessidade de salvar essas mudanças. Pressione Ctrl
+X
para sair, mas não vá para a opção salvar.
Na próxima seção, você aprenderá sobre recortar, copiar e colar.
Recortando, copiando e colando texto
Abra o arquivo de texto de exemplo primeiro.
Se você não quiser gastar muito tempo lembrando dos atalhos, use o mouse. Selecione um texto com o mouse e use o menu do botão direito do mouse para copiar o texto. Você também pode usar o atalho de teclado no Ubuntu Ctrl
+Shift
+C
. Da mesma forma, você pode usar o botão direito do mouse e selecionar colar no menu ou usar a combinação de teclas Ctrl
+Shift
+V
.
Nano também fornece seus próprios atalhos para cortar e colar texto, mas isso pode se tornar confuso para iniciantes.
Mova o cursor para o início do texto que você deseja copiar. Pressione Alt
+A
para definir um marcador. Agora use as teclas de seta para realçar a seleção.
Depois de selecionar o texto desejado, você pode tecla Alt
+6
para copiar o texto selecionado ou usar Ctrl
+K
para cortar o texto selecionado. Use Ctrl
+6
para cancelar a seleção.
Depois de copiar ou cortar o texto selecionado, você pode usar Ctrl
+U
para colá-lo.
Se você não quiser continuar selecionando o texto ou copiando-o, use Alt
+A
novamente para desdefinir a marca.
Para lembrar:
- Você pode usar
Ctrl
+Shift
+C
para copiar eCtrl
+Shift
+V
para colar o conteúdo da área de transferência na maioria dos terminais Linux. - Como alternativa, use
Alt
+A
para definir o marcador, mova a seleção usando a tecla de seta e, em seguida, useAlt
+6
para copiar,Ctrl
+K
para cortar eCtrl
+6
para cancelar. - Use
Ctrl
+U
para colar o texto copiado ou cortado.
Agora você já sabe sobre copiar e colar. A próxima seção ensinará uma coisa ou duas sobre como excluir texto e linhas no Nano.
Excluindo texto ou linhas
Não há nenhuma opção dedicada para exclusão no Nano. Você pode usar a tecla Backspace
ou Delete
para excluir um caractere de cada vez. Pressione-os repetidamente ou segure-os para excluir vários caracteres. Assim como em qualquer editor de texto comum.
Você também pode usar as teclas Ctrl
+K
que cortam a linha inteira. Se você não colá-lo em nenhum lugar, é tão bom quanto excluir uma linha.
Se você quiser excluir várias linhas, você pode usar Ctrl
+ K
em todas elas uma por uma.
Outra opção é usar o marcador (Ctrl
+A
). Defina o marcador e mova a seta para selecionar uma parte do texto. Use Ctrl
+K
para cortar o texto. Não há necessidade de colá-lo e o texto selecionado será excluído (de certa forma).
Desfazendo e refazendo
Cortou a linha errada? Colou a seleção de texto errada? É fácil cometer esses erros bobos e é fácil corrigir esses erros bobos.
Você pode desfazer e refazer suas últimas ações usando:
Alt
+U
: DesfazerAlt
+E
: Refazer
Você pode repetir essas combinações de teclas para desfazer ou refazer várias vezes.
Quase o fim...
Se você achar Nano esmagador, você deve tentar Vim ou Emacs. Você vai começar a gostar do Nano.
Não importa o quão amigável para iniciantes o Nano seja, algumas pessoas podem achar a ideia de editar arquivos importantes no terminal intimidante.
Se você estiver usando a área de trabalho Linux onde você pode acessar um editor de GUI, você pode usá-lo para editar esses arquivos importantes como root.
Digamos, você tem o Gedit instalado em seu sistema e você tem que editar o arquivo de configuração SSH como root. Você pode executar o Gedit como root a partir do terminal da seguinte forma:
sudo gedit /etc/ssh/ssh_config
Ele abrirá uma instância do Gedit como root. O comando continua em execução no terminal. Faça as alterações e salve o arquivo. Ele mostrará mensagens de aviso quando você salvar e fechar o Gedit.
Deixe-nos saber na seção de comentários se você encontrar algum problema.