请参考下面的文件夹层次结构。
folder1
-> file11.txt
-> file12.txt
-> folder11.backup
-> file111.txt
-> file112.txt
-> file113.bak
-> folder111
-> and many more folders and files
folder2
-> file21.txt
-> file22.txt
-> file23.bak
folder2.backup
-> file111.txt
-> file112.txt
-> folder111
-> folder112
-> file1121.bak
-> file1122.txt
-> and many more folders and files
folder3
-> folder31
-> folder311
-> folder3111.backup
-> file3111.txt
-> file3112.txt
-> folder3111
-> and many more folders and files
-> folder3112
-> file31121.bak
-> file31121.txt
我想使用以下规则更改所有权(chown)和许可权(chmod):
所有以“ .backup”结尾的文件夹/子文件夹。在我的示例文件夹层次结构中,以下文件夹及其内容将被忽略:folder11.backup,folder2.backup和folder3111.backup
除扩展名为“ .bak”的文件外,所有文件。但是,如果文件(无论扩展名如何)都位于.backup文件夹中,则由于规则1而将这些文件排除在外。
谢谢您的帮助。:)
(1)目录:
find . -mindepth 1 -type d -not -name '*.backup' \
-not -path '*.backup/*' -print0 | xargs -0 chmod MODE
(2)文件:
find . -type f -not -name '*.bak' \
-not -path '*.backup/*' -print0 | xargs -0 chmod MODE
为了进行测试,您可以使用ls -ld
代替来运行命令行chmod ...
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句