Dicas rápidas para linha de comando
Quando comecei a usar o GNU/Linux, o que mais me prendeu ao sistema foi o poder dado ao usuário pela linha de comandos. Que me perdoem os amantes da GUI, mas para mim a CLI é a verdadeira alma do sistema, o verdadeiro poder.
Parte 2: Um pouco de cURL
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:
curl -u ftpuser:ftppass -O ftp://diretório_do_servidor/nome_do_arquivo
O comando acima baixa o arquivo e salva no diretório local.
curl -u ftpuser:ftppass -O ftp://diretório_do_servidor/outro_diretório/
O comando acima lista todo o conteúdo existente em outro_diretório.
curl -u ftpuser:ftppass -T arquivo.txt ftp://ftp.algumserver.org
O comando acima upará o arquivo.txt para o servidor.
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 :D), os comandos aqui foram apenas uma simples amostra. Não vou aprofundar ou então deixará de ser "Dicas rápidas para linha de comando!".
Basta executar o comando:
lynx --dump arquivo.html > arquivo.txt
Funciona também com arquivos PHP.
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:
curl -u ftpuser:ftppass -O ftp://diretório_do_servidor/nome_do_arquivo
O comando acima baixa o arquivo e salva no diretório local.
curl -u ftpuser:ftppass -O ftp://diretório_do_servidor/outro_diretório/
O comando acima lista todo o conteúdo existente em outro_diretório.
curl -u ftpuser:ftppass -T arquivo.txt ftp://ftp.algumserver.org
O comando acima upará o arquivo.txt para o servidor.
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 :D), os comandos aqui foram apenas uma simples amostra. Não vou aprofundar ou então deixará de ser "Dicas rápidas para 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.
No Artigo, na sugestão de script que dei, no comando final echo eu me esqueci de incluir a opção: -e
Sem essa opção o echo não estará habilitado a interpretar a barra invertida em \n.
O exemplo corrigido segue abaixo:
==========================================================================
#!/bin/bash
#Cria variável e atribui valor
MYDINIPADDRESS="`curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'`"
echo -e "\n O seu endereço IP externo é: $MYDINIPADDRESS"
==========================================================================