Ant使用修改文件权限用的是<chmod>标签,实际调用的是命令chmod。关于文件权限的内容,可参见Linux/Unix系统文件权限解析。具体的<chmod>可查看Ant手册,以下为一些例子,使用的Ant版本是1.9.7。
perm的表达式,参照命令chmod。
1、<chmod file="testFile.txt" perm="ugo+rx"/>
修改testFile.txt文件权限,为owner、group、other加上读和执行的权限。2、<chmod dir="testDir" perm="700"/>
修改testDir目录权限,把权限改成rwx------。3、 <chmod dir="testDir.txt" perm="775" includes="*.txt"/>
修改testDir.txt目录下的以“.txt”结尾的文件权限,不包括testDir.txt下的子目录和子文件,把权限改成rwxrwxr-x。如下:
drwxrwxrwx testDir.txt
drwxrwxrwx testDir2.txt
drwxrwxrwx testDir3.txt
-rwxrwxrwx testFile3.txt
-rwxrwxr-x testFile2.txt
如果includes="**/*.txt",修改testDir.txt目录下的所有以“.txt”结尾的文件权限,把权限改成rwxrwxr-x。如下:
drwxrwxrwx testDir.txt
drwxrwxrwx testDir2.txt
drwxrwxrwx testDir3.txt
-rwxrwxr-x testFile3.txt
-rwxrwxr-x testFile2.txt
表示所有文件,includes="**"。4、 <chmod dir="testDir.txt" perm="775" includes="*.txt" type="dir"/>
修改testDir.txt目录下的以“.txt”结尾的目录权限,不包括testDir.txt以及testDir.txt下的子目录和子文件,把权限改成rwxrwxr-x。如下:
drwxrwxrwx testDir.txt
drwxrwxr-x testDir2.txt
drwxrwxrwx testDir3.txt
-rwxrwxrwx testFile3.txt
-rwxrwxrwx testFile2.txt
如果includes="**/*.txt",修改testDir.txt目录下的所有以“.txt”结尾的文件权限,不包括testDir.txt,把权限改成rwxrwxr-x。如下:
drwxrwxrwx testDir.txt
drwxrwxr-x testDir2.txt
drwxrwxr-x testDir3.txt
-rwxrwxrwx testFile3.txt
-rwxrwxrwx testFile2.txt
表示所有目录,includes="**",包括testDir.txt。同命令chmod -R 775 testDir。
5、 <chmod dir="testDir.txt" perm="775" includes="**" excludes="*.txt"/>
修改testDir.txt目录下的不以“.txt”结尾的文件权限,不包括子目录下的子文件,把权限改成rwxrwxr-x。如下:
drwxrwxrwx testDir.txt
drwxrwxrwx testDir2
drwxrwxrwx testDir2.txt
drwxrwxrwx testDir2.txt
drwxrwxrwx testDir2
-rwxrwxrwx testFile3.txt
-rwxrwxrwx testFile3
-rwxrwxrwx testFile2.txt
-rwxrwxr-x testFile2
如果excludes="**/*.txt",修改testDir.txt目录下的所有不以“.txt”结尾的文件权限,把权限改成rwxrwxr-x。如下:
drwxrwxrwx testDir.txt
drwxrwxrwx testDir2
drwxrwxrwx testDir2.txt
drwxrwxrwx testDir2.txt
drwxrwxrwx testDir2
-rwxrwxrwx testFile3.txt
-rwxrwxr-x testFile3
-rwxrwxrwx testFile2.txt
-rwxrwxr-x testFile2
其余参考例3和例4。
6、
<chmod perm="755">
<fileset dir="testDir.txt">
<include name="**"/>
<exclude name="**/*.txt"/>
</fileset>
</chmod>
结果参照例5,如果仅仅需要修改目录,chmod节点加上属性type="dir"。
7、
<chmod perm="755">
<dirset dir="testDir.txt">
<include name="**"/>
<exclude name="**/*.txt"/>
</dir>
</chmod>
结果为例6的chmod节点加上属性type="dir"。
注:dirset专门用来处理目录的,type为dir还是file都不影响结果。
8、
<chmod perm="755">
<dirset dir="testDir.txt">
</dirset>
</chmod>
把testDir.txt以及testDir.txt下的所有目录的权限改成rwxrwxr-x。