Como baixar um arquivo de um site via terminal?

305

Suponha que tenhamos um URL completo do arquivo desejado, por exemplo

http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz

Eu gostaria de ir sem instalar um novo software. É possível?

Comando

 cp  'http://example.com/directory/4?action=AttachFile&do=get&target=file.tgz' hooray

não funciona;)

0x6B6F77616C74
fonte
6
wgeté seu amigo aqui :)
cauon 27/10/12
10
wgettalvez seja a maneira mais simples, mas você também pode usar curl. Leia isto
dearN,
16
Use wget -O hooray "http://domain.com/directory/4?action=AttachFile&do=get&target=file.tgz". Você pode adicionar a -copção para retomar o download se a conexão for perdida durante o download do arquivo.
Sergey
"hooray" me fez
rir muito

Respostas:

397

Terminal aberto e tipo

wget "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz" 

para baixar o arquivo para o diretório atual.

wget  -P /home/omio/Desktop/ "http://thecanadiantestbox.x10.mx/CC.zip"

fará o download do arquivo para /home/omio/Desktop

wget  -O /home/omio/Desktop/NewFileName "http://thecanadiantestbox.x10.mx/CC.zip"

fará o download do arquivo /home/omio/Desktope fornecerá seu NewFileNamenome.

devav2
fonte
1
Bata-me ao soco. Dang. Mas sim, é wget [whatever web address]. Se você quiser escolher o local, digite cd [local location on your computer.] EXAMPLE: cd /home/omio/Desktop/ | wget http://thecanadiantestbox.x10.mx/CC.zip
Omio 27/10
4
@ Omio Não há necessidade de executar cd. Você pode apenas especificar o arquivo de saída através da -Oopção Por exemplo:wget -O /home/omio/Desktop/file.tgz "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz"
Sergey
1
Seus exemplos não irão funcionar. Você DEVE usar aspas quando o URL contiver e comercial.
Sergey
@ Emery Obrigado pelo esclarecimento. Ainda não precisei usar o wget, mas teria que fazê-lo no futuro.
Omio 27/10
? e & são interpretados pelo seu shell. Você precisa citar ou escapar. Geralmente, você tem um atalho para colar uma versão citada ou escapada da string na área de transferência no seu terminal. Tenha muito cuidado ao colar objetos dentro de um terminal.
Alecail #
27

você pode fazer isso usando curl.

curl -O http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz

O -O salva o arquivo com o mesmo nome da URL, em vez de descarregar a saída para stdout

Para maiores informações

rɑːdʒɑ
fonte
Nunca me lembro se é zero ou 0
Alexander Mills
-O é a letra alfabética e deve ser maiúscula; caso contrário, será gerado um log
Kareem Elsayed
20

Eu uso axele wgetpara baixar do terminal, axel é acelerador de download

sintaxe

axel

Instale através do centro de software

axel www.example.com/example.zip

wget

wget -c www.example.com/example.zip

para mais detalhes digite man axel, man wgetno terminal

Tachyons
fonte
6
como é axeldiferente wget?
precisa
3
@ heinrich5991 O wget é mais avançado que o axel!
Pranit Bauva
9

Apenas para adicionar mais sabor a esta pergunta, eu também recomendo que você dê uma olhada nisso:

history -d $((HISTCMD-1)) && echo '[PASSWORD]' | sudo -S shutdown now

Você pode usar isso para desligar o computador após o wgetcomando com um arquivo ;talvez ou em um bashscript.

Isso significa que você não precisa ficar acordado à noite e monitorar até que seu download seja executado com êxito.

Leia esta resposta também

dearN
fonte
5

a falta de menção ao Aria2 é apenas um desserviço, portanto, com isso dito, confira o Aria2. https://aria2.github.io/

Instale-o simplesmente digitando no terminal:

sudo apt install aria2

Em seguida, basta digitar isto para baixar o arquivo:

aria2c http://example.com/directory/4?action=AttachFile&do=get&target=file.tgz

Você pode encontrar mais ajuda com aria2pela sua manpágina.

Michael Tunnell
fonte
2

Eu fiz essas etapas do Oh-my-zsh,

brew install wget
wget https://github.com/sencha-extjs-examples/QuickStart/archive/master.zip
Do Nhu Vy
fonte