Я подключился к удаленному серверу через FTP и получил список каталогов. У меня есть несколько zip-файлов в списке.
Можно ли распаковать файл (например, test.zip)? Если да, то какая команда?
linux
ftp
ubuntu-10.10
unzip
Hearaman
источник
источник
...through ubuntu terminal...
Просто ради этого, это не вариант подключения, это приложение. Вы подключались через SSH, SFTP, FTP или каким-либо другим способом?Ответы:
Распаковать файлы через FTP-соединение невозможно. FTP означает «Протокол передачи файлов», который был разработан только для передачи и частичного управления файлами на удаленном конце, но не для выполнения команд. Чтобы распаковать архив, вам нужно выполнить программу наподобие tar, bzip2 или аналогичную, но это невозможно через FTP-соединение.
Вам нужен еще один сеанс, который позволяет вам выполнять команды, такие как SSH. Или вы распаковываете архив на своей машине и переносите содержимое по FTP, что будет значительно медленнее, если у вас есть большое количество небольших файлов из-за нагрузки на FTP.
источник
unzip
.Немного вне контекста, ответ, но, безусловно, работает. Если вы используете Apache + php в этом каталоге ftp, загрузите zip-файл в эту папку и создайте
extractor.php
:и затем нажмите url, например:
http://example.com/extractor.php
bingo php извлечет этот zip для вас.источник
Вы можете сделать это, если вы смонтируете ресурс ftp, используя
curlftpfs
:тогда
источник
Вы можете использовать unzip после запуска sudo apt-get install unzip.
источник
http://linux.about.com/od/commands/a/blcmdl1_unzipx.htm
простой случай - распакуйте тест.zip
источник
Ваша цель - разархивировать его на внешний сервер или вы хотите перенести содержимое архива на свой компьютер ?
Первый случай не решается с помощью FTP, но с помощью SSH или аналогичных методов, как описано в других ответах.
Если вы просто хотите получить разархивированное содержимое «напрямую» на свой собственный компьютер без предварительной явной передачи файлов, а затем разархивировать, вы можете, например, смонтировать FTP-сайт как папку и разархивировать его как обычный zip-файл в папку на вашем локальном компьютере. компьютер. На практике это приведет к потоковой передаче содержимого файла непосредственно в разархивированную программу, так что технически вы действительно передаете весь файл, но только в сжатом состоянии (предположительно экономя трафик), и содержимое будет отображаться непосредственно на вашем локальном компьютере без явного промежуточного шага.
Я не знаю, как указан формат zip-файла, касающийся разархивирования части zip-файла; если вам необходимо передать весь файл или только сжатую часть, соответствующую этому файлу. Я не вижу каких-либо реальных технических причин относительно того, почему нельзя было бы делать такой выборочный перенос (протокол FTP позволяет передавать только частичные файлы для возобновления).
источник
Насколько я знаю, некоторые FTP-серверы настроены на автоматическое распаковывание файлов при загрузке. Например, сервер перечисляет файл с именем
test.txt.gz
, который вы можете набрать с помощью вашего ftp-клиентаget test.txt
, затем сервер отправляет файл через unzip.Это ответ, который можно прочитать прямо перед началом загрузки:
150 Opening ASCII mode data connection for /usr/bin/gzip.
источник
вы можете использовать команду tar
источник
-xzf
вместо-xfz
?site
FTP)