V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
x500
V2EX  ›  程序员

请教:有什么办法能比较 2 个电脑上的文件夹?

  •  
  •   x500 · 2023-02-01 13:22:42 +08:00 · 3747 次点击
    这是一个创建于 690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    2 台都是 linux ,文件夹里文件众多,有几百 G 大小, 没找到好办法

    第 1 条附言  ·  2023-02-01 19:57:32 +08:00
    谢谢各位,里面几种方式,感觉可用,祝新年好!
    27 条回复    2023-02-13 13:19:00 +08:00
    KDWJEBE
        1
    KDWJEBE  
       2023-02-01 13:27:45 +08:00
    Beyond Compare
    52icarus
        2
    52icarus  
       2023-02-01 13:29:19 +08:00
    直接将路径文件 md5 输出成日志文件 然后再比较日志文件
    zhuangzhuang1988
        3
    zhuangzhuang1988  
       2023-02-01 13:30:36 +08:00
    freefilesync 试试。
    nicholasxuu
        4
    nicholasxuu  
       2023-02-01 13:36:48 +08:00
    rsync
    bigbigbigbug
        5
    bigbigbigbug  
       2023-02-01 13:37:44 +08:00
    使用 svn ,把一台当服务器端,然后在另一台尝试同步
    mouyong
        6
    mouyong  
       2023-02-01 14:22:08 +08:00
    openvpn + filezilla sftp 目录对比。可以联系我 wx: 1254075921
    mouyong
        7
    mouyong  
       2023-02-01 14:22:49 +08:00
    噢,少了个 nfs 。
    hxy100
        8
    hxy100  
       2023-02-01 14:37:52 +08:00   ❤️ 4
    使用 rsync 即可,rsync 有个--dry-run 选项,只对比两个目录而不做同步操作
    ---
    eg:
    rsync -rlvvtPD --dry-run /path/to/source root@host2:/path/to/destination
    lincanbin
        9
    lincanbin  
       2023-02-01 14:52:43 +08:00
    一台开 samba ,另一台把 samba 挂载到本地,然后 Beyond Compare
    wdssmq
        10
    wdssmq  
       2023-02-01 15:00:59 +08:00
    Beyond Compare +1
    noogler67
        11
    noogler67  
       2023-02-01 15:23:49 +08:00
    本来想说 meld 。不过你说几百 g 。
    建议写个脚本,走遍所有文件,计算 md5 来进行比较。
    偷懒的话,试试把这个需求描述给 chatgpt
    mind3x
        12
    mind3x  
       2023-02-01 15:30:48 +08:00 via Android
    rsync 是正解
    chenQAQ
        13
    chenQAQ  
       2023-02-01 15:34:02 +08:00
    tree 打印目录树, 在用 vimdiff 比较试试.
    tool2d
        14
    tool2d  
       2023-02-01 15:56:02 +08:00
    比较文件夹,无所谓大小,无非就是对比文件属性大小和修改时间。

    就算几百 G ,你不访问文件内容,只列出文件名和属性,也占用不了多少时间。

    问题关键在于但两个文件名相同时,怎么合理处理冲突。是取最新版本的文件,淘汰旧版本,还是人工选择。
    kasusa
        15
    kasusa  
       2023-02-01 16:03:15 +08:00
    freefilesync 很适合你这情况。
    是一个免费 windows 软件。用来同步文件夹的
    比如你要比较 A 、B 文件夹,可以设置成从 A 同步到 B ,就可以比较了。文件是否缺少、内容是否不懂都能比较出来
    kasusa
        16
    kasusa  
       2023-02-01 16:04:33 +08:00
    freefilesync 官网说:available for Windows, macOS, and Linux.
    我不知道你这个情况用的了不,我只用过 win 版本的。
    https://freefilesync.org
    MonkeyJon
        17
    MonkeyJon  
       2023-02-01 16:16:58 +08:00 via iPhone
    Beyond Compare
    LaTero
        18
    LaTero  
       2023-02-01 17:54:39 +08:00 via Android
    rsync -rvcn
    LaTero
        19
    LaTero  
       2023-02-01 18:06:33 +08:00 via Android
    @LaTero 再加個--delete
    rsync -rcvn --delete
    r:递归
    c:强制对每个文件计算校验和比对,会更慢,不用这个选项它会看修改日期和大小,不一样才算校验和。
    v:显示不一致的文件名
    n:不真的同步,配合-v 只列文件名
    delete:把源目录里没有的也列出来
    gOYnetlll
        20
    gOYnetlll  
       2023-02-01 19:43:43 +08:00
    @hxy100 666
    x500
        21
    x500  
    OP
       2023-02-01 19:53:42 +08:00
    @KDWJEBE 能指定比较目录为局域网内 2 台电脑上的文件夹吗?
    flush9f
        22
    flush9f  
       2023-02-01 20:00:53 +08:00
    mtree
    feiyekong
        23
    feiyekong  
       2023-02-01 22:38:00 +08:00
    beyond compare
    KDWJEBE
        24
    KDWJEBE  
       2023-02-02 10:10:50 +08:00
    @x500 这种就不太清楚了
    coder001
        25
    coder001  
       2023-02-02 13:42:46 +08:00
    smb+freefilesync
    xuyang2
        26
    xuyang2  
       2023-02-02 15:41:18 +08:00
    看上去又是 X-Y Problem
    shijingshijing
        27
    shijingshijing  
       2023-02-13 13:19:00 +08:00
    @LaTero
    @hxy100

    看一下 rsync 的 -a 选项,有惊喜。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1326 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:12 · PVG 01:12 · LAX 09:12 · JFK 12:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.