วิธีการดาวน์โหลดไฟล์จากเว็บไซต์ผ่านทางเทอร์มินัล


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แต่คุณยังสามารถใช้ อ่านสิ่งนี้
เรียน

16
wget -O hooray "http://domain.com/directory/4?action=AttachFile&do=get&target=file.tgz"ใช้ คุณสามารถเพิ่ม-cตัวเลือกเพื่อทำการดาวน์โหลดต่อหากการเชื่อมต่อขาดหายไปในขณะที่ดาวน์โหลดไฟล์
Sergey

"ไชโย" ทำให้ฉันแตก 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.] EXAMPLE: cd /home/omio/Desktop/ | wget http://thecanadiantestbox.x10.mx/CC.zip
Omio

4
@Omio cdไม่มีความจำเป็นต้องทำงานเป็น คุณสามารถระบุไฟล์เอาต์พุตผ่าน-Oตัวเลือก ตัวอย่างเช่น:wget -O /home/omio/Desktop/file.tgz "http://domain.com/directory/4?action=AttachFile&do=view&target=file.tgz"
Sergey

1
ตัวอย่างของคุณจะไม่ทำงาน คุณต้องใช้เครื่องหมายคำพูดเมื่อ URL มีเครื่องหมายแอมเปอร์แซนด์
Sergey

@ Sergey ขอบคุณสำหรับการชี้แจง ฉันยังไม่ได้ใช้ wget เลย แต่ฉันจะต้องทำในอนาคต
Omio

? และ & ถูกตีความโดยเชลล์ของคุณ คุณต้องอ้างหรือหลบหนี โดยทั่วไปคุณจะมีทางลัดเพื่อวางสายอักขระที่อ้างถึงหรือใช้ Escape ในคลิปบอร์ดในเทอร์มินัลของคุณ ระวังให้มากเมื่อวางสิ่งของภายในเทอร์มินัล
alecail

27

คุณสามารถทำได้โดยใช้ curl

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

-O บันทึกไฟล์ด้วยชื่อเดียวกับใน url แทนที่จะทิ้งเอาท์พุทเป็น stdout

สำหรับข้อมูลเพิ่มเติม


ฉันไม่สามารถจำได้ว่ามันเป็นศูนย์หรือ O
Alexander Mills

-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ใน terminal


6
วิธีการที่axelแตกต่างจากwget?
heinrich5991

3
@ heinrich5991 wget นั้นสูงกว่าแอ็กเซิล!
ปราณี Bauva

9

เพียงเพิ่มรสชาติให้กับคำถามนี้ฉันขอแนะนำให้คุณดูที่:

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

คุณสามารถใช้สิ่งนี้เพื่อปิดเครื่องคอมพิวเตอร์หลังจากwgetคำสั่งของคุณด้วย;อาจหรือในbashไฟล์สคริปต์

นี่หมายความว่าคุณไม่ต้องตื่นนอนตอนกลางคืนและเฝ้าดูจนกว่าการดาวน์โหลดของคุณจะเสร็จสมบูรณ์

อ่านคำตอบนี้เช่นกัน


5

การขาดการพูดถึง Aria2 เป็นเพียงการก่อความเสียหายเช่นเดียวกับที่กล่าวไว้ตรวจสอบ Aria2 https://aria2.github.io/

ติดตั้งโดยเพียงแค่พิมพ์ใน terminal:

sudo apt install aria2

จากนั้นพิมพ์สิ่งนี้เพื่อดาวน์โหลดไฟล์:

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

คุณสามารถค้นหาความช่วยเหลือเพิ่มเติมaria2จากmanหน้าเพจ


2

ฉันทำตามขั้นตอนเหล่านี้จาก Oh-my-zsh

brew install wget
wget https://github.com/sencha-extjs-examples/QuickStart/archive/master.zip
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.