我在系列設置我的工作項目的權限:如何提高更改文件和文件夾權限的性能?
- 755的所有目錄
- 644,因爲我做的這一切文件
運行下一個命令:
$ find /path/to/project -type d -exec chmod 0755 {};
$ find /path/to/project -type f -exec chmod 0644 {};
它工作正常,但有點緩慢,特別是在虛擬機上。
難道我改善以任何其他方式執行此任務嗎?
我在系列設置我的工作項目的權限:如何提高更改文件和文件夾權限的性能?
運行下一個命令:
$ find /path/to/project -type d -exec chmod 0755 {};
$ find /path/to/project -type f -exec chmod 0644 {};
它工作正常,但有點緩慢,特別是在虛擬機上。
難道我改善以任何其他方式執行此任務嗎?
參考 - [https://superuser.com/questions/91935/how-to-chmod-all-directories-except-files-recursively][1]
這裏所消耗的時間1.Most會去加載文件模式過程中的每個條目。爲了避免使用xargs-
find /path/to/project -type d -print0 | xargs -0 chmod 755
find /path/to/project -type f -print0 | xargs -0 chmod 644
2.Fortunately,你可以選擇不使用find
它可以使速度更快。在引用鏈接的第二個答案解釋瞭如何撰寫chmod命令爲您的需求
你可以做
find /path/to/project -type d -exec chmod 0755 {} +
這將組儘可能多的參數chmod
越好。
此外,請考慮先使用chmod -R
,然後再觸摸目錄。
我假設'chmod -R'設置了* *(文件和目錄)而不是*文件/目錄*權限,因此它將錯誤地更改權限。最後'+'怎麼樣 - 這是個有趣的想法,謝謝! –
我沒有說'chmod -R'。儘管如此,使用'chmod -R'完整掃描,然後使用'find -type d -exec chmod 755 {} +'完成掃描將會更快。 – sehe
是的,你是對的,我不明白你的意思 –
您可以直接在命令chmod使用:
chmod -R a-x+X,u+rw,go+r-w /path/to/project
其中a-x+X
- 在一個目錄樹中刪除的所有文件的執行權限(即遞歸),同時允許目錄瀏覽。
將構建a-x+X
刪除任何文件和目錄的所有執行位(-x
)(a
,IE用戶,組和其他),然後(+X
)添加到所有目錄(和可執行文件爲好,但沒有由於之前的-x
)存在這樣的文件)。 以類似的方式go+r-w
添加讀取權限(+r
),並將寫入權限(-w
)移除到組別和其他人(go
)。
謝謝!您的參考鏈接對我非常有用 –