Come scaricare un file da un sito Web tramite terminale?


305

Supponiamo di avere un URL completo del file desiderato, ad es

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

Vorrei andare senza installare un nuovo software. È possibile?

Comando

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

non funziona;)


6
wgetè il tuo amico qui :)
cauon,

10
wgetè forse il modo più semplice ma puoi anche usarlo curl. Leggi questo
caroN,

16
Usa wget -O hooray "http://domain.com/directory/4?action=AttachFile&do=get&target=file.tgz". È possibile aggiungere -cun'opzione per riprendere il download se si è persa la connessione durante il download del file.
Sergey,

"evviva" mi ha spezzato LOL
chris loughnane il

Risposte:


397

Apri terminale e digita

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

per scaricare il file nella directory corrente.

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

scaricherà il file in /home/omio/Desktop

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

scaricherà il file /home/omio/Desktope gli darà il tuo NewFileNamenome.


1
Battimi sul pugno. Dang. Ma sì, lo è wget [whatever web address]. Se si desidera selezionare la posizione, digitare cd [local location on your computer.] ESEMPIO: cd /home/omio/Desktop/ | wget http://thecanadiantestbox.x10.mx/CC.zip
Omio,

4
@Omio Non è necessario eseguire cd. Puoi semplicemente specificare il file di output tramite l' -Oopzione. Ad esempio:wget -O /home/omio/Desktop/file.tgz "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz"
Sergey,

1
I tuoi esempi non funzioneranno. DEVI usare le virgolette quando l'URL contiene la e commerciale.
Sergey,

@Sergey Grazie per il chiarimento. Non ho ancora dovuto usare wget, ma avrei dovuto, in futuro.
Omio,

? e & sono interpretati dalla tua shell. Devi citare o scappare. Generalmente, hai una scorciatoia per incollare una versione quotata o con escape della stringa negli appunti del tuo terminale. Prestare molta attenzione quando si incollano oggetti all'interno di un terminale.
alecail,

27

puoi farlo usando il ricciolo.

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

-O salva il file con lo stesso nome dell'URL anziché scaricare l'output su stdout

Per maggiori informazioni


Non riesco mai a ricordare se è uno zero o O
Alexander Mills

-O è la lettera alfabetica e deve essere maiuscola, altrimenti verrà generato un registro
Kareem Elsayed

20

Uso axele wgetper il download dal terminale, axel è l'acceleratore di download

sintassi

axel

Installa tramite il centro software

axel www.example.com/example.zip

wget

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

per maggiori dettagli digitare man axel, man wgetnel terminale


6
come è axeldiverso da wget?
heinrich5991,

3
@ heinrich5991 wget è più avanzato di axel!
Pranit Bauva,

9

Solo per aggiungere più sapore a questa domanda, ti consiglio anche di dare un'occhiata a questo:

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

Puoi usarlo per spegnere il tuo computer dopo il tuo wgetcomando con un file ;forse o in uno bashscript.

Ciò significherebbe che non devi rimanere sveglio di notte e monitorare fino a quando il download non viene eseguito correttamente.

Leggi anche questa risposta


5

la mancanza della menzione di Aria2 è solo un disservizio, quindi, detto questo, controlla Aria2. https://aria2.github.io/

Installalo semplicemente digitando nel terminale:

sudo apt install aria2

Quindi digita semplicemente questo per scaricare il file:

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

Puoi trovare ulteriore aiuto con la aria2sua manpagina.


2

Ho fatto questi passi da Oh-my-zsh,

brew install wget
wget https://github.com/sencha-extjs-examples/QuickStart/archive/master.zip
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.