Як завантажити файл з веб-сайту через термінал?


305

Припустимо, у нас є повна URL-адреса потрібного файлу, наприклад

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

Я хотів би пройти, не встановлюючи нового програмного забезпечення. Це можливо?

Командування

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

не працює;)


6
wgetваш друг тут :)
cauon

10
wgetце, мабуть, найпростіший спосіб, але ви також можете використовувати curl. Прочитайте це
дорогийN

16
Використовуйте wget -O hooray "http://domain.com/directory/4?action=AttachFile&do=get&target=file.tgz". Ви можете додати -cможливість відновити завантаження, якщо під час завантаження файлу було втрачено з’єднання.
Сергій

"Ура" зламав мене LOL
chris loughnane

Відповіді:


397

Відкрийте термінал і введіть

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

завантажити файл у поточний каталог.

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

завантажить файл у /home/omio/Desktop

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

завантажить файл /home/omio/Desktopі дасть йому своє NewFileNameім’я.


1
Бийте мене на удар. Данг. Але так, це так wget [whatever web address]. Якщо потрібно вибрати місце, введіть cd [local location on your computer.] ПРИКЛАД: cd /home/omio/Desktop/ | wget http://thecanadiantestbox.x10.mx/CC.zip
Оміо

4
@Omio Бігати не потрібно cd. Ви можете просто вказати вихідний файл через -Oопцію. Наприклад:wget -O /home/omio/Desktop/file.tgz "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz"
Сергій

1
Ваші приклади не спрацюють. Ви ОБОВ'ЯЗКОВО використовувати лапки, коли URL містить розширення.
Сергій

@ Сергій Дякую за роз’яснення. Мені ще не довелося використовувати wget, але мені доведеться в майбутньому.
Оміо

? і & інтерпретуються вашою оболонкою. Вам потрібно процитувати або уникнути цього. Як правило, у вас є ярлик, щоб вставити цитовану або уникнуту версію рядка в буфер обміну вашого терміналу. Будьте дуже обережні, вставляючи речі всередину терміналу.
alecail

27

ви можете зробити це за допомогою curl.

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

-O зберігає файл з тим самим іменем, що і в URL-адресі, а не скидає вихід у stdout

Для отримання додаткової інформації


Ніколи не можу згадати, чи це нуль, чи О
Олександр Міллз

-O - ​​алфавітна буква і має бути великою літерою, інакше буде створено журнал
Kareem Elsayed

20

Я використовую axelі wgetдля завантаження з терміналу, axel - прискорювач завантаження

синтаксис

вісь

Встановіть через програмний центр

axel www.example.com/example.zip

wget

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

для отримання додаткової деталі типу man axel, man wgetв терміналі


6
чим axelвідрізняється від wget?
heinrich5991

3
@ heinrich5991 wget є більш досконалим, ніж axel!
Праніт Баува

9

Для того, щоб додати більше смаку до цього питання, я також рекомендую поглянути на це:

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

Ви можете використовувати це для вимкнення комп'ютера після wgetкоманди, ;можливо, або у bashфайлі сценарію.

Це означатиме, що вам не доведеться не спати вночі та стежити, поки ваше завантаження як (не) буде успішно виконано.

Прочитайте також цю відповідь


5

відсутність згадки про Aria2 - це лише послуга, тому, з урахуванням сказаного, перевірте Aria2. https://aria2.github.io/

Встановіть його, просто набравши термінал:

sudo apt install aria2

Потім просто введіть це, щоб завантажити файл:

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

Додаткову допомогу можна знайти aria2на її manсторінці.


2

Я зробив ці кроки З-о-мі-зш,

brew install wget
wget https://github.com/sencha-extjs-examples/QuickStart/archive/master.zip
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.