【问题标题】:How to compare two directory's files (using file names only) in Linux?如何在 Linux 中比较两个目录的文件(仅使用文件名)?
【发布时间】:2014-05-25 13:04:03
【问题描述】:

我想问一下Linux中是否有一个命令可以递归检查两个文件夹的内容并生成差异的输出。

我需要的是一个只比较文件名和结构而不是每个文件内容的命令。原因是我只是在不同的场合备份了2TB的数据,并保证所有数据都保持完整性,内容相同,但是我想检查我是否复制了所有备份,看看我有没有漏了一个(很难手动检查 5000 个文件夹)。

这是一个小例子

/dir1 --> turtle.pdf banana_folder chicken.leg
/dir2 --> turtle.pdf banana_folder

我已经使用了diff 命令和-qr and -r 参数,但是仅仅遍历文件就需要很长时间,我觉得它不仅检查结构和文件名(在一个有10个4GB文件的文件夹上测试)

我的限制是我只能使用命令行,因为我无法传输驱动器,也无法进入 linux 环境的 GUI

【问题讨论】:

    标签: linux command backup copying


    【解决方案1】:

    您可以对使用find 获得的列表进行比较:

    find dir1 | sort > list1.txt
    find dir2 | sort > list2.txt
    diff list1.txt list2.txt
    

    【讨论】:

    • 请注意,这仅适用于在执行 find 命令之前 cddir1dir2(此时不需要参数)。所以我这样做:cd dir1find | sort > list1.txt 等等。
    猜你喜欢
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多