2011-12-21 29 views

Trả lời

16

Bạn có thể sao chép các tập tin trên từ máy chủ khác sử dụng scp và sau đó sử dụng diff.

Hoặc ssh đến máy chủ từ xa và diff sử dụng một lệnh đơn như thế này:

ssh [email protected] "cat /path/to/remote/file" | diff - /path/to/local/file 
4

Sự khác biệt "-" so với STDIN. Bạn có thể làm một cái gì đó như thế này:

ssh server 'cat file_to_diff' | diff -u localfile - 
8

Nếu bạn so sánh nhiều file, sau đó nhìn lên rsyncrdiff, mà giúp bạn tiết kiệm băng thông của sao chép tất cả các file.

Btw, nếu tệp của bạn quá lớn, vui lòng cập nhật câu hỏi của bạn với thông tin đó.

0

Nếu bạn đang khắc phục sự cố AWS thì có thể có nghĩa là dừng inatanceA rồi gắn ổ đĩa của nó vào cá thểB bạn muốn so sánh.

1

Tôi biết đó là câu trả lời trễ nhưng tôi lấy câu hỏi theo nghĩa đen, không có tệp cục bộ và hai tệp từ xa.
Trong bash (và không chỉ) nó có thể sử dụng quá trình thay[, 2]<(...):

diff <(ssh Server1 'cat /path/to/file1') <(ssh Server2 'cat /path/to/file2') 

Quá trình <(list) được điều hành không đồng bộ, và đầu vào hay đầu ra của nó xuất hiện như tên tệp.

Note

  • Tất nhiên nếu bạn chỉ cần một tập tin từ xa bạn có thể đặt các tập tin địa phương thay vì một trong những <(...).
  • Nếu cả hai tập tin trên cùng một máy chủ, bạn có thể sử dụng một đơn giản

    ssh Server1 'diff /path/to/file1 /path/to/file2' 
    
Các vấn đề liên quan