linux - 比较两个目录中的文件并写入增量

标签 linux search compare diff rsync

我找不到两个目录之间的区别:更新的内容和删除的内容。 之后,我需要将新文件保存到存档和已删除文件的列表中。

之后,我需要第一个目录的副本 + delta 转到新目录并在那里重新创建目录 2。

所有这一切都必须很快 =)

我试过rsync

time rsync -rv --dry-run --delete ./10 ./130
sent 775081 bytes  received 105052 bytes  352053.20 bytes/sec
total size is 838724381  speedup is 952.95 (DRY RUN)
real    0m1.270s
user    0m0.300s
sys     0m0.484s

但是我没有看到删除的文件

rsync --version

rsync 版本 3.0.9 协议(protocol)版本 30 版权所有 (C) 1996-2011,Andrew Tridgell、Wayne Davison 等人。 网址:http://rsync.samba.org/

也许我有些不明白:

root@RDE-1.3:/home.local/diff# rm -rf a/
root@RDE-1.3:/home.local/diff# rm -rf b
root@RDE-1.3:/home.local/diff# mkdir a b
root@RDE-1.3:/home.local/diff# touch b/ssdf
root@RDE-1.3:/home.local/diff# touch a/c
root@RDE-1.3:/home.local/diff# rsync --dry-run -i  --delete-delay  --stats -a  a b |grep "deleting"
root@RDE-1.3:/home.local/diff# rsync --dry-run -i  --delete-delay  --stats -a  a b
cd+++++++++ a/
>f+++++++++ a/c

Number of files: 2
Number of files transferred: 1

我在目录中创建的文件在另一个目录中不存在,但它们不会删除?

最佳答案

rsync 不一定更快。您正在观察的是 Linux 文件系统缓存:

$ time find /usr/share > /dev/null
real    0m6.779s
user    0m0.082s
sys 0m0.199s

$ time find /usr/share > /dev/null
real    0m0.109s
user    0m0.043s
sys 0m0.064s

请注意第二次搜索是如何即时进行的。

关于linux - 比较两个目录中的文件并写入增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667950/

相关文章:

linux - 使用linux从文本文件中提取数据

javascript - 获取数组中出现次数最多的项

c++ - Qt5 中字符串搜索的最佳容器

sql - 哪里有问题

c++ - 如何为第二个值 "double"订购 set< pair< pair<int, int>, double >> ?

linux - Python - 使用多个命令的(SSH/Telnet)连接

Linux IPV6 主地址和辅助地址

linux - 在ubuntu上使用人机界面驱动程序

c++ - 比较 std::list 中的两个连续元素

python - Jinja2:将一个列表中的项目与另一个列表中的项目进行比较