我们团队中的某个人想要递归更改用户主目录中所有隐藏目录的用户权限。为此,他执行了以下命令:
cd /home/username
chown -R username:groupname .*
Run Code Online (Sandbox Code Playgroud)
当我们意识到他实际上递归地更改了 /home 中所有用户目录的权限时,我们感到非常惊讶,因为.*equals to..也是如此。不过,您会在 Linux 中预料到这种行为吗?
我正在尝试了解 linux、它的命令行和这句话:
您可能会遇到 glob 问题,因为
.*匹配.和..(当前和父目录)。您可能希望使用诸如.[^.]*或 之类的模式.??*来获取除当前目录和父目录之外的所有点文件。
什么时候(在什么命令中)你会使用.[^.]*或.??*?