Pesquisa de site

Série RHCSA: Editando arquivos de texto com Nano e Vim/Analisando texto com grep e regexps - Parte 4


Todo administrador de sistema precisa lidar com arquivos de texto como parte de suas responsabilidades diárias. Isso inclui a edição de arquivos existentes (provavelmente arquivos de configuração) ou a criação de novos. Foi dito que se você quiser iniciar uma guerra santa no mundo Linux, você pode perguntar aos administradores de sistemas qual é o seu editor de texto favorito e por quê. Não faremos isso neste artigo, mas apresentaremos algumas dicas que serão úteis para usar dois dos editores de texto mais utilizados no RHEL 7: nano (devido à sua simplicidade e facilidade de uso, principalmente para novos usuários) e vi/m (pelas suas diversas funcionalidades que o convertem em mais que um simples editor). Tenho certeza que você encontrará muitos outros motivos para usar um ou outro, ou talvez algum outro editor como emacs ou pico. Depende inteiramente de você.

Editando arquivos com Nano Editor

Para iniciar o nano, você pode simplesmente digitar nano no prompt de comando, opcionalmente seguido por um nome do arquivo (neste caso, se o arquivo existir , ele será aberto no modo de edição). Caso o arquivo não exista, ou se omitirmos o nome do arquivo, o nano também será aberto em modo de edição, mas apresentará uma tela em branco para começarmos a digitar:

Como você pode ver na imagem anterior, nano exibe na parte inferior da tela diversas funções que estão disponíveis através dos atalhos indicados (^, também conhecido como acento circunflexo, indica o ^, também conhecido como acento circunflexo, indica o ^ tecla >Ctrl). Para citar alguns deles:

  1. Ctrl + G: abre o menu de ajuda com uma lista completa de funções e descrições:Ctrl + X: sai do arquivo atual. Se as alterações não forem salvas, elas serão descartadas.
  2. Ctrl + R: permite escolher um arquivo para inserir seu conteúdo no arquivo atual, especificando um caminho completo.

  1. Ctrl + O: salva as alterações feitas em um arquivo. Isso permitirá que você salve o arquivo com o mesmo nome ou com um nome diferente. Em seguida, pressione Enter para confirmar.

  1. Ctrl + X: sai do arquivo atual. Se as alterações não forem salvas, elas serão descartadas.
  2. Ctrl + R: permite escolher um arquivo para inserir seu conteúdo no arquivo atual, especificando um caminho completo.

irá inserir o conteúdo de /etc/passwd no arquivo atual.

  1. Ctrl + K: corta a linha atual.
  2. Ctrl + U: colar.
  3. Ctrl + C: cancela a operação atual e leva você à tela anterior.

Para navegar facilmente pelo arquivo aberto, o nano oferece os seguintes recursos:

  1. Ctrl + F e Ctrl + B movem o cursor para frente ou para trás, enquanto Ctrl + P e Ctrl + N movem-no para cima ou para baixo uma linha por vez, respectivamente, assim como as teclas de seta.
  2. Ctrl + espaço e Alt + espaço movem o cursor para frente e para trás, uma palavra por vez.

Finalmente,

  1. Ctrl + _ (sublinhado) e depois inserir X,Y o levará precisamente à Linha X, coluna Y, se desejar colocar o cursor em um local específico do documento.

O exemplo acima levará você para a linha 15, coluna 14 do documento atual.

Se você se lembra dos primeiros dias do Linux, especialmente se veio do Windows, provavelmente concordará que começar com o nano é a melhor opção para um novo usuário.

Editando arquivos com o Editor Vim

Vim é uma versão melhorada do vi, um famoso editor de texto no Linux que está disponível em todos os sistemas *nix compatíveis com POSIX, como o RHEL 7. Se você tiver a chance e pode instalar o vim, vá em frente; caso contrário, a maioria (se não todas) das dicas fornecidas neste artigo também deverão funcionar.

Uma das características distintivas do vim são os diferentes modos em que ele opera:

  1. O modo de comando permitirá que você navegue pelo arquivo e insira comandos, que são combinações breves e que diferenciam maiúsculas de minúsculas de uma ou mais letras. Se precisar repetir um deles um certo número de vezes, você pode prefixá-lo com um número (há apenas algumas exceções a esta regra). Por exemplo, yy (ou Y, abreviação de yank) copia toda a linha atual, enquanto 4yy (ou 4Y) copia toda a linha atual junto com as próximas três linhas (4 linhas no total).
  2. No modo ex, você pode manipular arquivos (incluindo salvar um arquivo atual e executar programas ou comandos externos). Para entrar no modo ex, devemos digitar dois pontos (:) começando no modo de comando (ou em outras palavras, Esc + :), seguido diretamente pelo nome do comando ex-mode que você deseja usar.
  3. No modo de inserção, que é acessado digitando a letra i, simplesmente inserimos o texto. A maioria das teclas digitadas resulta no aparecimento de texto na tela.
  4. Sempre podemos entrar no modo de comando (independentemente do modo em que estamos trabalhando) pressionando a tecla Esc.

Vamos ver como podemos realizar as mesmas operações que descrevemos para o nano na seção anterior, mas agora com o vim. Não se esqueça de apertar a tecla Enter para confirmar o comando vim!

Para acessar o manual completo do vim na linha de comando, digite :help enquanto estiver no modo de comando e pressione Enter:

A seção superior apresenta um índice de conteúdo, com seções definidas dedicadas a tópicos específicos sobre o vim. Para navegar até uma seção, coloque o cursor sobre ela e pressione Ctrl + ] (fechando colchetes). Observe que a seção inferior exibe o arquivo atual.

1. Para salvar as alterações feitas em um arquivo, execute qualquer um dos seguintes comandos no modo de comando e isso resolverá o problema:

:wq!
:x!
ZZ (yes, double Z without the colon at the beginning)

2. Para sair do descarte de alterações, use :q!. Este comando também permitirá que você saia do menu de ajuda descrito acima e retorne ao arquivo atual no modo de comando.

3. Corte N número de linhas: digite Ndd enquanto estiver no modo de comando.

4. Copie o número M de linhas: digite Myy enquanto estiver no modo de comando.

5. Cole linhas que foram previamente recortadas ou copiadas: pressione a tecla P enquanto estiver no modo de comando.

6. Para inserir o conteúdo de outro arquivo no atual:

:r filename

Por exemplo, para inserir o conteúdo de /etc/fstab, faça:

7. Para inserir a saída de um comando no documento atual:

:r! command

Por exemplo, para inserir a data e a hora na linha abaixo da posição atual do cursor:

Em outro artigo para o qual escrevi (Parte 2 da série LFCS), expliquei com mais detalhes os atalhos de teclado e funções disponíveis no vim. Você pode consultar esse tutorial para obter mais exemplos de como usar este poderoso editor de texto.