2.4 Editando arquivos

Lição 19/50 | Tempo de Estudo: 20 Min

Em seguida, vamos dar uma olhada na edição de arquivos em um ambiente de shell de comando. Esta é uma habilidade extremamente importante do Linux, especialmente durante um teste de penetração se você tiver acesso a um sistema operacional semelhante ao Unix.

Embora existam editores de texto como o gedit e o leafpad  que podem ser mais atraentes visualmente devido
à sua interface gráfica de usuário, vamos nos concentrar em editores de terminal baseados em texto, que enfatizam velocidade e versatilidade.

Todos parecem ter uma preferência quando se trata de editores de texto, mas abordaremos o uso básico para as duas opções mais comuns: nano e vi.


nano

O nano é um dos editores de texto mais simples de usar. Para abrir um arquivo e começar a editar, basta executar o nano, passando um nome de arquivo como argumento opcional:

Uma vez que o arquivo é aberto, podemos imediatamente começar a fazer quaisquer alterações necessárias no arquivo como faríamos em um editor gráfico. Conforme mostrado abaixo , o menu de comando está localizado na parte inferior da tela. Alguns dos comandos mais usados ​​para memorizar incluem:

 - CTRL + o: para escrever alterações no arquivo
- CTRL + K: para cortar a linha atual
- CTRL + U: para desfazer o corte  e colar na posição do cursor
- CTRL + W: para pesquisar
- CTRL + X: para sair.

vi

O vi é o editor de texto padrão do Unix/Linux. O vim é a abreviação de vi improved, ou seja, “vi aprimorado” O vi é um dos poucos programas que estão presentes em todas as distribuições Linux. É derivado de editores antigos do Unix

ed -> ex -> vi -> vim

Para iniciar o vim:


vi arquivo


- Se o arquivo existir, o arquivo será aberto e o seu conteúdo exibido.
- Se o arquivo não existir, o vi cria o arquivo.

Modos de trabalho do vim


- Modo de comando : Pode-se movimentar o cursor, alterar, deletar, linkar, inserir, procurar
- Modo de inserção : Inseri novos textos. Para retornar para o modo de comando aperte o “esc”.
- Modo de linha de comando : Realiza configurações, sair, salvar, procurar e sobrescrever.

Salvando, saindo e editando no VIM

Para entrar no modo de linha de comando , deve-se pressionar a tecla ESC.

- Sair  :wq  :q ou :q!
- Salvar :w :e!

Forçando alterações

- Sair :wq!
- Salvar :w!

Modo visual e de seleção

É possível marcar um trecho do texto, usando as teclas de movimentação. Entra-se nesse modo quando, no modo de comando, são pressionadas as teclas shift + v (visual line), para selecionar linhas. Pressionando as teclas ctrl +v (visual block) pode selecionar colunas de texto.

Opções durante a abertura do arquivo


- Abrir um arquivo sem modificá-lo

vim -m nome_do_arquivo


- Abrir um arquivo sem modificá-lo, mas pode ser sobrescrito com :w!

vim -R nome_do_arquivo


- Não usa um arquivo de swap para backup

vim -n nome_do_arquivo


- Recupera dados de um arquivo de swap após um crash

vim -r nome_do_arquivo


- Encriptar um arquivo

vim -x nome_do_arquivo


Movendo cursor por caractere

h esquerda
j abaixo
k acima
l direita

Movendo cursos por palavras

w : move o cursor uma palavra para direita
B : move o cursor uma palavra para esquerda

Movendo cursor

^ : move o cursor para o inicio da linha
$ : move o cursor para o fim da linha
1G : Leva o cursor para o inicio do arquivo
G : Leva o cursor para o fim do arquivo

Alterando, deletando e linkando



Colando

Use p ou P para inserir (colar) copiar dados.

Para dados orientados em linhas

p : insere os dados abaixo da linha corrente
P : insere os dados acima da linha corrente

Para dados orientado a caracteres:

p : insere os dados após o cursor
P: insere os dados antes do cursor

Desfazendo alterações

u desfaz as alterações mais recentes.
U desfaz todas as alterações na linha corrente desde que o cursor.
ctrl + r : refaz as alterações mais recentes desfeitas (restaurar).

Algumas coisas legais


- Numerando as linhas

:set number

Ou

: set nu



- Tirando numeração

:set nonumber

Ou

:set nonu



- Pesquisando por palavras

/^z
/smtp



- Realizando substituição

:% s/VAR/var/g


- Outra substituição

:s/a/b/g



- Inserindo texto em varias linhas ( insere um comentário das linhas 5 a 10!)

:5,10s/^/#/


- Comenta todo o arquivo

:.;$s/^/#/


- Apaga a primeira letra de cada linha

:%s/^.//


- Salvando linhas em um arquivo

:14,23 w extract


- Executar comandos dentro do vi

:!date



Nesse caso abre-se outra tela , você vê a saída do comando, e volta para editar. Agora o próximo comando, a saída é colocada dentro do próprio arquivo que está editando.


r!date


Preparando o VIM



vim /etc/vim/vimrc +$


Inserir no final:

set cursorline
set cursorcolumn
set number
set hlsearch


Descrição das opções:

- vimrc: Arquivo de parametrização do vim;
- cursorline: Exibe uma linha onde o cursor estiver posicionado;
- cursorcolumn: Exibe uma coluna onde o cursor estiver posicionado;
- number: Exibe o número das linhas.
- hlsearch: Deixa o texto casado iluminado.

André Albuquerque

André Albuquerque

Designer de Produto
4.00
Perfil

Sessões de Aula

1- 3.1 Netcat 2- 4.1 Introdução a comandos de rede no Linux 3- 5.1 Shell Script 4- Temas abordados 5- Temas Abordados 6- 1.1 Instalação do Linux 7- 1.3 Atividades Pós-Instalação 8- 1.4 Usuário root e Usuário comum 9- 1.2 Utilizando LVM 10- 1.5 Sistemas de Arquivos 11- 1.6 Comandos Básicos 12- 1.7 Procurando Arquivos 13- 1.8 Gerenciando Serviços no Linux 14- 1.9 Encontrando, instalando e removendo tools 15- 2.1 Ambiente do Shell 16- 2.2 Piping e redirecionamento 17- 2.3 Procurando texto e manipulação 18- 2.4 Editando arquivos 19- 2.5 Comparando arquivos 20- 2.6 Gerenciando processos 21- 2.7 Monitorando arquivos e comandos 22- 2.8 Baixando arquivos 23- Slide Módulo 2 24- 3.2 Socat 25- Atuar com Cyber Security 26- 6.1 Uma Introdução ao Docker 27- 4.2 Introdução a Análise de Rede 28- 4.3 Networking 29- 4.4 Portas e Serviços 30- 4.5 Análise com Wireshark 31- 4.6 Análise com tcpdump 32- 5.2 Variáveis 33- 5.3 Argumentos 34- 5.4 Lendo Entrada 35- 5.5 Estruturas condicionais if, else e elif 36- 5. 6 Loops 37- 5.7 Criando Menus 38- 5. 8 Funções 39- Exemplos Práticos 40- 6.2 Instalação do Docker no Windows e Linux. 41- 6.3 Imagens e Containers 42- 6.4 Mais Prática - Gerenciando Containers 43- 6.5 Criar conta/usuário no Docker Hub 44- 6.6 Docker Cleanup - Limpando a Casa 45- 6.7 Volumes Docker 46- 6.8 Redes no Docker - Isolamento e Segurança 47- 4.0 🔒 Fundamentos de Redes para Cybersecurity 48- 🎯 EXERCÍCIOS PRÁTICOS 49- 🎯 Wireshark - EXERCÍCIOS PRÁTICOS 50- 🎯 TcpDump- EXERCÍCIOS PRÁTICOS