Jawaban:
ssh user@remote_host "cat remote_file.txt" | diff - local_file.txt
cat
, yang sebenarnya hanya file asli?
ssh
perintah remote ke diff
yang menunggu untuk dibandingkan stdin
dengan file lokal.
Mencoba:
diff local_file <(ssh user@server 'cat remote_file')
atau menggunakan vimdiff
:
vimdiff local_file scp://server//path/to/remote_file
diff local_file <(ssh user@server 'cat remote_file')
hanya berfungsi untuk SSH tanpa kata sandi? Sepertinya saya tidak bisa mendapatkan prompt kata sandi dengan itu ...
cat <(ssh user@server 'cat remote_file')
dan cat < <(ssh user@server 'cat remote_file')
lihat perbedaannya.
Mungkin ini tidak membantu dalam kasus Anda, tetapi saya sering hanya menggunakan
sum -r
pada setiap mesin, dan secara manual membandingkan checksum. Itu memungkinkan untuk perbandingan file bahkan ketika mereka tidak dapat dijangkau melalui koneksi ssh. Tentu saja, semua jawabannya adalah "apakah mereka identik", tetapi seringkali itu cukup untuk kebutuhan saya. Ini juga memudahkan untuk memverifikasi bahwa satu file sama pada 3 atau 4 mesin atau lebih.
cat
untuk benar-benar menjalankan cat
perintah ketika telah ditentukan bahwa file berbeda.
info coreutils 'sum invocation'
berkata, antara lain: "'jumlah' disediakan untuk kompatibilitas; program 'cksum' (lihat bagian berikutnya) lebih disukai dalam aplikasi baru."
Jika Anda lebih suka pendekatan yang lebih visual dalam sesi terminal Anda. Komandan tengah malam memiliki opsi sistem file jarak jauh (tautan SFTP ... dalam menu) dan opsi membandingkan file visual. Ini tidak diinstal secara default pada kebanyakan sistem Linux tetapi tersedia di sebagian besar repositori dasar. Tangga:
mc
di folder yang berisi file untuk dibandingkansftp://<user>@<servername>/<path>
).ins
tombol pilih / sorot file yang akan dibandingkan. ( tab
perubahan antara panel kiri dan kanan).Catatan: Menu komandan tengah malam biasanya dapat diakses menggunakan mouse di sesi terminal Anda. Itu yang tidak berhasil F9
membuat Anda di menu juga.
SSHFS
, dan kemudian mengaksesnya seolah itu lokal.