Wget ile konum nasıl belirlenir?


Yanıtlar:


955

Kılavuz sayfasından:

-P prefix
--directory-prefix=prefix
           Set directory prefix to prefix.  The directory prefix is the
           directory where all other files and sub-directories will be
           saved to, i.e. the top of the retrieval tree.  The default
           is . (the current directory).

Bu yüzden komutunuza -P /tmp/cron_test/(kısa form) veya --directory-prefix=/tmp/cron_test/(uzun form) eklemeniz gerekir . Ayrıca, dizin yoksa dizinin oluşturulacağını unutmayın.


5
-P / tmp / cron_test / çalışmıyor ancak / like kaldırma -P tmp / cron_test / çalışıyor ve hatta varolmayan bir dizin yaratıyor.
Kanguru

7
Kanguru muhtemelen çalışmıyor çünkü sisteminizde / tmp / cron_test / yok: P
Sameer

41
Kılavuzun açıklaması bu seçeneği aramayı zorlaştırmaktadır. Bir şeyi 'dizin öneki' olarak kaydetmek istediğim konumu düşünmüyorum. Paylaşım için teşekkürler!
Iain Samuel McLean Elder

7
Ayrıca, üzeri kök klasörü kaldırabilir --no-host-directoriesveya -nHgereği serverfault.com/questions/354792/...
Alien Yaşam Formu

-İ herhangi bir fikir ile bir girdi dosyası kullanılırsa -P yok sayılır?
Jan Viehweger

412

-O, indirmek istediğiniz dosyanın yolunu belirtme seçeneğidir.

wget <file.ext> -O /path/to/folder/file.ext

-P, dosyayı dizine indireceği önek

wget <file.ext> -P /path/to/folder

8
/path/to/folder/Orada yapmak için bir eğik çizgi
Louis Maddox

36
Up da -Ohangisine ihtiyacım olmadığını belirtmek için oy kullandı , ama bana ihtiyacım olan -Pşeyden daha emin hissettirdi .
WORMSS

@louisMaddox makinemdeki man sayfaları başına varsayılan önek "." (yani, geçerli dizin) "dizin önekine" bir eğik çizgi eklenmesi, semantikler göz önüne alındığında, "dizin öneki" için bir eğik çizgi gerektirmez. yırtmaç.
Timothy LJ Stewart

2
@ TimothyL.J.Stewart Çift eğik çizgi hatası yok.
har-wradim

Not: -Ogeçersiz kılar -Psadece çıkış dizinini belirleyemezsiniz böylece, (düşünmek dirname ve sadece çıkış dosya adı (düşünmek basename) Bu kullanım için sadece. -OTam dosya yolunu belirterek.
murlakatamenka

7

URL'yi indirdiğiniz her şey için doğru olduğundan emin olun. Her şeyden önce, ?ve benzeri karakterlere sahip URL'ler ayrıştırılamaz ve çözülemez. Bu, cmd satırını karıştıracak ve kaynak URL adına çözümlenmeyen karakterleri indirdiğiniz dosya adı olarak kabul edecektir.

Örneğin:

wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"

adlı bir dosyaya indirilir ?source=typ_redirect.

Gördüğünüz gibi, URL'ler hakkında bir iki şey bilmek anlamanıza yardımcı olur wget.

Ben bir hirens diskten önyükleme ve sadece bir kaynak olarak Linux 2.6.1 vardı (alma os kullanılamaz). Fiziksel sabit sürücüye ISO yükleme sorunumu çözen doğru sözdizimi şuydu:

wget "(source url)" -O (directory where HD was mounted)/isofile.iso" 

Bir wgetdosya index.html(varsayılan dosya) adlı bir dosyaya hangi noktada indirildiğini bularak doğru URL'yi anlayabilir ve aşağıdaki komutla göstermeniz gereken dosyanın doğru boyutuna / diğer özelliklerine sahip olabilir:

wget "(source url)"

Bu URL ve kaynak dosya doğru olduğunda ve dosya indirildikten sonra index.html, indirmeyi ( ctrl+ z) durdurabilir ve çıktı dosyasını aşağıdakileri kullanarak değiştirebilirsiniz:

-O "<specified download directory>/filename.extension"

sonra kaynak url.

Benim durumumda bu bir ISO indirilmesi ve altında bir ikili dosya olarak saklanmasıyla isofile.isosonuçlanır.


2

"-P" doğru seçenektir, daha fazla bilgi için lütfen okumaya devam edin:

wget -nd -np -P / dest / dir - yinelenen http: // url / dir1 / dir2

Kolaylık sağlamak için man sayfalarındaki alakalı snippet'ler:

   -P prefix
   --directory-prefix=prefix
       Set directory prefix to prefix.  The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree.  The default is . (the current directory).

   -nd
   --no-directories
       Do not create a hierarchy of directories when retrieving recursively.  With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the
       filenames will get extensions .n).


   -np
   --no-parent
       Do not ever ascend to the parent directory when retrieving recursively.  This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.

1

man wget: -O dosya --output-document = dosya

wget "url" -O /tmp/cron_test/<file>

1
Bu bir yanıt değil, çünkü -o seçeneği belirtilen dosyayı belirtilen dosyaya koydu. Ancak soru "Dosyayı bir klasöre nasıl koyulur" sorusudur. Ve bu yinelenen cevap var
Anton Gorbunov
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.