Invertendo uma string no shell

Comando simples mais (in)útil: rev. Com ele é possível inverter uma string (ou as linhas de um arquivo) passados para ele, exemplo:

$ echo 123 | rev
321

Outro exemplo:

$ cat teste
Jose Morelli Neto
$ rev teste
oteN illeroM esoJ

Se alguem descobrir uma boa utilidade para este comando, por favor me avise ;)

e-mail com anexo a partir da linha de comando

As vezes precisamos enviar um arquivo a partir do shell de um servidor para o e-mail de algum usuário. ?? comum acessarmos um FTP do servidor e copiar o arquivo ou enviar o arquivo como conteúdo do e-mail (e não anexo). Esses tempos descobri um utilitário que me encantou: o mpack. Sua principal função é empacotar um arquivo em formato MIME.Segue um exemplo para enviar um e-mail com o arquvio /etc/hosts como anexo:

# mpack -s "Assunto qualquer" /etc/hosts usuario@email.com

?? possível enviar arquivos binários também, basta apontar o local. Caso você queira adicionar alguma descrição ao arquivo, basta utilizar o parâmetro -d [arquivo_descricao]

Também é possível apenas empacotar (ou desempacotar) o arquivo em formato MIME. No exemplo abaixo estamos codificando o arquivo /bin/ls no arquivo arquivo_mime
# mpack -s "qualquer coisa" -o arquivo_mime /bin/ls

E agora para desempacotar:

# munpack -s "qualquer coisa" arquivo_mime

Assim o arquivo ls será descomprimido no diretório raiz.

Dig, consultando DNS

Para quem não conhece, o Dig (Domain Information Groper) é um utilitário para consultas a DNS. Ele é normalmente utilizado para identificar problemas de DNS por ser uma ferramenta flexivel, fácil de utilizar e permitir um retorno das pesquisas de fácil compreensão.

o comando básico é:

# dig @servidor nome tipo

onde:

  • servidor: é o endereço IP ou nome do servidor smtp que será consultado;
  • nome: é o nome domínio que estamos consultando;
  • tipo: é o tipo de consulta. Pode ser MX (serviço de e-mail), A (endereço), ANY (todas as informações), etc. Se não preenchido o tipo padrão é A.

Existem várias opções de consulta, a que acho mais interessante é a +trace. Quando ela é utilizada, a saída apresenta todas as respostas desde os rootservers, incluindo qual deles respondeu. Um exemplo:

# dig @dns1.univali.br www.inf.ufsc.br A +trace

Qualquer outra informação: man dig ;)