Odpowiedzi:
ssh user@remote_host "cat remote_file.txt" | diff - local_file.txt
cat
, które w rzeczywistości są tylko oryginalnym plikiem?
ssh
polecenia zdalnego do tego, diff
który oczekuje na porównanie stdin
z plikiem lokalnym.
Próbować:
diff local_file <(ssh user@server 'cat remote_file')
lub używając vimdiff
:
vimdiff local_file scp://server//path/to/remote_file
diff local_file <(ssh user@server 'cat remote_file')
działa tylko w przypadku SSH bez hasła? Wydaje mi się, że nie jestem w stanie uzyskać hasła ...
cat <(ssh user@server 'cat remote_file')
i cat < <(ssh user@server 'cat remote_file')
zobaczyć różnice.
Może nie jest to pomocne w twoim przypadku, ale często po prostu używam
sum -r
na każdej maszynie i ręcznie porównaj sumy kontrolne. Pozwala to na porównywanie plików, nawet jeśli nie są one dostępne przez połączenie ssh. Oczywiście, wszystko, na co odpowiada, to „czy są identyczne”, ale często to wystarcza na moje potrzeby. Ułatwia także sprawdzenie, czy pojedynczy plik jest taki sam na 3 lub 4 lub więcej komputerach.
cat
uruchamianie cat
polecenia tylko wtedy, gdy zostanie stwierdzone, że pliki się różnią.
info coreutils 'sum invocation'
mówi między innymi: „dla zapewnienia zgodności przewidziano„ sumę ”; w nowych aplikacjach preferowany jest program„ cksum ”(patrz następny rozdział).”
Jeśli wolisz bardziej wizualne podejście w sesji terminalu. Midnight Commander ma opcję zdalnego systemu plików (opcja SFTP link ... w menu) oraz opcję wizualnego porównywania plików. Nie jest instalowany domyślnie w większości systemów Linux, ale jest dostępny w większości bazowych repozytoriów. Kroki:
mc
w folderze zawierającym plik do porównaniasftp://<user>@<servername>/<path>
).ins
przycisku wybierz / zaznacz pliki do porównania. ( tab
zmiany między lewym a prawym panelem).Uwaga: do menu komendanta północy można zwykle uzyskać dostęp za pomocą myszy w sesji terminalu. To, co nie działa, F9
powoduje także przejście do menu.
SSHFS
, a następnie uzyskać do niego dostęp tak, jakby był lokalny.