Dicas rápidas para a linha de comando
Página 1 de 1
Dicas rápidas para a linha de comando
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:
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 ), 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
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 ), 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
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|