Comando Linux · 4 min read · Sep 16, 2025

Tutorial do Comando curl do Linux para Iniciantes (5 Exemplos)

O comando curl é uma ferramenta poderosa e versátil usada para transferir dados para ou de um servidor usando vários protocolos, como HTTP, HTTPS, FTP e mais. Ele significa “Client URL” e é comumente utilizado para solicitações web, permitindo que os usuários baixem arquivos, enviem dados via solicitações POST e até interajam com APIs RESTful diretamente da linha de comando. O comando curl pode lidar com uma ampla gama de tarefas, desde downloads simples de arquivos até formulários multipart complexos, e é frequentemente usado em scripts para automação devido à sua flexibilidade e capacidade de fornecer saídas detalhadas, tornando-se uma utilidade essencial em um ambiente Linux.

Neste tutorial, discutiremos o comando curl que, entre outras coisas, permite que você baixe coisas da Web. Observe que os exemplos discutidos neste artigo foram testados no Ubuntu 24.04.

Comando curl do Linux

O comando curl permite que você baixe e envie dados através da linha de comando do Linux. A seguir está sua sintaxe:

curl [opções] [URL...]

E aqui está o que a página do manual diz sobre este comando:

curl é uma ferramenta para transferir dados de ou para um servidor, usando um dos
protocolos suportados (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,
IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS,
TELNET e TFTP). O comando foi projetado para funcionar sem interação do usuário.

curl oferece uma infinidade de truques úteis, como suporte a proxy, autenticação de usuário,
upload FTP, POST HTTP, conexões SSL, cookies, retomada de transferência de arquivos,
Metalink e mais. Como você verá abaixo, o número de recursos fará sua cabeça girar!

curl é alimentado por libcurl para todos os recursos relacionados à transferência. Veja
libcurl(3) para detalhes.

A seguir estão alguns exemplos em estilo de perguntas e respostas que devem lhe dar uma ideia melhor de como o curl funciona.

P1. Como o comando curl funciona?

O uso básico é bastante simples - basta passar a URL como entrada para o comando curl e redirecionar a saída para um arquivo.

Por exemplo:

curl http://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso.torrent > test.torrent

Observe que você também pode usar a opção -o aqui.

-o, --output 
Escreve a saída em  em vez de stdout.

Voltando ao nosso exemplo, enquanto os dados foram baixados no arquivo ‘test.torrent’ no meu sistema, a seguinte saída foi produzida na linha de comando:

Aqui está o que a página do manual diz sobre este medidor de progresso que é exibido na saída:

curl normalmente exibe um medidor de progresso durante as operações, indicando
 a quantidade de dados transferidos, velocidades de transferência e tempo estimado
 restante, etc.

curl exibe esses dados no terminal por padrão, então se você invocar
curl para fazer uma operação e ele estiver prestes a escrever dados no terminal,
 ele desabilita o medidor de progresso, pois do contrário bagunçaria a saída
 misturando o medidor de progresso e os dados de resposta.

Se você quiser um medidor de progresso para solicitações HTTP POST ou PUT, você precisa
 redirecionar a saída da resposta para um arquivo, usando redirecionamento de shell (>), -o
 [arquivo] ou similar.

Não é o mesmo caso para upload FTP, pois essa operação não gera
 dados de resposta para o terminal.

Se você preferir uma "barra" de progresso em vez do medidor regular, -# é seu
 amigo.

P2. Como fazer o curl usar o mesmo nome de arquivo de download?

No exemplo anterior, você vê que tivemos que especificar explicitamente o nome do arquivo baixado. No entanto, você pode forçar o curl a usar o nome do arquivo que está sendo baixado como o nome do arquivo local. Isso pode ser feito usando a opção de linha de comando -O.

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent

Assim, neste caso, um arquivo chamado ‘ubuntu-18.04-desktop-amd64.iso.torrent’ foi produzido na saída no meu sistema.

P3. Como baixar vários arquivos usando curl?

Isso não é complicado também - basta passar as URLs da seguinte maneira:

curl -O [URL1] -O [URL2] -O [URL3] ...

Por exemplo:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso.torrent

Aqui está o comando acima em ação:

Então você pode ver o progresso do download para ambas as URLs foi mostrado na saída.

P4. Como resolver o problema de ‘movido’?

Às vezes, quando você passa uma URL para o comando curl, você recebe erros como “Movido” ou “Movido Permanentemente”. Isso geralmente acontece quando a URL de entrada redireciona para outra URL. Por exemplo, você abre um site, digamos oneplus.com, e ele redireciona para uma URL do seu país de origem (como oneplus.in), então você recebe um erro como o seguinte:

Se você quiser que o curl siga o redirecionamento, use a opção de linha de comando -L em vez disso.

curl -L http://www.oneplus.com

P5. Como retomar um download a partir do ponto de interrupção?

Às vezes, um download é interrompido no meio. Portanto, para economizar tempo e dados, quando você tenta novamente, pode querer que ele comece do ponto em que foi interrompido. O Curl permite que você faça isso usando a opção de linha de comando -C.

Por exemplo:

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso

A seguinte captura de tela mostra o comando curl retomando o download após ter sido interrompido.

Conclusão

Então você pode ver, o comando curl é uma utilidade útil se você gosta de baixar coisas através da linha de comando. Nós apenas arranhamos a superfície aqui, pois a ferramenta oferece muito mais recursos. Uma vez que você tenha terminado de praticar as opções de linha de comando discutidas neste tutorial, você pode ir para a página do manual do curl para aprender mais sobre ele.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.