Ich habe eine Verbindung zu meinem Remote-Server über FTP hergestellt und eine Verzeichnisliste erhalten. Ich habe einige zip-Dateien in der Liste.
Ist es möglich, die Datei zu entpacken (Beispiel: test.zip)? Wenn ja, wie lautet der Befehl?
linux
ftp
ubuntu-10.10
unzip
Hörmann
quelle
quelle
...through ubuntu terminal...
Das ist keine Verbindungsoption, sondern eine Anwendung. Haben Sie eine Verbindung über SSH, SFTP, FTP oder auf andere Weise hergestellt?Antworten:
Es ist nicht möglich, Dateien über eine FTP-Verbindung zu entpacken. FTP steht für "File Transfer Protocol" (Dateiübertragungsprotokoll), das nur zum Übertragen und teilweisen Verwalten von Dateien auf der Remote-Seite, jedoch nicht zum Ausführen von Befehlen entwickelt wurde. Um ein Archiv zu entpacken, müssen Sie ein Programm wie tar, bzip2 oder ähnliches ausführen, aber das ist nicht über eine FTP-Verbindung möglich.
Sie benötigen eine weitere Sitzung, in der Sie Befehle wie SSH ausführen können. Oder Sie entpacken das Archiv auf Ihrem Computer und übertragen den Inhalt per FTP. Dies ist aufgrund des Overheads von FTP erheblich langsamer, wenn Sie eine große Anzahl kleiner Dateien haben.
quelle
unzip
.Etwas aus dem Zusammenhang geratene Antwort funktioniert aber sicher. Wenn Sie in diesem FTP-Verzeichnis Apache + PHP ausführen, laden Sie Ihre ZIP-Datei in diesen Ordner und erstellen Sie
extractor.php
:und dann drücke url zB:
http://example.com/extractor.php
bingo php wird diese zip für dich extrahieren.quelle
Sie können dies tun, wenn Sie eine FTP-Ressource bereitstellen, indem Sie Folgendes verwenden
curlftpfs
:dann
quelle
Sie können unzip verwenden, nachdem Sie sudo apt-get install unzip ausgeführt haben.
quelle
http://linux.about.com/od/commands/a/blcmdl1_unzipx.htm
einfacher Fall - entpacke test.zip
quelle
Ist 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 den entpackten Inhalt nur "direkt" auf Ihren eigenen Computer übertragen möchten, ohne die Dateien zuerst explizit zu übertragen und dann zu entpacken, können Sie z. B. die FTP-Site als Ordner bereitstellen und als normale Zip-Datei an einen Ort in Ihrer Nähe entpacken Computer. Dies wird in der Praxis streamen die Dateiinhalte direkt auf das Programm entpacken, so dass Sie technisch Sie die gesamte Datei übertragen, aber nur in seinem Reißverschluss Zustand (vermutlich Einsparung Verkehr) und der Inhalt wird direkt auf dem lokalen Computer ohne ausdrücklichen Zwischenschritt erscheinen.
Ich weiß nicht, wie das Zip-Dateiformat angegeben wird, wenn nur ein Teil einer Zip-Datei entpackt wird. Wenn Sie dennoch die gesamte Datei oder nur den dieser Datei entsprechenden komprimierten Teil übertragen müssen. 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).
quelle
Soweit ich weiß, sind einige FTP-Server so eingerichtet, dass sie Dateien beim Herunterladen automatisch entpacken. Zum Beispiel listet der Server eine Datei mit dem Namen auf
test.txt.gz
. Mit Ihrem FTP-Client, den Sieget test.txt
eingeben können , sendet der Server die Datei dann durch Entpacken.Dies ist die Antwort, die vor dem Download gelesen werden kann:
150 Opening ASCII mode data connection for /usr/bin/gzip.
quelle
Sie können den Befehl tar verwenden
quelle
-xzf
statt-xfz
?site
FTP-Befehl verwendet wird)