Come decomprimere i file tramite una connessione FTP?


19

Mi sono collegato al mio server remoto tramite FTP e ho ottenuto un elenco di directory. Ho alcuni file zip nell'elenco.

È possibile decomprimere il file (es: test.zip) ?. Se sì, qual è il comando?


dopo aver decompresso l'installazione, il comando è decomprimere test.zip

...through ubuntu terminal...Solo per il gusto di farlo, questa non è un'opzione di connessione, è un'applicazione. Ti sei connesso tramite SSH, SFTP, FTP o altri mezzi?
Bobby,

Questa è la connessione ftp
Hearaman,

Risposte:


15

Non è possibile decomprimere i file tramite una connessione FTP. FTP sta per "File Transfer Protocol", che è stato progettato solo per trasferire e gestire parzialmente i file dall'estremità remota, ma non per eseguire comandi. Per decomprimere un archivio dovresti eseguire un programma come tar, bzip2 o simili, ma ciò non è possibile tramite una connessione FTP.

Hai bisogno di un'altra sessione che ti consenta di eseguire comandi, come SSH. Oppure scompattate l'archivio sulla vostra macchina e trasferite i contenuti via FTP, che sarà molto più lento se avete un gran numero di piccoli file a causa del sovraccarico di FTP.


ci sono dei software (linux) per decomprimere i miei file.
Hearaman,

@Hearaman il comando unzip.
Kruug,

16

Risposta un po 'fuori contesto ma sicuramente funziona. Se stai eseguendo un Apache + php su quella directory ftp, carica il tuo file zip in quella cartella e crea extractor.php:

$zip = new ZipArchive;
if ($zip->open('my_zip.zip') === TRUE) {
    $zip->extractTo('/path/to/my/zip');
    $zip->close();
    echo 'ok';
}

e poi premi url es: http://example.com/extractor.phpbingo php estrae quella zip per te.


script molto utile, puoi usare getcwd () per questa cartella aka unix pwd nello script
Stepo

3

Puoi farlo se monti una risorsa ftp usando curlftpfs:

curlftpfs ftp://ftp.server.org/ /path/to/mountpoint

poi

unzip /path/to/mount/test.zip

2
Se non ti salverà nulla del trasferimento, perché il processo di decompressione verrà eseguito dal tuo computer e non sul server, il che dovrebbe essere il modo ottimizzato per farlo.
NetVicious,

2

È possibile utilizzare unzip dopo aver eseguito sudo apt-get install unzip.


ho installato il pacchetto di decompressione usando sudo apt-get install unzip. Ma mi sta dando un comando non valido

Puoi usarlo come "decomprimi nomefile.zip -d / destinazione"


2

Il tuo obiettivo è decomprimerlo sul server esterno o desideri estrarre i contenuti dell'archivio sul tuo computer ?

Il primo caso non è risolto da FTP, ma da SSH o tecniche simili come descritto in altre risposte.

Se vuoi semplicemente ottenere i contenuti decompressi "direttamente" sul tuo computer senza prima trasferire esplicitamente i file e poi decomprimere, potresti ad esempio montare il sito FTP come una cartella e decomprimerlo come un normale file zip in una posizione sul tuo locale computer. Questa volontà , in pratica, lo streaming del contenuto del file direttamente nel programma di decompressione, in modo tecnicamente non trasferire l'intero file, ma solo nel suo stato zippato (presumibilmente risparmio traffico) e il contenuto verrà visualizzato direttamente sul tuo computer locale, senza il passaggio intermedio esplicito.

Non so come sia specificato il formato del file zip relativo alla semplice decompressione di una parte di un file zip; se è necessario trasferire l' intero file comunque o solo la parte compressa corrispondente a quel file. Non vedo alcun vero motivo tecnico per cui non sarebbe possibile effettuare questo tipo di trasferimento selettivo (il protocollo FTP consente solo il trasferimento di file parziali per consentire il ripristino).


0

Per quanto ne so, alcuni server FTP sono impostati per decomprimere automaticamente i file durante il download. Ad esempio, il server elenca un file chiamato test.txt.gz, con il tuo client ftp puoi digitare get test.txt, il server quindi invia il file tramite decomprimere.

Questa è la risposta che può essere letta prima dell'inizio del download: 150 Opening ASCII mode data connection for /usr/bin/gzip.


-1

puoi usare il comando tar

tar -xfz test.zip

4
Per ricordare le lettere: eXtract Zee Files
Canadian Luke REINSTATE MONICA il

Nella mia console sta arrivando un comando non valido.
Hearaman,

con -xzfinvece di -xfz?
HaydnWVN,

(Richiede il permesso di root) install tar di sudo apt-get install tar
Sreejith B Naick,

1
Questo comando funziona sul terminale locale, ma NON può essere eseguito su una connessione FTP (anche quando si utilizza il sitecomando FTP)
JonathanDavidArndt
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.