Lệnh sao chép Unix có thanh tiến trình, nhưng không nặng bằng rsync


14

Tôi cần phải sao chép nhiều tập tin. Thông thường tôi sử dụng rsync vì tôi vượt qua các -aPtùy chọn và tôi có thể thấy (a) có bao nhiêu tệp còn lại để xử lý và (b) bao nhiêu của mỗi tệp riêng lẻ được sao chép.

Tuy nhiên, rsync cũng thực hiện nhiều thao tác với tổng kiểm tra để xác minh rằng một tệp đã được sao chép. Tuy nhiên tôi không thực sự cần điều đó ngay bây giờ. Nhưng bình thường cpkhông bao gồm số lượng tệp được đề cập ở trên, rất hữu ích.

Có bất cứ điều gì như thế cpbao gồm tiến trình của bao nhiêu tệp còn lại, nhưng không nặng bằng rsync?

Câu trả lời:


21

Bạn có thể chạy rsync bằng công tắc -W, công cụ này sẽ vô hiệu hóa tổng kiểm tra.


6

Vì vậy, đây có phải là một bí danh phù hợp cho đề xuất của bạn?

cp_p() {
    rsync -WavP $1 $2
}

-W -không sử dụng thuật toán chuyển delta
-a chế độ lưu trữ
-v verbose
-P hiển thị thanh tiến trình và giữ lại một phần tệp

một lựa chọn khác tôi tìm thấy ở một số nơi . yêu cầu gói pv (pipeviewer) mặc dù.

cp_pv() {
    pv -per $1 > $2
}

-p hiển thị tiến trình
-e hiển thị eta
-r hiển thị tỷ lệ
-n hiển thị đầu ra số

/ chỉnh sửa Bây giờ tôi đã kiểm tra các bí danh trên và có thể xác nhận chúng hoạt động. Có một số lỗi chính tả trước đây


Điều này dường như chỉ hỗ trợ sao chép một tệp vào một tệp có tên chứ không phải là một thư mục. Nếu tôi muốn sao chép nhiều tập tin thì sao? Hay một thư mục?
einpoklum

Vâng, đây chỉ là bí danh, vì vậy bạn có thể thử nghiệm các lệnh thô thực tế bên trong để xem những gì phù hợp với bạn. Tôi chắc chắn rsync hỗ trợ các thư mục và các chỉ định đường dẫn khác. Bạn có thể dễ dàng tùy chỉnh các bí danh để làm cho nó hoạt động cho tình huống cụ thể của bạn. Hãy chia sẻ nếu bạn làm cho nó hoạt động. IIRC Tôi đã sử dụng nó với các thư mục trước đây mà không có vấn đề gì.
Vijay

3

bạn chỉ có thể tát tùy chọn -v trên cp cmd hoặc sử dụng scp vào localhost


-v là một khởi đầu tốt và nó khá hữu ích, nhưng tôi muốn biết thêm thông tin về chính xác số lượng tệp còn lại / đã được sao chép / etc
Rory

2
Sau đó, bạn muốn giải pháp của Stefan Wolff.
egorgry


1

Đó là quá mức cần thiết với chi phí mã hóa, nhưng bạn có thể sử dụng scpcục bộ:

scp <file-from> <file-to>

Nó sẽ hiển thị tiến trình trong khi sao chép.


Atleast trên OSX, scpkhông hiển thị bất kỳ thanh tiến trình nào theo mặc định vì nó sử dụng cpdưới mui xe khi các tệp cục bộ có liên quan.
Srid nói Phục hồi lại

1

gcplà công cụ tốt Ở đây bạn có gói PyPI , nhưng cũng có thể tìm thấy gói này trong gói distro (ví dụ trong debian / ub Ubuntu apt-get install gcp thực hiện công việc).

Ngoài ra còn có một bài viết hướng dẫn tốt đẹp về gcp .

$ gcp -r Solaar / solaar2

Sao chép 7.53 MiB 100% | ############################## | 134,92 M / s Thời gian: 00:00:00
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.