比较不同服务器上文件的diff命令--Unix

发布于 2024-12-22 11:36:38 字数 1549 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

滥情稳全场 2024-12-29 11:36:38

您可以使用 scp 从其他服务器复制文件,然后使用 diff

或者使用如下命令ssh连接到远程主机并diff

ssh user@remote "cat /path/to/remote/file" | diff - /path/to/local/file

You can copy the file over from the other server using scp and then use diff.

Or ssh to the remote host and diff using a single command like this:

ssh user@remote "cat /path/to/remote/file" | diff - /path/to/local/file
慵挽 2024-12-29 11:36:38

我知道这是一个迟到的答案,但我从字面上理解这个问题,没有本地文件和两个远程文件
bash 中(不仅如此),可以使用进程替换 [1,2] <(...):

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

进程<(list)异步运行,其输入或输出显示为文件名。

注意

  • 当然,如果您只需要一个远程文件,您可以将本地文件代替 <(...) 之一。
  • 如果两个文件位于同一服务器上,您可以使用更简单的

    ssh Server1 'diff /path/to/file1 /path/to/file2'
    

I know it's a late answer but I take the question literally, no local file and two remote files.
In bash (and not only) it's possible to use the process substitution [1,2] <(...):

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

The process <(list) is run asynchronously, and its input or output appears as a filename.

Note

  • Of course if you need only one remote file you can put the local file instead one of the <(...).
  • If both files are on the same server you can use a simpler

    ssh Server1 'diff /path/to/file1 /path/to/file2'
    
合约呢 2024-12-29 11:36:38

如果您比较多个文件,请查找 rsyncrdiff,它可以节省您复制所有文件的带宽。

顺便说一句,如果您的文件非常大,请使用该信息更新您的问题。

If your comparing multiple files, then look up rsync and rdiff, which save you the bandwidth of copying all files.

Btw, if your files are very large, then please update your question with that information.

生生漫 2024-12-29 11:36:38

“-”与 STDIN 不同。你可以这样做:

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

The "-" diffs against STDIN. You can do something like this:

ssh server 'cat file_to_diff' | diff -u localfile -
对不⑦ 2024-12-29 11:36:38

如果您正在对 AWS 实例进行故障排除,那么停止 inatanceA 然后将其驱动器连接到您想要比较的实例 B 可能是有意义的。

If you're troubleshooting AWS instance then it may make sense to stop inatanceA then attach its drive to instanceB you're want to compare with.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文