爲什麼不這項工作,我想所有的文件更改爲644 ABD所有-d爲755:找。 -type f -exec chmod 644 {};
find . -type f -exec chmod 644 {} ;
我得到:發現:缺少參數`-exec」 感謝
爲什麼不這項工作,我想所有的文件更改爲644 ABD所有-d爲755:找。 -type f -exec chmod 644 {};
find . -type f -exec chmod 644 {} ;
我得到:發現:缺少參數`-exec」 感謝
管道到xargs的是這樣做,可以發現裏面做的一個骯髒的方式。
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
您可以更加有其他的選擇,比如控制:
find . -type d -user harry -exec chown daisy {} \;
你可以做一些非常酷的事情發現,你可以做一些非常危險的事情了。看看「男人找」,它很長,但值得快速閱讀。並且,一如既往地記住:
爲什麼xargs方法是一種「骯髒的方式」?它只有一次運行chmod的巨大優勢,所有文件都是參數。 「-exec chmod」方法將爲每個文件創建一個子進程。 –
如果你只想運行一次chmod,那麼把它改爲'find。 -type f -exec chmod 0644 {} +'與xargs方法基本相同,構建一個命令行。 (\以上只是爲了逃避分號。) – johnthacker
快速鏈接:'find。 -type d -exec chmod 0755 {} \; && 找 。 -type f -exec chmod 0644 {} \;' – lucaferrario
我需要這經常是我在~/.bashrc
文件中創建一個函數:
chmodf() {
find $2 -type f -exec chmod $1 {} \;
}
chmodd() {
find $2 -type d -exec chmod $1 {} \;
}
現在我可以使用這些快捷鍵:
chmodd 0775 .
chmodf 0664 .
終止與'\;'不' ;單獨。 –
...這是因爲'-exec'之後的所有內容都被視爲它的參數。如果你有一個空的';'它將被視爲整個'find'的終結符,但實際上你需要終止'exec',所以它必須作爲參數字符串的一部分被轉義。 –
可能重複的[如何在Linux Ubuntu終端中設置文件夾及其所有子文件夾和文件的chmod?](http://stackoverflow.com/questions/3740152/how-to-set-chmod-for-a-文件夾和所有其子文件夾和文件在Linux中的ubunt) –