web-dev-qa-db-ja.com

ローカルファイルとリモートファイル間の差分を実行する

sshを介してホストに接続しています。特定の構成ファイルを、diffを介してアクセスできる別のホストの対応するファイルと比較します(sshと言いましょう)。実行する前にリモートファイルを手動でダウンロードする必要はありません。差分。

39
fduff
ssh user@remote_Host "cat remote_file.txt" | diff - local_file.txt

ソース

57
polym

試してください:

diff local_file <(ssh user@server 'cat remote_file')

またはvimdiffを使用:

vimdiff local_file scp://server//path/to/remote_file
18
cuonglm

多分これはあなたの正確なケースでは役に立ちませんが、私はしばしば単に

sum -r

各マシンで、手動でチェックサムを比較します。これにより、ssh接続でアクセスできない場合でもファイルを比較できます。もちろん、答えはすべて「同じですか」ですが、多くの場合それで十分です。また、3つまたは4つ以上のマシンで単一のファイルが同じであることを簡単に確認できます。

9
MJB

ターミナルセッションでより視覚的なアプローチを希望する場合。真夜中の司令官には、リモートファイルシステムオプション(メニューの[SFTPリンク...]オプション)とビジュアルファイル比較オプションがあります。ほとんどのLinuxシステムにはデフォルトではインストールされませんが、ほとんどの基本リポジトリで利用できます。手順:

  1. 比較するファイルを含むフォルダーで真夜中の司令官(コマンド:mc)を起動します
  2. 反対側(たとえばメニュー)で、同じフォルダー(sftp://<user>@<servername>/<path>)。
  3. insキーを使用して、比較するファイルを選択/強調表示します。 (tabは、左パネルと右パネルの間で変化します)。
  4. コマンドメニューで、選択ファイルの比較

注:通常、真夜中の司令官メニューには、ターミナルセッションでマウスを使用してアクセスできます。機能しないF9はメニューにも表示されます。

1
Fholst