Como descompactar arquivos através de uma conexão FTP?

19

Conectei meu servidor remoto via FTP e recebi uma listagem de diretórios. Eu tenho alguns arquivos zip na lista.

É possível descompactar o arquivo (Ex: test.zip) ?. Se sim, qual é o comando?

Hearaman
fonte
depois de descompactar a instalação, o comando é descompactado test.zip
...through ubuntu terminal...Só por isso, isso não é uma opção de conexão, é um aplicativo. Você se conectou via SSH, SFTP, FTP ou algum outro meio?
Bobby
Esta é a conexão FTP
Hearaman 26/09/12

Respostas:

15

Não é possível descompactar arquivos em uma conexão FTP. FTP significa "File Transfer Protocol", que foi projetado apenas para transferir e gerenciar parcialmente arquivos na extremidade remota, mas não para executar comandos. Para descompactar um arquivo, é necessário executar um programa como tar, bzip2 ou similar, mas isso não é possível através de uma conexão FTP.

Você precisa de outra sessão que permita executar comandos, como SSH. Ou você descompacta o arquivo morto em sua máquina e transfere o conteúdo via FTP, o que será consideravelmente mais lento se você tiver um grande número de arquivos pequenos devido à sobrecarga do FTP.

Bobby
fonte
existem softwares (linux) para descompactar meus arquivos.
Hearaman 26/09/12
@Hearaman o comando unzip.
Kruug
16

Resposta um pouco fora do contexto, mas certamente funciona. Se você estiver executando um Apache + php nesse diretório ftp, faça o upload do seu arquivo zip nessa pasta e crie extractor.php:

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

e pressione URL, por exemplo: o http://example.com/extractor.phpbingo php extrairá esse zip para você.

Touqeer Shafi
fonte
script muito útil, você pode usar o getcwd () para esta pasta, também conhecido como unix pwd, no script #
Stepo
3

Você pode fazer isso se montar o recurso ftp usando curlftpfs:

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

então

unzip /path/to/mount/test.zip
jato
fonte
2
Se você não economizar nada em transferência, porque o processo de descompactação será feito pelo seu computador e não pelo servidor, que deve ser a maneira otimizada de fazê-lo.
NetVicious
2

Você pode usar o descompactação após executar o sudo apt-get install descompactar.


fonte
Eu instalei o pacote descompactar usando o sudo apt-get install descompacte. Mas ele está me dando comando inválido
Você pode usá-lo como "descompacte filename.zip -d / destination"
2

Seu objetivo é descompactá-lo no servidor externo ou você deseja extrair o conteúdo do arquivo para o seu próprio computador ?

O primeiro caso não é resolvido pelo FTP, mas pelo SSH ou técnicas semelhantes, conforme descrito em outras respostas.

Se você deseja obter o conteúdo descompactado "diretamente" para o seu computador, sem primeiro transferir explicitamente os arquivos e depois descompactar, você pode, por exemplo, montar o site FTP como uma pasta e descompactá-lo como um arquivo zip normal para um local no seu local computador. Esta vontade na prática transmitir o conteúdo do arquivo diretamente para o programa de descompactação, para que tecnicamente não transferir o arquivo inteiro, mas apenas em seu estado compactado (presumivelmente salvar tráfego) e o conteúdo aparecerá diretamente em seu computador local, sem a etapa intermediária explícito.

Não sei como o formato do arquivo zip é especificado, apenas descompactando parte de um arquivo zip; se você precisar transferir o arquivo inteiro, no entanto, ou apenas a parte compactada correspondente a esse arquivo. Não vejo nenhuma razão técnica real sobre o motivo pelo qual não seria possível fazer esse tipo de transferência seletiva (o protocolo FTP permite apenas a transferência de arquivos parciais para permitir a retomada).

Daniel Andersson
fonte
0

Tanto quanto sei, alguns servidores FTP estão configurados para descompactar automaticamente os arquivos no download. Por exemplo, o servidor lista um arquivo chamado test.txt.gz, com seu cliente ftp, você pode digitar get test.txt; o servidor envia o arquivo descompactando.

Esta é a resposta que pode ser lida antes do início do download: 150 Opening ASCII mode data connection for /usr/bin/gzip.

Kay
fonte
-1

você pode usar o comando tar

tar -xfz test.zip
Sreejith B Naick
fonte
4
Para lembrar das cartas: eXtract Zee Files
Luke canadense REINSTATE MONICA
comando inválido está chegando no meu console.
Hearaman 26/09/12
com em -xzfvez de -xfz?
precisa saber é o seguinte
(Requer permissão root) install tar pelo sudo apt-get install tar
Sreejith B Naick
1
Este comando funciona no terminal local, mas NÃO pode ser executado em uma conexão FTP (mesmo quando se usa o sitecomando FTP)
JonathanDavidArndt