如何通过FTP连接解压缩文件?


19

我已经通过FTP连接到远程服务器,并且得到了目录列表。我在列表中没有几个zip文件。

是否可以解压缩文件(例如:test.zip)?如果是,命令是什么?


解压缩安装后,命令解压缩test.zip

...through ubuntu terminal...仅出于此目的,这不是连接选项,而是应用程序。您是否通过SSH,SFTP,FTP或其他某种方式进行连接?
鲍比2012年

这是ftp连接
Hearaman 2012年

Answers:


15

无法通过FTP连接解压缩文件。FTP代表“文件传输协议”,该协议仅设计用于在远程端传输和部分管理文件,而不能执行命令。要解压缩档案,您必须执行tar,bzip2或类似程序,但无法通过FTP连接进行。

您需要另一个会话,该会话允许您执行命令,例如SSH。或者,您可以将压缩文件解压缩到计算机上,然后通过FTP传输内容,如果由于FTP的开销而拥有大量小文件,这将相当慢。


是否有任何软件(Linux)来解压缩我的文件。
Hearaman 2012年

@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';
}

然后点击网址,例如:http://example.com/extractor.phpbingo php将为您提取该zip。


非常有用的脚本,您可以在脚本中将此文件夹也称为unix pwd使用getcwd()
Stepo 18'Dec

3

如果使用curlftpfs以下方式挂载ftp资源,则可以执行此操作:

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

然后

unzip /path/to/mount/test.zip

2
如果无法为您省钱,那是因为解压缩过程将由您的计算机完成,而不是在服务器上进行,这应该是优化的方式。
NetVicious

2

您可以在运行sudo apt-get install unzip之后使用unzip。


我已经使用sudo apt-get install unzip安装了解压缩软件包。但这给了我无效的命令

您可以像“ unzip filename.zip -d / destination”一样使用它


2

您的目标是将其解压缩到外部服务器上,还是要将存档内容拉到您自己的计算机上

第一种情况不能通过FTP解决,而可以通过SSH或其他答案中描述的类似技术解决。

如果您只是想直接将解压缩后的内容“直接”获取到自己的计算机上,而无需先显式传输文件然后解压缩,则可以例如将FTP站点挂载为文件夹,然后将其作为常规zip文件解压缩到本地计算机上的某个位置。电脑。实际上,这会将文件内容直接流式传输到解压缩程序,因此从技术上讲,您确实要传输整个文件,但仅在其压缩状态下(大概可以节省流量),并且内容将直接显示在本地计算机上,而无需进行明确的中间步骤。

我不知道关于仅解压缩zip文件的一部分的zip文件格式如何指定;如果您仍然需要传输整个文件,或者仅传输与该文件相对应的压缩部分。对于为何无法进行这种选择性传输,我没有任何真正的技术原因(FTP协议仅允许传输部分文件以启用恢复)。


0

据我所知,有些FTP服务器已设置为在下载时自动解压缩文件。例如,服务器列出一个名为的文件test.txt.gz,您可以使用ftp客户端键入get test.txt,然后服务器通过解压缩发送该文件。

这是可以在下载开始之前立即阅读的答案: 150 Opening ASCII mode data connection for /usr/bin/gzip.


-1

您可以使用tar命令

tar -xfz test.zip


我的控制台中出现无效命令。
Hearaman 2012年

-xzf代替-xfz
HaydnWVN 2012年

(需要root权限)通过sudo apt-get install tar安装tar
Sreejith B Naick 2012年

1
此命令在本地终端上有效,但不能通过FTP连接运行(即使使用siteFTP命令也是如此)
JonathanDavidArndt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.