【发布时间】:2021-09-30 23:28:24
【问题描述】:
我正在尝试编写一个小的 bash 脚本,我将在其中批量更改文件权限,但我不知道如何仅更改当前目录中文件的权限,并使其目录保持完整,并保留具有不同权限的子目录。
我尝试的一些示例不起作用,我最终要么递归更改,要么也更改主目录。
这是结构:
/dir/main_folder/
/dir/main_folder/subfolder1
/dir/main_folder/subfolder2
/dir/main_folder/subfolder3
/dir/main_folder/file1.php
/dir/main_folder/file2.php
/dir/main_folder/file3.php
所以我想chmod main_folder 下的所有文件,但保持main_folder 权限不变,main_folder 下的所有文件夹和这些子文件夹下的文件保持不变。 subfolder1 和该文件夹中的文件应该完好无损。
这样的查找命令:find /opt/lampp/htdocs -type f -exec chmod 644 {} \; 也会更改子文件夹中的所有文件
【问题讨论】:
-
我认为
find可以选择限制级别数 -
试试
-maxdepth 1 -
你能用 zsh 代替 bash 吗?只是
chmod 0644 /dir/main_folder/*(.)如果是这样。详情请见zsh.sourceforge.io/Doc/Release/Expansion.html#Glob-Qualifiers。