Thanh tiến trình cho lệnh scp


92

Có cách nào để hiển thị thanh tiến trình trong khi sao chép từ máy chủ sang cục bộ (hoặc ngược lại) bằng cách sử dụng scpkhông?


Bây giờ tôi đang nhận được tỷ lệ phần trăm. Nhưng tôi cần một thanh tiến trình.
Abdul Shajin

Có một kịch bản xung quanh nhưng tôi không biết làm thế nào để nó hoạt động được
Uri Herrera

1
Bạn có thể thay đổi tập lệnh này cho thanh tiến trình cho 'cp'`: chris-lamb.co.uk/2008/01/24/ mẹo
Rinzwind

scp -r không hiển thị thanh tiến trình nhưng nó cho tỷ lệ phần trăm của mỗi tệp
spyderman4g63 20/07/2015

Câu trả lời:


92

Tôi không nghĩ rằng điều này có thể được thực hiện với scp. Lần trước tôi cần một cái gì đó như thế này tức là tiến trình hiển thị, tôi đã sử dụng rsyncthay thế. Nó cho thấy sự tiến bộ trong một cách giống như thanh. Xem nếu nó làm việc cho bạn.

Bạn sẽ cần phải sử dụng --progresstùy chọn rsync. Bạn có thể sử dụng lệnh sau:

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/

1
Tôi sẽ đăng một cái gì đó tương tự nhưng khi tôi thử nghiệm nó, tôi chỉ nhận được 2741851 0% 700.39kB/s 0:17:21và không có thanh tiến trình đồ họa (những gì tôi nghĩ OP muốn).
Oli

1
@Oli: Tôi nghĩ đó là vì bạn đang sao chép một tệp rất nhỏ. Sao chép kết thúc trước khi rsync có thể hiển thị tiến trình. Nếu bạn sao chép một tệp lớn hơn thì bạn sẽ nhận được một thanh tiến trình.
binW

1
Đối với bất kỳ ai đang tìm kiếm cp với thanh tiến trình, rsync hoạt động rất tốt tại địa phương, vì vậy câu trả lời này cũng có câu hỏi đó! (Chỉ cần để lại -e ssh user@remote-system:một bản sao địa phương và man rsyncgiải thích nhiều, nhiều lựa chọn)
hiền nhân

1
Nếu bạn muốn kết nối với một cổng SSH khác với mặc định, bạn có thể sử dụng một cái gì đó nhưrsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
chết tiệt

4
tại sao sử dụng rsync trong khi bạn chỉ cần thêm -vvàoscp
Samir Sabri

64

Công -vtắc hoạt động tốt.

Thí dụ:

5% 9232KB 357,5KB / giây 07:48 ETA


6
Đó là câu trả lời đúng.
int_32

Đó phải là câu trả lời đúng! tại sao phải bận tâm và cài đặt rsync
Samir Sabri

3
Nó dường như không hoạt động khi sử dụng -3.
fuero

1
@fuero man scp: " -3Bản sao giữa hai máy chủ từ xa được truyền qua máy chủ cục bộ. Nếu không có tùy chọn này, dữ liệu sẽ được sao chép trực tiếp giữa hai máy chủ từ xa. Lưu ý rằng tùy chọn này vô hiệu hóa đồng hồ đo tiến độ. "
The Guy with The Hat

4

Tôi không biết làm thế nào để làm điều này trong một dòng lệnh. Tôi chắc chắn là có thể nhưng có một phương pháp đồ họa để làm điều này.

Nautilus (trình duyệt tệp mặc định trong Ubuntu) có thể gắn máy chủ ssh / sftp. Chúng hoạt động như một hệ thống tệp cục bộ sau đó và bạn có thể sao chép các tệp xung quanh như bình thường. Và bạn có được thanh tiến trình thông thường mà bạn sẽ làm với một bản sao bình thường.

Nhìn dưới Filemenu choConnect to server...


4

Kể từ năm 2018, tiến độ và ETA được hiển thị theo mặc định và có thể bị vô hiệu hóa bởi -q


không phải trên macos, lol!
Drachenfels

Với điều này, bạn có nghĩa là tiến bộ tổng thể hoặc trên cơ sở mỗi tệp? Tôi chỉ thấy nó trên cơ sở mỗi tệp trong Debian 9. mới cài đặt của tôi
mazunki
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.