Cách dễ nhất để sao chép thư mục qua FTP


9

Tôi muốn sao chép một thư mục trên máy chủ FTP mà tôi đã kết nối từ máy Mac của mình thông qua dòng lệnh

Hãy nói tôi có file. Tôi muốn có files2tất cả các filethư mục con và tệp, trong cùng thư mục với bản gốc. Điều gì sẽ là cách đơn giản nhất để đạt được điều này?

BIÊN TẬP:

Với mgetmputbạn có thể tải xuống tất cả các tệp và tải lại chúng vào một thư mục khác nhưng đây chắc chắn KHÔNG phải là thứ tôi muốn / cần (tôi đã bắt đầu câu hỏi này để tránh trùng lặp với phương thức tải xuống này từ ứng dụng khách tải xuống)

Câu trả lời:


8

Những gì bạn có không phải là một dòng lệnh unix, những gì bạn có là một phiên FTP. FTP được thiết kế chủ yếu để tải lên và tải xuống các tệp, nó không được thiết kế để quản lý tệp chung và nó không cho phép bạn chạy các lệnh tùy ý trên máy chủ. Cụ thể, theo như tôi biết, không có cách nào để kích hoạt một bản sao tệp trên máy chủ: tất cả những gì bạn có thể làm là tải xuống tệp sau đó tải nó lên dưới một tên khác.

Một số máy chủ hỗ trợ các tiện ích mở rộng cho giao thức FTP và một trong những tiện ích mở rộng này cho phép bạn sao chép các tệp từ xa. Hãy thử help sitehoặc remotehelpđể xem những phần mở rộng mà máy chủ hỗ trợ.

Nếu bạn muốn một dòng lệnh unix, bạn cần truy cập shell từ xa, thông qua rsh ( r emote sh ell) hoặc phổ biến hơn trong thế kỷ 21 ssh ( s ecure sh ell). Nếu đây là máy chủ web, hãy kiểm tra xem nó có cung cấp quyền truy cập ssh không. Nếu không, liên hệ với quản trị viên hệ thống. Nhưng đừng ngạc nhiên nếu câu trả lời là không: truy cập dòng lệnh sẽ vi phạm bảo mật trong một số thiết lập nhiều người dùng, vì vậy có thể có một lý do chính đáng tại sao nó không được cung cấp.


Tôi sẽ kiểm tra xem tôi nghĩ rằng vấn đề này tổng hợp rất tốt vấn đề !! Cảm ơn rât nhiều!!
Trufa

Chỉ cần làm rõ, Hostgator cung cấp ssh bị bỏ tù trong các tài khoản được chia sẻ.
Trufa

4

Đây là cách thực hiện với lFTP :

# lftp ftp_host
user ftp_user ftp_pass
mirror source target (download entire directory tree)
mirror -R source target (reverse mirror; upload entire directory tree)

1

Điều này là sai bây giờ, nhưng giữ nguyên không bị xóa để cây bình luận không bị mất

cpsao chép tập tin và thư mục; bạn có thể đưa cho nó -rcờ để sao chép đệ quy mọi thứ. Từ thư mục chứa file:

$ cp -r file files2


Nó dường như không hoạt động, tôi đã không đề cập đến (vì tôi mặc dù nó sẽ giống nhau) rằng tôi đang cố gắng thực hiện điều này thông qua kết nối FTP được thiết lập từ thiết bị đầu cuối mac. Nó cho tôi lỗi này: không tìm thấy macro 'cp'. Cảm ơn
Trufa

2
@Trufa ơi! Không, điều đó khá khác biệt; FTP và dòng lệnh hoàn toàn riêng biệt. Tôi đã chỉnh sửa câu hỏi của bạn để hy vọng làm rõ
Michael Mrozek

Tôi rất xin lỗi, mặc dù tôi không bận tâm vì "Tôi đã sử dụng dòng lệnh UNIX qua FTP", đây rõ ràng không phải là trường hợp! Cảm ơn đã chỉnh sửa !!
Trufa

Đây có phải là một câu hỏi cho stackoverflow? nó có thể là một câu hỏi lập trình nhiều hơn một câu hỏi UNIX, tôi không chắc chắn.
Trufa

2
@Trufa Chắc chắn không phải SO. Có thể SU, nhưng tôi nghĩ nó ổn ở đây
Michael Mrozek

1

LFTP hỗ trợ các lệnh cấp cao hơn các giao thức FTP cung cấp, ví dụ mirrorlệnh của nó cung cấp những gì bạn muốn.

Có các chương trình khác với các tính năng tương tự; sitecopy là một ví dụ khác.


Cảm ơn "" có vẻ tốt, sẽ xem xét! Một câu hỏi nữa, khi tôi truy cập thông qua cPanel cho người quản trị tập tin? Tôi đang làm gì vậy, vì dường như địa ngục nhanh hơn để làm một số việc hơn là máng ftp.
Trufa
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.