如何使用命令行工具同步两个文件夹?

阿科帕西

从Windows迁移到Linux之后,我想找到Winmerge的替代软件,或者想学习命令行工具来比较和同步Linux上的两个文件夹。如果您能告诉我如何在命令行上执行以下任务,我将不胜感激...(我已经研究了diff和rsync,但是我仍然需要一些帮助。)

我们有两个文件夹:“ / home / user / A”和“ / home / user / B”

文件夹A是保存常规文件和文件夹的位置,文件夹B是充当文件夹A完整镜像的备份文件夹。(用户在文件夹B中没有直接保存或修改的内容。)

我的问题是:

  • 如何列出仅存在于文件夹B中的文件?(例如,自上次同步以来从文件夹A中删除的文件。)

  • 如何将仅存在于文件夹B中的文件复制回文件夹A中?

  • 如何列出两个文件夹中都存在但具有不同时间戳或大小的文件?(自上次同步以来已在文件夹A中修改过的文件。我想避免使用校验和,因为有成千上万个文件,这会使处理速度太慢。)

  • 如何将文件夹A的精确副本复制到文件夹B中?我的意思是,将文件夹A中的所有内容复制到仅存在于文件夹A中的文件夹B中,并将文件夹B中仅存在于文件夹B中的所有内容删除,但不要触摸两个文件夹中相同的文件。

终极一生

这会将文件夹A放入文件夹B:

rsync -avu --delete "/home/user/A" "/home/user/B"  

如果希望文件夹A和B内容相同,则将其/home/user/A/(带有斜线)作为源。这不占用文件夹A,而是所有内容,并将其放入文件夹B。像这样:

rsync -avu --delete "/home/user/A/" "/home/user/B"
  • -a 进行同步以保留所有文件系统属性
  • -v 冗长地跑
  • -u 仅复制修改时间较新的文件(如果时间相等,则复制大小不同的文件)
  • --delete 删除目标文件夹中源文件中不存在的文件

手册页:https : //download.samba.org/pub/rsync/rsync.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用命令行从指定路径中递归删除node_modules文件夹

使用命令行在Sublime Text 3中打开一个文件夹

使用命令行对文件夹进行GPG加密和解密

使用命令行将文件复制到用户文件夹

如何在Mac上使用命令行创建多个文件夹/超过20个/

使用命令行删除除指定文件/文件夹以外的所有文件?

如何使用命令行创建文件夹?

使用命令行对Windows分区上安装的文件和文件夹进行操作

使用命令行复制文件夹?

列出其中包含超过两个x大小的文件的文件夹-命令行

如何使用命令行将所有文件从一个文件夹移动到子文件夹(.html文件除外)?

使用命令行跨子文件夹删除多个SSRS报告?

使用命令行工具将图像文件夹转换为多页pdf文件?

如何使用命令行工具在两个视频之间平稳且重复地转换?

如何使用命令行在Atom中创建文件和文件夹?

如何使用命令行将一个文件夹复制到多个文件夹?

如何使用linux命令行删除文件夹

如何在Perforce中使用命令行同步到特定文件夹

使用命令行在zip文件夹中时如何跳过“拒绝访问”文件夹?

使用命令行重命名多个文件夹

使用命令行完全删除 Windows 中的文件夹

使用命令行发布 ClickOnce 时缺少 ApplicationFiles 文件夹

如何使用命令行将子文件夹的内容复制到其父文件夹?

如何使用命令行递归删除某个目录下的文件和文件夹?

如何同步两个 Google Drive 文件夹

尝试使用命令行将文件复制到某些子文件夹

使用命令行工具下載 Excel 文件

在批处理脚本中使用命令行(Windows)连接两个文本文件

使用 SFTP 同步两个文件夹