Bagaimana cara unzip file melalui koneksi FTP?

19

Saya telah terhubung ke server jarak jauh saya melalui FTP dan saya mendapat daftar direktori. Saya punya beberapa file zip dalam daftar.

Apakah mungkin untuk unzip file tersebut (Ex: test.zip) ?. Jika ya, apa perintahnya?

Hearaman
sumber
setelah unzip instal, perintahnya adalah unzip test.zip
...through ubuntu terminal...Demi itu saja, itu bukan opsi koneksi, itu aplikasi. Apakah Anda terhubung melalui SSH, SFTP, FTP atau cara lain?
Bobby
Ini adalah koneksi ftp
Hearaman

Jawaban:

15

Tidak dapat melakukan unzip file melalui koneksi FTP. FTP adalah singkatan dari "File Transfer Protocol", yang hanya dirancang untuk mentransfer dan mengelola sebagian file pada ujung jarak jauh, tetapi tidak untuk menjalankan perintah. Untuk membongkar arsip Anda harus menjalankan program seperti tar, bzip2 atau sejenisnya, tetapi itu tidak mungkin melalui koneksi FTP.

Anda memerlukan sesi lain yang memungkinkan Anda untuk mengeksekusi perintah, seperti SSH. Atau Anda membongkar arsip pada mesin Anda dan mentransfer konten melalui FTP, yang akan jauh lebih lambat jika Anda memiliki sejumlah besar file kecil karena overhead FTP.

Polisi
sumber
apakah ada software (linux) untuk unzip file saya.
Hearaman
@ Dengar perintahnya unzip.
Kruug
16

Sedikit keluar dari konteks tapi pasti berhasil. Jika Anda menjalankan Apache + php pada direktori ftp itu maka unggah file zip Anda di folder itu dan buat extractor.php:

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

dan kemudian tekan url misalnya: http://example.com/extractor.phpbingo php akan mengekstrak zip itu untuk Anda.

Touqeer Shafi
sumber
skrip yang sangat berguna, Anda dapat menggunakan getcwd () untuk folder ini alias unix pwd dalam skrip
Stepo
3

Anda dapat melakukannya jika memasang sumber ftp menggunakan curlftpfs:

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

kemudian

unzip /path/to/mount/test.zip
jet
sumber
2
Jika tidak akan menghemat apa pun untuk transfer, karena proses unzip akan dilakukan oleh komputer Anda dan bukan pada server yang seharusnya menjadi cara optimal untuk melakukannya.
NetVicious
2

Anda dapat menggunakan unzip setelah menjalankan sudo apt-get install unzip.


sumber
Saya telah menginstal paket unzip menggunakan sudo apt-get install unzip. Tapi itu memberi saya perintah yang tidak valid
Anda dapat menggunakannya seperti "unzip filename.zip -d / destination"
2

Apakah tujuan Anda untuk unzip di server eksternal , atau Anda ingin menarik konten arsip ke komputer Anda sendiri ?

Kasus pertama tidak diselesaikan oleh FTP, tetapi oleh SSH atau teknik serupa seperti yang dijelaskan dalam jawaban lain.

Jika Anda hanya ingin mendapatkan konten yang tidak di-zip "langsung" ke komputer Anda sendiri tanpa terlebih dahulu mentransfer file dan kemudian membuka ritsleting, Anda dapat mis. Me-mount situs FTP sebagai folder dan unzip sebagai file zip biasa ke lokasi di lokal Anda komputer. Ini akan dalam praktek streaming isi file langsung ke program unzip, sehingga Anda secara teknis tidak mentransfer seluruh file, tetapi hanya dalam keadaan zip-nya (mungkin menghemat lalu lintas) dan isi akan muncul secara langsung di komputer lokal tanpa langkah menengah eksplisit.

Saya tidak tahu bagaimana format file zip ditentukan hanya dengan membuka ritsleting bagian dari file zip; Namun, jika Anda perlu mentransfer seluruh file atau hanya bagian yang dikompresi yang sesuai dengan file itu. Saya tidak melihat alasan teknis nyata mengapa tidak mungkin untuk melakukan transfer selektif semacam ini (protokol FTP hanya memungkinkan mentransfer file parsial untuk memungkinkan melanjutkan).

Daniel Andersson
sumber
0

Sejauh yang saya tahu beberapa server FTP diatur untuk secara otomatis unzip file saat diunduh. Sebagai contoh, server mencantumkan file bernama test.txt.gz, dengan klien ftp Anda, Anda dapat mengetik get test.txt, server kemudian mengirim file melalui unzip.

Ini adalah jawaban yang dapat dibaca tepat sebelum unduhan dimulai: 150 Opening ASCII mode data connection for /usr/bin/gzip.

Kay
sumber
-1

Anda dapat menggunakan perintah tar

tar -xfz test.zip
Sreejith B Naick
sumber
4
Untuk mengingat huruf-huruf: eXtract Zee Files
Luke Kanada REINSTATE MONICA
perintah yang tidak valid datang di konsol saya.
Hearaman
dengan -xzfbukan -xfz?
HaydnWVN
(Membutuhkan root permision) instal tar oleh sudo apt-get install tar
Sreejith B Naick
1
Perintah ini bekerja pada terminal lokal, tetapi TIDAK dapat dijalankan melalui koneksi FTP (bahkan ketika menggunakan siteperintah FTP)
JonathanDavidArndt