FTP接続を介してファイルを解凍する方法は?


19

FTP経由でリモートサーバーに接続し、ディレクトリ一覧を取得しました。リストにはzipファイルがほとんどありません。

ファイルを解凍することは可能ですか(例:test.zip)。はいの場合、コマンドは何ですか?


解凍インストール後、コマンドは解凍test.zip

...through ubuntu terminal...それだけのために、それは接続オプションではなく、アプリケーションです。SSH、SFTP、FTP、またはその他の方法で接続しましたか?
ボビー

これはftp接続です
-Hearaman

回答:


15

FTP接続でファイルを解凍することはできません。FTPは「ファイル転送プロトコル」の略で、リモートエンドでファイルを転送および部分的に管理するためだけに設計されており、コマンドを実行するためではありません。アーカイブを解凍するには、tar、bzip2などのプログラムを実行する必要がありますが、FTP接続では実行できません。

SSHなどのコマンドを実行できる別のセッションが必要です。または、マシンでアーカイブを解凍し、FTP経由でコンテンツを転送します。FTPのオーバーヘッドのために多数の小さなファイルがある場合、かなり遅くなります。


ファイルを解凍するソフトウェア(linux)はありますか。
ヒーラマン

@Hearamanコマンドunzip
クルーグ

16

文脈から少し外れた答えですが、確かに動作します。そのftpディレクトリでApache + phpを実行している場合、そのフォルダーにzipファイルをアップロードして作成しますextractor.php

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

次に、URL http://example.com/extractor.phpを押します。たとえば、bingo phpはそのzipを展開します。


UNIXはスクリプトでPWD別名非常に便利なスクリプトは、このフォルダのために)(GETCWD使用することができます
Stepo

3

以下を使用してftpリソースをマウントする場合、これを行うことができますcurlftpfs

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

それから

unzip /path/to/mount/test.zip

2
unzipプロセスは、最適化された方法であるはずのサーバー上ではなく、コンピューターによって実行されるため、転送の節約にはなりません。
NetVicious

2

sudo apt-get install unzipを実行した後、unzipを使用できます。


sudo apt-get install unzipを使用してunzipパッケージをインストールしました。しかし、それは私に無効なコマンドを与えています

「unzip filename.zip -d / destination」のように使用できます


2

外部サーバーで解凍するのが目標ですか、それともアーカイブの内容を自分のコンピューターにプルしますか?

最初のケースはFTPによって解決されるのではなく、SSHまたは他の回答で説明されている同様の手法によって解決されます。

最初に明示的にファイルを転送してから解凍せずに、解凍したコンテンツを「直接」自分のコンピューターに取得したい場合は、FTPサイトをフォルダーとしてマウントし、通常のzipファイルとしてローカルの場所に解凍します。コンピューター。これにより、実際にはファイルの内容がunzipプログラムに直接ストリーミングされるため、技術的にファイル全体を転送しますが、zipされた状態でのみ(おそらくトラフィックを節約します)、コンテンツは明示的な中間ステップなしでローカルコンピューターに直接表示されます。

zipファイルの一部を解凍することに関して、zipファイル形式がどのように指定されているかわかりません。それでもファイル全体またはそのファイルに対応する圧縮部分のみを転送する必要がある場合。この種の選択的転送を実行できない理由について、実際の技術的な理由はわかりません(FTPプロトコルでは、再開を可能にするために部分的なファイルのみを転送できます)。


0

私の知る限り、ダウンロード時にファイルを自動的に解凍するように設定されているFTPサーバーがあります。たとえば、サーバーはという名前のファイルを一覧表示test.txt.gzし、ftpクライアントでを入力するget test.txtと、サーバーはファイルをunzipで送信します。

これは、ダウンロードを開始する直前に読むことができる答えです。 150 Opening ASCII mode data connection for /usr/bin/gzip.


-1

tarコマンドを使用できます

tar -xfz test.zip

4
手紙を覚えておく:eXtract Zeeファイル
カナダのルークREINSTATE MONICA

無効なコマンドがコンソールに来ています。
ヒーラマン

-xzf代わりに-xfz
ハイドンWVN

(root権限が必要)sudoでtarをインストールapt-get install tar
Sreejith B Naick

1
このコマンドは、ローカル端末上で動作しますが、FTP接続を介して実行することはできません(使用した場合でも、siteFTPコマンド)
JonathanDavidArndt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.