我有一个目录/sources
,里面是.idea
属于 phpStorm 项目的目录。该目录作为Docker 容器 ( ) 中的/sources
安装。我有一个在容器启动时运行的脚本,它设置一些权限,如下所示:VOLUME
~/sources:/var/www
chown -R www-data:www-data /var/www/sources && find /var/www/sources -type d -print0 | xargs -0
chmod 2775 && find /var/www/sources -type f -print0 | xargs -0 chmod 0664
这些权限也使.idea
phpStorm 无法访问该文件夹,因此无法在那里写入。
无法保存项目:无法保存项目文件。请确保项目文件可写并且您有权限修改它们。
我读过一些帖子:
- https://stackoverflow.com/questions/4210042/exclude-directory-from-find-command
- https://stackoverflow.com/questions/2065447/how-do-i-exclude-a-folder-when-performing-file-operations-ie-cp-mv-rm-and-ch
- https://stackoverflow.com/questions/1163294/changing-chmod-for-files-but-not-directories
但解决方案与我的略有不同。如何.idea
使用上面的语句跳过目录?
答案1
如果您想排除该目录/var/www/sources/.idea
及其中的所有内容:
find /var/www/sources -type d -not -path '/var/www/sources/.idea*' -exec chmod 0755 {} +
find /var/www/sources -type f -not -path '/var/www/sources/.idea*' -exec chmod 0644 {} +