Tag Archives: unix

Guia de comandos do VI

O editor VI é uma mão na roda para quem trabalha com Unix/Linux.
Abaixo alguns comandos muito úteis:

Executando o vi:
$ vi arquivo

Uma vez carregado, poderão ser executados os seguintes comandos dentro do vi.

Comandos básicos:
* :wq – Salva o arquivo e sai do editor
* :w nome_do_arquivo – Salva o arquivo corrente com o nome especificado
* :w! nome_do_arquivo – Salva o arquivo corrente no arquivo especificado
* :q – Sai do editor
* :q! – Sai do editor sem salvar as alterações realizadas

Comandos de inserção:
* i – Insere texto antes do cursor
* a – Insere texto depois do cursor
* r – Insere texto no início da linha onde se encontra o cursor
* A – Insere texto no final da linha onde se encontra o cursor
* o – Adiciona linha abaixo da linha atual
* O – Adiciona linha acima da linha atual

Comandos de movimentação:
* Ctrl+f – Move o cursor para a próxima tela
* Ctrl+b – Move o cursor para a tela anterior
* H – Move o cursor para a primeira linha da tela
* M – Move o cursor para o meio da tela
* L – Move o cursor para a última linha da tela
* h – Move o cursor um caractere a esquerda
* j – Move o cursor para a próxima linha
* k – Move o cursor para linha anterior
* l – Move o cursor um caractere a direita
* w – Move o cursor para o início da próxima palavra (Ignora a pontuação)
* W – Move o cursor para o início da próxima palavra (Não ignora a pontuação)
* b – Move o cursor para o início da palavra anterior (Ignora a pontuação)
* B – Move o cursor para o início da palavra anterior (Não ignora a pontuação)
* 0 – Move o cursor para o início da linha atual
* ^ – Move o cursor para o primeiro caractere não branco da linha atual
* $ – Move o cursor para o final da linha atual
* nG – Move o cursor para a linha n
* G – Move o cursor para a última linha do arquivo

Comandos de busca:
* /palavra – Busca pela palavra ou caractere em todo o texto
* ?palavra – Move o cursor para a ocorrência anterior da palavra
* n – Repete o último comando / ou ?
* N – Repete o último comando / ou ? , na direção reversa
* Ctrl+g – Mostra o nome do arquivo, o número da linha corrente e o total de linhas

Comandos de substituição e deleção:
* x – Deleta o caractere que esta sob o cursor
* dw – Deleta a palavra, da posição atual do cursor ate o final
* dd – Deleta a linha atual
* D – Deleta a linha a partir da posição atual do cursor ate o final
* rx – Substitui o caractere sob o cursor pelo especificado em x(é opcional indicar o caractere)
* Rx – Substitui a palavra sob o cursor pela palavra indicada em x
* u – Desfaz a última modificação
* U – Desfaz todas as modificações feitas na linha atual
* J – Une a linha corrente a próxima
* s:/Linux/Unix – Substitui a primeira ocorrência de “Linux” por “Unix”
* s:/Linux/Unix/g – Substitui a ocorrência de “Linux” por “Unix” em todo arquivo

==========
Fonte:Viva o Linux

Exemplos de uso de Tcpdump

Aqui veremos alguns comando a serem usados para sniffar sua rede:

Neste comando estamos sniffando a eth0 para um determinado host:

tcpdump -i eth0 -qtNnn host 0.0.0.0

Neste comando estamos sniffando a eth0 para uma determinada porta:

tcpdump -i eth0 -qtNnn port 110

Neste comando estamos sniffando a eth0 para recebimento de ping:

tcpdump -i eth0 -qtNnn icmp

Neste comando estamos sniffando a eth0 para um destino especificado:

tcpdump -i eth0 -qtNnn dst 0.0.0.0

Neste comando estamos sniffando a eth0 para uma origem especificada:

tcpdump -i eth0 -qtNnn src 0.0.0.0

O comando tcpdump possui vários complementos os quais veremos agora.

Neste comando repare que acrescentamos “Xxx”, esses parâmetros permitem que você abra o pacote que está sendo transmitido pelo host determinado:

tcpdump -i eth0 -qtNnnXxx host 0.0.0.0

Neste comando estamos sniffando um determinado host falando na porta 3389 (Terminal Service):

tcpdump -i eth0 -qtNnn host 0.0.0.0 and port 3389

No firewall ele nos permite realizarmos vários tipos de filtros e parâmetros, a seguir veremos um tcpdump com host, porta e exclusão de porta:

tcpdump -i eth0 -qtNnn host 0.0.0.0 and port 25 and not port 3389

Bom, também podemos realizar tcpdump em determinadas portas e excluindo alguns hosts. Ex:

tcpdump -i eth0 -qtNnn port 3389 and port 25 and port 110 and not port 443 and not port 3128 and not host 0.0.0.0 and not host 0.0.0.0

=========
Fonte: vivaolinux

Removendo linhas com comentários usando egrep

Caso você tenha a necessidade de analisar um dos vários arquivos de configuração que todo sysadmin tem que ler todos os dias, sabe como é complicado (e poluído) ler com os comentários que vem neles.
Para limpar esses comentários, temporariamente, basta executar:

# egrep -v “^#|^$” arquivoORIGINAL.txt > arquivoSEMCOMENTARIOS.txt

Com isso, você criará um novo arquivo sem as linhas com # e poderá ver somente as configurações.

Consertando o ^M em shell script

Uma boa dica para remover caracteres inválidos que aparecem no arquivo que foi lido/salvo em DOS/Windows e agora está sendo lido em Linux/Unix:

Antes, um pouco de história:
Para quem é dos tempos da máquina de escrever, para mudar de linha precisávamos trocar de linha (line feed) e posicionar o rolo da máquina na primeira posição (carriage return).
Em sistemas Unix, não existe o CR (carriage return), apenas a mudança de linha (LF ou Line Feed). Por esta razão, um arquivo do Unix lido em uma máquina DOS/Windows, é algo do tipo:

abcde
abcde
abcde
abcde

Ou seja, o carro não vai para a primeira posição da linha.
Da mesma forma, um arquivo gerado no windows e lido em alguma máquina *nix, fica como:

abcde^M
abcde^M
abcde^M
abcde^M

Fica um caractere estranho no final (o tal do CR e LF).

Para instalar um conversor de formatos “unix to dos” e vice-versa:
$ apt-get install tofrodos

Teremos os binários todos, unix2dos e dos2unix.

Utilizando os binários:

Unix para DOS
unix2dos arquivo.txt

DOS para Unix
dos2unix arquivo.txt

O comando todos converte para o formato de sistemas DOS/Windows.

==========
Fonte: Dicas-l