Perché wget
scegli questo nome?
Sfortunatamente, wget
non farà supposizioni su ciò che vuoi scaricare a meno che tu non glielo dica. Non importa se il tuo file è un'immagine, un documento, un file zippato, eccetera.
Il file viene salvato come qualsiasi cosa con cui termina l'URL, quindi qualsiasi cosa dall'ultima barra alla fine dell'URL. Nel tuo caso, è .gif?id=2
. La parte dopo l'effettiva estensione del file (.gif
) è contenuto nell'URL, ma è un parametro di query HTTP. Per wget
, tuttavia, determinerà il nome del file di output.
Come posso impostare un nome file diverso?
Se vuoi specificare un nome file di output per wget
, aggiungi il -O
(O maiuscola) opzione:
wget example.com/something.gif?id=2 -O 2.gif
Questo sovrascriverà il comportamento predefinito e imposterà il nome del file su 2.gif
. Nota che -o
L'opzione (downcase) specifica il nome del file di output per qualsiasi messaggio di log wget
potrebbe altrimenti stampare sulla shell.
Infine, c'è il --content-disposition
opzione che potrebbe comportare l'impostazione del nome file corretto. Ma questo dipende interamente dal server che stai scaricando dall'invio delle informazioni di intestazione corrette:
Questa opzione è utile per alcuni programmi CGI per il download di file che utilizzano intestazioni Content-Disposition per descrivere quale dovrebbe essere il nome di un file scaricato.
L'opzione è attualmente ancora contrassegnata come sperimentale e quindi non abilitata per impostazione predefinita.
Ti incoraggio vivamente a leggere la manpage degli strumenti che stai utilizzando per comprenderne il comportamento. Basta inserire man wget
e leggilo attentamente, in particolare le opzioni che fornisce.
Inoltre, per rispondere a ciò che @Indrek ha scritto nel commento alla tua domanda:presumo che tu abbia un errore di battitura e non intendi scaricare un file GIF in un file chiamato .png
— semplicemente cambiando l'estensione non renderlo automaticamente un PNG. GIF e PNG utilizzano codifiche diverse e dovrai utilizzare qualsiasi tipo di strumento di conversione delle immagini per convertire tra questi formati. Questa conversione, tuttavia, sarà senza perdite, quindi non c'è nulla di male nel scaricare i file nel formato "sbagliato" e convertirli in un secondo momento.
C'è l'opzione della riga di comando --content-disposition
che, se il sito Web fornisce un'intestazione corretta, dovrebbe far sì che il file venga salvato con il nome corretto.
Il mio debian squeeze box dice che l'opzione è "sperimentale" però...
Questo semplicemente perché guarda il percorso, finisce con ?id=2, quindi salverà come questo, puoi spostare il file o usare il parametro -O per definire un nome file.