Wie entpacke ich Dateien über eine FTP-Verbindung?

Ich habe über FTP eine Verbindung zu meinem Remote-Server hergestellt und eine Verzeichnisliste erhalten. Ich habe nur wenige Zip-Dateien in der Liste.

Ist es möglich, die Datei zu entpacken (Ex: test.zip)?. Wenn ja, was ist der Befehl?

Author: AndriuZ, 2012-09-26

8 answers

Es ist nicht möglich, Dateien über eine FTP-Verbindung zu entpacken. FTP steht für "File Transfer Protocol", das nur zum Übertragen und teilweise Verwalten von Dateien auf dem Remote-Ende, aber nicht zum Ausführen von Befehlen entwickelt wurde. Um ein Archiv zu entpacken, müssten Sie ein Programm wie tar, bzip2 oder ähnliches ausführen, aber das ist über eine FTP-Verbindung nicht möglich.

Sie benötigen eine andere Sitzung, in der Sie Befehle wie SSH ausführen können. Oder Sie entpacken das Archiv auf Ihrem Rechner und übertragen den Inhalt über FTP, das aufgrund des Overheads von FTP erheblich langsamer ist, wenn Sie eine große Anzahl kleiner Dateien haben.

 18
Author: Bobby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-26 07:38:45

Etwas aus dem Zusammenhang Antwort, aber sicherlich funktioniert. Wenn Sie einen Apache + PHP in diesem FTP-Verzeichnis ausführen, laden Sie Ihre ZIP-Datei in diesen Ordner hoch und erstellen Sie extractor.php:

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

Und drücken Sie dann url zB: http://example.com/extractor.php bingo php extrahiert diese Zip für Sie.

 19
Author: Touqeer Shafi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-01-24 07:11:41

Sie können dies tun, wenn Sie die FTP-Ressource mit curlftpfs einbinden:

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

Dann

unzip /path/to/mount/test.zip
 3
Author: jet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-26 11:24:26

Sie können unzip verwenden, nachdem Sie sudo apt-get install unzip ausgeführt haben.

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-26 06:44:26

Http://linux.about.com/od/commands/a/blcmdl1_unzipx.htm

Einfacher Fall - Entpackungstest.zip -

 2
Author: Sanath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-26 06:46:42

Ist es Ihr Ziel, es auf dem externen Server zu entpacken, oder möchten Sie den Archivinhalt auf Ihren eigenen Computer ziehen?

Der erste Fall wird nicht durch FTP gelöst, sondern durch SSH oder ähnliche Techniken, wie in anderen Antworten beschrieben.

Wenn Sie nur den entpackten Inhalt "direkt" auf Ihren eigenen Computer übertragen möchten, ohne zuerst die Dateien explizit zu übertragen und dann zu entpacken, können Sie z. B. die FTP-Site als Ordner mounten und als normale Zip-Datei entpacken standort auf Ihrem lokalen Computer. Dies wird in der Praxis streamen Sie den Inhalt der Datei direkt auf die unzip-Programm, damit Sie technisch tun übertragen Sie die gesamte Datei, sondern nur in seiner RV-Zustand (vermutlich sparen-Verkehr) und der Inhalt wird angezeigt werden direkt auf Ihrem lokalen computer, ohne die ausdrückliche Zwischenschritt.

Ich weiß nicht, wie das Zip - Dateiformat angegeben wird, wenn Sie nur einen Teil einer ZIP-Datei entpacken. wenn Sie die gesamte - Datei übertragen müssen trotzdem oder nur der komprimierte Teil, der dieser Datei entspricht. Ich sehe keine wirklichen technischen Gründe, warum es nicht möglich wäre, diese Art der selektiven Übertragung durchzuführen (das FTP-Protokoll erlaubt nur die Übertragung von Teildateien, um die Wiederaufnahme zu ermöglichen).

 2
Author: Daniel Andersson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-26 10:17:12

Soweit ich weiß, sind einige FTP-Server so eingerichtet, dass Dateien beim Herunterladen automatisch entpackt werden. Zum Beispiel listet der Server eine Datei mit dem Namen test.txt.gz, mit Ihrem FTP-Client können Sie eingeben get test.txt, der Server sendet dann die Datei durch Entpacken.

Dies ist die Antwort, die direkt vor Beginn des Downloads gelesen werden kann: 150 Opening ASCII mode data connection for /usr/bin/gzip.

 0
Author: Kay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-06-26 12:40:59

Sie können den Befehl tar verwenden

tar -xfz test.zip
 -1
Author: Sreejith B Naick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-09-26 06:52:26