Làm cách nào để giải nén tập tin qua kết nối FTP?


19

Tôi đã kết nối với máy chủ từ xa thông qua FTP và tôi có một danh sách thư mục. Tôi có một vài tập tin zip trong danh sách.

Có thể giải nén tệp (Ví dụ: test.zip)?. Nếu có, lệnh là gì?


Sau khi cài đặt giải nén, lệnh là giải nén test.zip

...through ubuntu terminal...Chỉ vì lợi ích của nó, đó không phải là một tùy chọn kết nối, đó là một ứng dụng. Bạn đã kết nối qua SSH, SFTP, FTP hoặc một số phương tiện khác?
Bobby

Đây là kết nối ftp
Hearaman

Câu trả lời:


15

Không thể giải nén các tập tin qua kết nối FTP. FTP là viết tắt của "Giao thức truyền tệp", chỉ được thiết kế để chuyển và quản lý một phần tệp ở đầu từ xa, nhưng không thực hiện các lệnh. Để giải nén một kho lưu trữ, bạn phải thực hiện một chương trình như tar, bzip2 hoặc tương tự, nhưng điều đó là không thể thông qua kết nối FTP.

Bạn cần một phiên khác cho phép bạn thực thi các lệnh, như SSH. Hoặc bạn giải nén tệp lưu trữ trên máy của mình và chuyển nội dung qua FTP, việc này sẽ chậm hơn đáng kể nếu bạn có một số lượng lớn tệp nhỏ do chi phí hoạt động của FTP.


có phần mềm nào (linux) để giải nén các tập tin của tôi không.
Hearaman

@Hearaman lệnh unzip.
Kruug

16

Một chút ra khỏi câu trả lời bối cảnh nhưng chắc chắn hoạt động. Nếu bạn đang chạy Apache + php trên thư mục ftp đó, hãy tải lên tệp zip của bạn trong thư mục đó và tạo extractor.php:

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

và sau đó nhấn url, ví dụ: http://example.com/extractor.phpbingo php sẽ giải nén zip đó cho bạn.


tập lệnh rất hữu ích, bạn có thể sử dụng getcwd () cho thư mục này hay còn gọi là unix pwd trong tập lệnh
Stepo

3

Bạn có thể làm điều đó nếu bạn gắn tài nguyên ftp bằng cách sử dụng curlftpfs:

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

sau đó

unzip /path/to/mount/test.zip

2
Nếu bạn không tiết kiệm được gì cho việc chuyển tiền, bởi vì quá trình giải nén sẽ được thực hiện bởi máy tính của bạn chứ không phải trên máy chủ, đó là cách tối ưu hóa để thực hiện.
NetVicy

2

Bạn có thể sử dụng giải nén sau khi chạy sudo apt-get install unzip.


tôi đã cài đặt gói giải nén bằng sudo apt-get install unzip. Nhưng nó đang cho tôi lệnh không hợp lệ

Bạn có thể sử dụng nó như "unzip filename.zip -d / Destination"


2

Mục tiêu của bạn là giải nén nó trên máy chủ bên ngoài hay bạn muốn kéo nội dung lưu trữ vào máy tính của mình ?

Trường hợp đầu tiên không được giải quyết bằng FTP, mà bằng SSH hoặc các kỹ thuật tương tự như được mô tả trong các câu trả lời khác.

Nếu bạn chỉ muốn nhận nội dung được giải nén "trực tiếp" vào máy tính của mình mà không cần chuyển các tệp một cách rõ ràng và sau đó giải nén, bạn có thể gắn trang FTP dưới dạng thư mục và giải nén nó dưới dạng tệp zip bình thường vào vị trí trên máy cục bộ của bạn máy vi tính. Điều này trong thực tế sẽ truyền trực tiếp nội dung tệp vào chương trình giải nén, do đó về mặt kỹ thuật, bạn thực hiện chuyển toàn bộ tệp, nhưng chỉ ở trạng thái nén (có lẽ là lưu lưu lượng) và nội dung sẽ xuất hiện trực tiếp trên máy tính cục bộ của bạn mà không cần bước trung gian rõ ràng.

Tôi không biết làm thế nào định dạng tệp zip được chỉ định liên quan đến việc chỉ giải nén một phần của tệp zip; nếu bạn cần chuyển toàn bộ tập tin hoặc chỉ phần nén tương ứng với tập tin đó. Tôi không thấy bất kỳ lý do kỹ thuật thực sự nào về lý do tại sao không thể thực hiện loại chuyển giao có chọn lọc này (giao thức FTP chỉ cho phép truyền các phần một phần để cho phép tiếp tục lại).


0

Theo tôi biết một số máy chủ FTP được thiết lập để tự động giải nén các tệp khi tải xuống. Ví dụ: máy chủ liệt kê một tệp có tên test.txt.gz, với ứng dụng khách ftp của bạn, bạn có thể nhập get test.txt, máy chủ sẽ gửi tệp qua giải nén.

Đây là câu trả lời có thể được đọc ngay trước khi bắt đầu tải xuống: 150 Opening ASCII mode data connection for /usr/bin/gzip.


-1

bạn có thể sử dụng lệnh tar

tar -xfz test.zip

4
Để ghi nhớ các chữ cái: eXtract Zee Files
Canada Luke REINSTATE MONICA

lệnh không hợp lệ đang đến trong bảng điều khiển của tôi.
Hearaman

với -xzfthay vì -xfz?
HaydnWVN

(Yêu cầu hoán vị gốc) cài đặt tar bằng sudo apt-get install tar
Sreejith B Naick

1
Lệnh này hoạt động trên thiết bị đầu cuối cục bộ, nhưng KHÔNG thể chạy qua kết nối FTP (ngay cả khi sử dụng sitelệnh FTP)
JonathanDavidArndt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.