flie 模块主要用于文件、文件夹权限的变更,以及文件、文件夹、超级链接类的创立、拷贝、移动、删除操作

参数 必填 默认值 注解
force no no 强制覆盖,包括权限、属性、内容
group no 文件、目录属组,类似 chown 指令
mode no 文件、目录权限,如 mode=644 或者 mode=“u+x,g+x,o+x”类似 chmod 指令
owner no 文件、目录属主,类似 chown 指令
path yes 目标文件、目录位置(远程主机),dest,、name 同样适用
recurse no no 递归修改文件属性(仅适用于 state=directory)
src no 源文件、目录位置,适用于 state=link 或者 hard
state no flie 1.state= directory # 如果目录不存在将会创建 2.state=file # 检查指定的 path 路径是否是文件 3.state=link # 创建软链接 4.state=hard # 创建硬链接 5.state=touch # 创建文件 6.state=absent # 删除文件

Ansible技术问答:http://linux.xyz/topic/Ansible

示例:

# 创建文件夹,recurse=yes 递归,相当于 mkdir -p
- file: path=/root/soft/ state=directory mode=0755 recurse=yes

# 创建文件
- file: path=/etc/foo.conf state=touch mode="u=rw,g-wx,o-rwx"

# 删除文件
- file: path=/root/soft state=absent 

# 修改文件目录属性
- file: path=/root/soft mode=750 owner=ops group=ops

# 创建文件软件链接
- file: src=/file/link dest=/path/symlink owner=foo group=foo state=link

# 批量创建文件软件链接
- file: src=/tmp/{{ item.src }} dest={{ item.dest }} state=link
 with_items:
 - { src: 'x', dest: 'y' }
 - { src: 'z', dest: 'k' }