檔案許可權問題彙總-使用ant修改檔案許可權
阿新 • • 發佈:2019-02-13
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。