如何获得差异以仅显示添加和删除的行?如果 diff 不能做到,什么工具可以?
我正在观看来自http://www.reddit.com的有趣的服务器类型,curl -I http://www.reddit.com当我猜测它curl -X HEAD http://www.reddit.com会做同样的事情时。但事实上,并非如此。
我很好奇为什么。
这是我在运行两个命令时观察到的:
curl -I:按预期工作,输出标题并存在。
curl -X HEAD: 不显示任何内容,似乎在等待用户输入。
但是,嗅探tshark我看到第二个命令实际上发送了相同的 HTML 查询并收到了正确的答案,但它没有显示它,也没有关闭连接。
curl -I
0.000000 333.33.33.33 -> 213.248.111.106 TCP 59675 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=47267342 TSER=0 WS=6
0.045392 213.248.111.106 -> 333.33.33.33 TCP http > 59675 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=2552532839 TSER=47267342 WS=1
0.045441 333.33.33.33 -> 213.248.111.106 TCP 59675 > http [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=47267353 TSER=2552532839
0.045623 333.33.33.33 …Run Code Online (Sandbox Code Playgroud) 运行 ubuntu 12.04,我想比较 2 个目录,比如 folder1/ 和 folder2/,并复制与 folder3/ 不同的任何文件。还有嵌套文件,因此也应复制匹配的子目录
有没有一个命令可以帮助我?我可以获得正在运行的已更改文件的完整列表:
rsync -rcnC --out-format="%f" folder1/ folder2/
Run Code Online (Sandbox Code Playgroud)
但是 rsync 似乎没有能力将这些文件“导出”到不同的目标目录。我可以将列表通过管道传输到 cp 或其他一些程序,以便复制文件,同时创建目录吗?例如,我试过
rsync -rcnC --out-format="%f" folder1/ folder2/ | xargs cp -t folder3/
Run Code Online (Sandbox Code Playgroud)
但这也不会保留目录,它只会复制 folder3/ 中的所有文件
虽然差异安装的快照会起作用,但在许多情况下听起来可能会非常慢。
是否有用于差异快照的 btrfs 特定功能?(我无法在文档中找到任何内容)
我们有人在退出之前偷了一些文件,最终归结为诉讼。我现在得到了一张文件 cd,我必须通过将它们与来自我们自己的文件服务器的文件进行匹配来“证明”它们是我们的文件。
我不知道这是否只是为了我们的律师或法庭的证据,还是两者兼而有之。我也意识到我不是一个公正的第三者。
在思考如何“证明”这些文件来自我们的服务器时,我们意识到我还必须在收到 CD 之前证明我们拥有这些文件。我的老板在我们收到 cd 的前一天拍摄了我们浏览器窗口的相关文件的屏幕截图,并显示了创建日期和文件名,并通过电子邮件将它们发送给我们的律师。我本来希望提供 md5sums,但我没有参与该过程的那部分。
我的第一个想法是使用 unix diff 程序并提供控制台 shell 输出。我还认为我可以将它与我们的文件及其文件的 md5 总和结合起来。这两者都很容易被伪造。
我不知道我实际上应该提供什么,然后又不知道如何提供可审计的跟踪来重现我的发现,所以如果确实需要由第三方证明它可以。
有人对这个有经验么?
案件事实:
我正在使用 rsync 将大量已更改的文件从一台服务器复制到另一台服务器。我知道我可以使用该-n选项进行试运行,因此我可以查看哪些文件已更改。但是,是否可以让 rsync 打印更改的文件内容的差异?我想在复制之前先看看发生了什么?我可以保存到文件并稍后使用 diff(1) 应用的东西?
我有两个 snmpd.conf 文件,一个在可以工作的服务器上,一个在不工作的服务器上。如何在删除不相关的注释和换行符的同时区分两个配置文件?
我正在尝试使用 Windows Powershell 查找两个文件夹结构的内容差异。我使用了以下方法来确保文件名相同,但是此方法不会告诉我文件的内容是否相同:
$firstFolder = Get-ChildItem -Recurse folder1
$secondFolder = Get-ChildItem -Recurse folder2
Compare-Object -ReferenceObject $firstFolder -DifferenceObject $secondFolder
Run Code Online (Sandbox Code Playgroud)
此 ServerFault 问题中描述的技术适用于比较单个文件,但这些文件夹包含数百个不同深度的文件。
解决方案不一定需要告诉我文件中的具体内容不同 - 只是它们是不同的。我对元数据的差异不感兴趣,例如日期,我已经知道它们是不同的。
diff ×10
filesystems ×2
linux ×2
rsync ×2
btrfs ×1
curl ×1
directory ×1
files ×1
http-headers ×1
patch ×1
powershell ×1
windows ×1