1. 程式人生 > >檔案許可權問題彙總-使用ant修改檔案許可權

檔案許可權問題彙總-使用ant修改檔案許可權

    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。