Як розпакувати файли через з'єднання FTP?


19

Я підключився до свого віддаленого сервера через FTP і отримав список каталогів. У списку є кілька файлів zip.

Чи можна розпакувати файл (наприклад: test.zip) ?. Якщо так, то яка команда?


після розпакування встановіть команду unzip test.zip

...through ubuntu terminal... Просто заради цього, це не варіант підключення, це додаток. Ви підключилися через SSH, SFTP, FTP або інші засоби?
Bobby

Це ftp-з'єднання
Hearaman

Відповіді:


14

Неможливо розпакувати файли через з'єднання FTP. FTP означає "Протокол передачі файлів", який призначений тільки для передачі та часткового управління файлами на віддаленому кінці, але не для виконання команд. Щоб розпакувати архів, потрібно виконати програму, таку як tar, bzip2 або подібне, але це неможливо через FTP-з'єднання.

Потрібна інша сесія, яка дозволяє виконувати команди, наприклад SSH. Або розпакуйте архів на своєму комп'ютері та передайте вміст через FTP, що буде значно повільніше, якщо у вас є велика кількість невеликих файлів через накладні витрати FTP.


є будь-які програмні засоби (linux) для розпакування моїх файлів.
Hearaman

@Ядерна команда unzip.
Kruug

14

Трохи поза контекстом відповідь, але, безумовно, працює. Якщо ви запускаєте Apache + php на цьому ftp-каталозі, завантажте свій 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 бінго php витягує цей zip для вас.


дуже корисний скрипт, ви можете використовувати getcwd () для цієї папки, що називається unix pwd в сценарії
Stepo

3

Ви можете зробити це, якщо використовуєте ресурс ftp curlftpfs:

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

потім

unzip /path/to/mount/test.zip

2
Якщо ви не врятуєте нічого від передачі, тому що процес розпакування буде зроблений вашим комп'ютером, а не сервером, який повинен бути оптимізованим способом зробити це.
NetVicious

2

Ви можете використовувати unzip після запуску sudo apt-get install unzip.


Я встановив розпакувати пакунок за допомогою sudo apt-get install unzip. Але це дає мені недійсну команду

Ви можете використовувати його як "unzip filename.zip -d / destination"

2

http://linux.about.com/od/commands/a/blcmdl1_unzipx.htm

простий випадок - розпакуйте test.zip


Це було дуже легко. Я завантажив zip-файл через FTP, а потім скористався SSH для доступу до сервера, де я запустив просту команду unzip nameoffile. Дякую.
fmz

1

Ваша мета розпакувати його на зовнішньому сервері , або ви хочете витягти вміст архіву на свій комп'ютер ?

Перший випадок не вирішується FTP, а SSH або подібними методами, описаними в інших відповідях.

Якщо ви просто хочете отримати розпакований вміст "безпосередньо" на свій комп'ютер, не спочатку явно передавши файли, а потім розпакуйте, можна, наприклад монтуйте FTP-сайт як папку і розпакуйте його як звичайний файл 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

3
Запам'ятати букви: eXtract Zee Files
Canadian Luke

в мою консоль приходить недійсна команда.
Hearaman

с -xzf замість -xfz?
HaydnWVN

(Потрібен кореневий дозвіл) встановіть tar на sudo apt-get install tar
Sreejith B Naick

спробуйте відкрити посилання на ftp в Nautilus, клацніть правою кнопкою миші на zip-файлі і перевірте, чи є опція "тут витягти".
Sreejith B Naick
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.