如何在 Linux 中 chmod 和 chown 隐藏文件?

如何在 Linux 中 chmod 和 chown 隐藏文件?

我如何递归执行chmodchown隐藏文件?

sudo chmod -R 775 *不适用于隐藏文件。

同样的事情也发生在sudo chown -R user:group

答案1

如果您也可以对当前目录进行 chmod 修改,请执行此操作并让其-R完成繁重的工作。-R不会忽略隐藏文件。

sudo chmod -R 775 .

答案2

*默认情况下不包括隐藏文件,但是如果你在 bash 中,你可以这样做:

shopt -s dotglob

在 bash 中阅读更多内容builtin手动的

如果设置,Bash 会在文件名扩展的结果中包含以“.”开头的文件名。

这也会*包含隐藏文件。

chmod -R 775 *

使用以下命令禁用它:

shopt -u dotglob

答案3

递归地执行当前目录中的所有文件,包括隐藏文件:

chmod 755 -R ./* ./.[!.]*

当前目录中的所有文件,不是递归地,包括隐藏文件:

chmod 755 ./* ./.[!.]*

这不会更改以两个点开头的异常文件名,例如,"./..thisonescapesunharmed.txt"

另外,请注意不要删除“x”位,否则所有目录将无法访问(需要 x 位才能 cd 进入目录)。

记住这个警告:永远不要使用 bare *but ./*

为了避免在目录上设置权限时出现问题,请改用find

find . -type f -exec chmod `VALUE` {} \;

答案4

另一个选择是使用find我喜欢它,因为您可以对它进行非常细粒度的控制。

find <path to start from> -exec chown <options> {} \+

find -path '<path to include>' -exec chown <options> {} \+

唯一的缺点是find不同版本的语法不同。

相关内容