LinuxBRAZUCA
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas rápidas para a linha de comando

Ir para baixo

Dicas rápidas para a linha de comando Empty Dicas rápidas para a linha de comando

Mensagem por vatrinux Sáb 31 Jan 2015 - 15:36

Introdução

Deixo aqui algumas dicas rápidas para a linha de comandos. Com certeza muitos usuários já conhecem os macetes, mas pode servir de ajuda/auxílio principalmente para os iniciantes.

Assista Star Wars em modo ASCII, dê o seguinte comando no shell:
$ telnet towel.blinkenlights.nl

Descubra seu IP externo pela linha de comandos. De vez em sempre precisamos saber o nosso IP dinâmico externo fornecido pela operadora. Existem 'n' formas de fazer isso. Aqui vou passar somente algumas dicas para a linha de comandos, pois é a forma que julgo mais rápida, até mais rápida do que ter de acessar a página de configuração do roteador/modem para consultar o IP adquirido.

Usando wget (utilize qualquer uma das opções, encontre a que você achar mais eficiente):
$ wget -qO - icanhazip.com
$ wget -qO - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
$ wget -qO - ifconfig.me
$ wget -qO - ip.appspot.com
$ wget http://ipecho.net/plain -O - -q ; echo


Usando cURL (utilize qualquer uma das opções, encontre a que você achar mais eficiente):
$ curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
$ curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+'
$ curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"
$ curl -s monip.org | iconv -f iso-8859-1 | sed -n 's/.*IP : \([0-9.]*\).*/\1/p'
$ curl ifconfig.me
$ curl ipecho.net/plain
$ curl icanhazip.com
$ curl ipv4.icanhazip.com # Explicitamente evoca o IPv4
$ curl ipv6.icanhazip.com # Explicitamente evoca o IPv6
$ curl curlmyip.com
$ curl l2.io/ip
$ curl ip.appspot.com
$ curl ifconfig.me/ip
$ curl eth0.me


Com JSON, caso você queira:
$ curl httpbin.org/ip
$ curl wtfismyip.com/json


Usando dig:
$ dig +short myip.opendns.com @resolver1.opendns.com

Usando lynx:
$ lynx -dump checkip.dyndns.org | grep 'Current IP Address:'
$ lynx -dump eth0.me
$ lynx --dump monip.org | grep 'IP'


Não vou me prolongar mais nesta parte, com eu disse: existem "n" maneiras para se chegar ao mesmo resultado! Cabe a você escolher a que achar melhor. Faça alterações nos comandos, faça suas experiências, adapte-os.
Basta olhar na lista e verá que existem várias adaptações e modificações para um mesmo comando principal. O que influencia no final é sua escolha.

Finalizando esta parte, indico uma última alternativa. Quem usa Debian/Ubuntu pode instalar, caso já não tenha instalado, o pequeno programa miniupnpc se o seu roteador/modem tiver suporte para UPnP.

Depois de instalado é só executar:
$ upnpc -s | grep ^ExternalIPAddress | cut -c21-

Esse comando fará o mesmo que todos os outros indicados nesta seção, te mostrará seu IP dinâmico externo.

Dica: você pode criar um Shell Script simples com algum dos comandos acima para tornar o processo ainda mais rápido. Exemplo:

Código:
#!/bin/bash

#Cria variável e atribui valor

MYDINIPADDRESS="`curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'`"

echo "\n O seu endereço IP externo é: $MYDINIPADDRESS"

Salve o arquivo (de preferência coloque a extensão .sh), torne-o executável alterando suas permissões e depois é só executar.

Alguns usos úteis do cURL

Baixando arquivos:
$ curl -o nome_arquivo_local http://url_direta_para_o_arquivo

Este comando funciona mesmo com binários, desde que você tenha o link direto para o arquivo.

Baixando/upando arquivos de/para servidores FTP:

O comando abaixo faz o download do arquivo e salva no diretório local:
$ curl -u ftpuser:ftppass -O ftp://diretório_do_servidor/nome_do_arquivo

O comando abaixo lista todo o conteúdo existente em outro diretório:
$ curl -u ftpuser:ftppass -O ftp://diretório_do_servidor/outro_diretório/

O comando abaixo faz o upload do arquivo.txt para o servidor:
$ curl -u ftpuser:ftppass -T arquivo.txt ftp://ftp.algumserver.org
$ curl -u ftpuser:ftppass -T "{arquivo1,arquivo2}" ftp://ftp.algumserver.org


O cURL permite upar vários arquivos de uma vez, exatamente como feito no exemplo acima. Você também pode utilizar curingas, como no comando abaixo, onde todos arquivos que satisfizerem a expressão serão baixados:
$ curl ftp://ftp.server.org/downloads/linux/[a-z]/

O cURL possui grande poder e versatilidade (aliás, todo o GNU/Linux é assim Very Happy), os comandos aqui foram apenas uma simples amostra. Não vou aprofundar ou então deixará de ser "Dicas rápidas para a linha de comando!".

Extraindo texto puro de arquivos HTML

Certa vez precisei extrair texto puro de um arquivo HTML. Encontrei várias opções de conversores etc, mas a maneira mais rápida e eficaz para mim foi utilizando o lynx.

Basta executar o comando:
$ lynx --dump arquivo.html > arquivo.txt

Funciona também com arquivos PHP.

Comandos úteis

Testando se uma porta está aberta com o comando echo:
$ echo >/dev/tcp/xxx.xxx.xxx.xxx/pp && echo "open"

No lugar do "xxx.xxx.xxx.xxx" coloque o endereço IP que deseja testar e do "pp" o número da porta.

Criando senhas aleatórias:
$ LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-10};echo;

Esta senha possui 10 caracteres. Altere a quantidade de caracteres desejados editando o comando em "{1:-10}".

Exibir nome de dono do arquivo ou diretório:
$ stat -c %U arquivo.txt

Exibindo o IP local:
$ ifconfig | grep "inet end.:" | awk '{print $3}' | grep -v '127.0.0.1' | cut -f2 -d:

Este comando pode não funcionar em sua máquina dependendo do sistema e configuração. Se não funcionar você deve efetuar as devidas alterações no mesmo. Ex.: seu sistema pode estar em inglês, neste caso, "grep "inet end.:"" deve ser alterado para "grep "inet addr:"" etc.

Existe um comando mais rápido: "ip addr show". Minha intenção foi mais uma vez demonstrar como existem vários caminhos para se chegar ao mesmo resultado.

Star Wars tracert:
$ traceroute 216.81.59.173

O comando acima te dará o traceroute de Star Wars... Não entendeu? Execute.

Abaixo, Star Wars Episodio IV em DNS reverso:
$ ( seq 1 8 200 ; seq 6 8 200 ) | sort -n | xargs -I{} -n 1 dig +short -x 206.214.251.{}

Por enquanto é só. Espero ter contribuído com o fórum. Até mais!
[i][b]Fonte: http://www.vivaolinux.com.br/artigo/Dicas-rapidas-para-linha-de-comando?pagina=1
Editado por: vatrinux
vatrinux
vatrinux
Admin

Mensagens : 4
Data de inscrição : 19/12/2014
Idade : 43

http://vatrinux.blog/

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos