MST

星途 面试题库

面试题:Bash文件同步工具的复杂场景应用

假设你有两个目录,源目录 `/source_dir` 和目标目录 `/target_dir`,里面包含大量文件和子目录。现在需要使用 `rsync` 工具将源目录中的新文件和修改过的文件同步到目标目录,但要排除某些特定类型的文件(如 `.log` 文件),同时保留文件的权限、所有者和时间戳等属性,写出实现该同步操作的 `rsync` 命令及参数,并解释每个参数的作用。
32.1万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
rsync -avz --exclude="*.log" /source_dir/ /target_dir
  • -a:表示以归档模式传输,等同于 -rlptgoD,会保留文件的权限(-p)、所有者(-o)、时间戳(-t)等大部分属性,同时递归处理子目录(-r)。
  • -v:表示详细输出,会显示同步过程中的详细信息。
  • -z:表示在传输过程中进行压缩,以减少网络带宽的使用。
  • --exclude="*.log":表示排除所有扩展名为 .log 的文件。
  • /source_dir/:源目录,最后的斜杠表示只同步源目录下的内容而不包括源目录本身。
  • /target_dir:目标目录。