2013-08-16 55 views
0

我被要求讓我擁有的所有HTML文件具有這些權限:RW-RW-R--(所以664我相信,目前它們是644)。-R不適用於chmod?

於是我就這樣:

$ chmod -R 664 *.html 

而且只改變了這一切都是該文件夾中的HTML文件(我去了一個子文件夾,並檢查權限那裏,他們並沒有變化)。我需要更改所有的文件,所以我從頂級文件夾中運行這個文件。

我的命令錯了嗎?這是一些服務器設置?我相信我之前已經做到了這一點,但我現在無法完成它。

回答

2

用命令:

chmod -R 664 *.html 

外殼將擴大給定(*.html)的文件路徑,只是對這些操作。這將是當前目錄中的所有html文件。它不會遍歷目錄,除非你有一個匹配該模式的目錄,並且在那種情況下,該文件夾下的所有內容都將被更改。

做你想做的事,你需要使用find

find . -name "*.html" -exec chmod 664 {} \; 

如果要更改HTML文件只是一個或兩個級別下,你可以做這樣的事情:

chmod 664 *.html */*.html */*/*.html 

等,但find將是一般的解決方案。

+0

謝謝,這工作,很高興知道其他文件夾參數。我會盡我所能接受。 – SSaaM

+0

'find。 -name \ *。html -print0 | xargs -0 chmod 664'也起作用,並且爲多個文件調用'chmod'一次(或幾次)。 (Joachim Isaksson發佈了答案,然後由於某種原因將其刪除。) –

+0

謝謝@KeithThompson。我通常只是輸入較短的版本,因爲該級別的表現並不總是令人擔憂。我想約阿希姆刪除了他的答案,因爲它顯然更長。但我同意:它提供了一個有價值的選擇。 – lurker