2016-02-24 110 views
0

的許可,我目前使用以下兩條命令:SSH命令更改子文件夾

find . -type d -exec chmod 755 {} \; 
find . -type f -exec chmod 644 {} \; 

我是一個改變了所有目錄和子目錄755和其他變化的所有文件和文件在子文件夾下的印象644

我想選擇子目錄。

例如:

find . -type d -exec chmod 755 {/sudirectoryOfCurrentDirectory} \; 

我如何挑選在子目錄一個子目錄,子目錄? 如何挑選該子目錄中的子目錄及其所有文件及其子目錄?

回答

0

我不確定我是否正確理解你,但當我看到其他答案時,根據你的需要,它們看起來非常複雜。

您要求,您要更改給定目錄的子目錄嗎?不是嗎?

它基本上是指。

find ./yoursubdirectory -type d -exec chmod 755 {} \; 
+0

這工作完美。謝謝! – Phil

0

以下會列出每個目錄並詢問您是否想要chmod 755它。回答y chmod它。

find . -type d | xargs -p -n 1 chmod 755 

你可以使用grep,包括模式:

find . -type d | grep subdirectoryOfCurrentDirectory | xargs chmod 755 

或者你可以使用grep來排除模式:

find . -type d | grep -v subdirectoryOfCurrentDirectory | xargs chmod 755 
+0

所以,如果我在的public_html,有一個子文件夾名爲/ mySecondSite ,它在它有多個目錄,下面的代碼會改變的public_html/mySecondSite還有的public_html/mySecondSite至755內的所有目錄? 找。 -type d | grep mySecondSite | xargs chmod 755 – Phil

+0

它將更改名稱中帶有文本「mySecondSite」的任何目錄的權限。 –

+0

嘗試'找。 -type d | grep mySecondSite | xargs -n 1 echo'。然後使用grep語句來縮小列出的目錄。 –

0

你可以做到以下幾點:


要選擇一個子目錄,該子目錄中的所有目錄,遞歸:

chmod <permission> `find path/to/subdirectory -type d` 

要選擇一個子目錄,該子目錄中的所有文件,遞歸:

chmod <permission> `find path/to/subdirectory -type f` 

示例:

chmod 755 `find name_of_subdir -type d` # all directories in subdir 
chmod 755 `find name_of_subdir -type f` # all files in subdir 
相關問題