Unix的bash脚本,用于同步两个目录

时间:2013-01-29 09:48:10

标签: bash unix ubuntu

我有系统编程的这个任务,我是bash的新手,所以任何人都可以帮助我。 (我正在使用Ubuntu)

分配: 的 为Unix创建一个bash脚本,用于同步两个目录。

致电: mySync [-r] / [-i] leftdir rightdir

左侧向右侧复制左侧但不在右侧列表中的所有文件。 右侧目录中但不在左侧目录中的所有文件都是从右向左复制的。 如果双方都存在文件,则旧版本将替换为较新版本。

  • 如果存在-r(递归)函数,递归将同步所有子文件夹。

  • 如果存在-i选项(交互式),则仅当用户同意时才会覆盖现有(较旧)的文件。

    我真的很感激帮助。

1 个答案:

答案 0 :(得分:0)

您可能想要使用的工具:

  • find:列出每个目录包含的内容,包括或不包含-maxdepth选项,并借助-printf选项允许您打印列表同时包含文件名和最后修改时间(两者都在同一行!)。
  • comm(与sort一起使用):比较您使用find获得的两个文件/目录列表,并仅打印您需要传输的文件(请参阅-1-2-3选项。
  • ,其余的,通常的Bash内置:readgetopts

参见相关手册。