Je suis connecté sur un hôte via ssh
et je voudrais comparer (disons avec diff
) un certain fichier de configuration avec son homologue sur un autre hôte, également accessible via ssh
, sans avoir à télécharger manuellement le fichier distant avant d'exécuter le diff.
ssh user@remote_Host "cat remote_file.txt" | diff - local_file.txt
Essayer:
diff local_file <(ssh user@server 'cat remote_file')
ou en utilisant vimdiff
:
vimdiff local_file scp://server//path/to/remote_file
Peut-être que ce n'est pas utile dans votre cas précis, mais j'utilise souvent simplement
sum -r
sur chaque machine et comparer manuellement les sommes de contrôle. Cela permet des comparaisons de fichiers même lorsqu'ils ne sont pas accessibles via une connexion ssh. Bien sûr, tout ce qu'il répond est "sont-ils identiques", mais souvent cela suffit à mes besoins. Il permet également de vérifier facilement qu'un même fichier est le même sur 3 ou 4 machines ou plus.
Si vous préférez une approche plus visuelle dans votre session de terminal. Le commandant de minuit a une option de système de fichiers à distance (lien SFTP ... option dans le menu) et une option de comparaison de fichiers visuels. Il n'est pas installé par défaut sur la plupart des systèmes Linux mais est disponible dans la plupart des référentiels de base. Pas:
mc
) dans le dossier contenant le fichier à comparersftp://<user>@<servername>/<path>
).ins
, sélectionnez/mettez en surbrillance les fichiers à comparer. (tab
bascule entre le panneau gauche et le panneau droit).Remarque: Le menu du commandant de minuit est généralement accessible à l'aide de la souris dans votre session de terminal. Ça ne marche pas F9
vous permet également d'accéder au menu.