Câu trả lời:
ssh user@remote_host "cat remote_file.txt" | diff - local_file.txt
cat
, mà thực tế chỉ là tệp gốc?
ssh
lệnh từ xa đến lệnh diff
đang chờ để so sánh stdin
với localfile.
Thử:
diff local_file <(ssh user@server 'cat remote_file')
hoặc sử dụng vimdiff
:
vimdiff local_file scp://server//path/to/remote_file
diff local_file <(ssh user@server 'cat remote_file')
chỉ hoạt động cho SSH không mật khẩu? Tôi dường như không thể nhận được lời nhắc mật khẩu với nó ...
cat <(ssh user@server 'cat remote_file')
và cat < <(ssh user@server 'cat remote_file')
để thấy sự khác biệt.
Có thể điều này không hữu ích trong trường hợp chính xác của bạn, nhưng tôi thường chỉ sử dụng
sum -r
trên mỗi máy và so sánh thủ công. Điều đó cho phép so sánh các tập tin ngay cả khi chúng không thể truy cập thông qua kết nối ssh. Tất nhiên, tất cả những gì nó trả lời là "chúng giống hệt nhau", nhưng thường thì nó đủ cho nhu cầu của tôi. Nó cũng giúp bạn dễ dàng xác minh rằng một tệp duy nhất giống nhau trên 3 hoặc 4 máy trở lên.
cat
để chỉ thực sự chạy cat
lệnh khi nó đã được xác định rằng các tệp khác nhau.
info coreutils 'sum invocation'
nói, inter alia: "'sum' được cung cấp để tương thích, chương trình 'cksum' (xem phần tiếp theo) thích hợp hơn trong các ứng dụng mới."
Nếu bạn muốn một cách tiếp cận trực quan hơn trong phiên cuối của bạn. Bộ chỉ huy nửa đêm có tùy chọn hệ thống tệp từ xa (tùy chọn SFTP link ... trong menu) và tùy chọn so sánh tệp trực quan. Nó không được cài đặt theo mặc định trên hầu hết các hệ thống Linux nhưng có sẵn trong hầu hết các kho lưu trữ cơ sở. Các bước:
mc
:) trong thư mục chứa tệp cần so sánhsftp://<user>@<servername>/<path>
).ins
phím chọn / tô sáng các tệp cần so sánh. ( tab
thay đổi giữa bảng điều khiển bên trái và bên phải).Lưu ý: Menu lệnh nửa đêm thường có thể được truy cập bằng chuột trong phiên cuối của bạn. Nó không hoạt động F9
sẽ đưa bạn vào menu.
SSHFS
, và sau đó truy cập nó như thể nó là cục bộ.