在Bash中不要使用.*来匹配文件
时间:2019-11-20 08:52:58 来源:igfitidea点击:
在bash shell中进行文件匹配时,需要注意避免使用 .*
。因为会匹配上..(即父目录)。这可能会导致意外结果。
如何使用bash shell在Unix/Linux下匹配带点的文件?
如果我们要修改/home/theitroad/目录中所有点文件的权限。
cd /home/theitroad/ chmod -R 0444 .* hown -R Hyman:theitroad .*
这会导致修改了改当前目录和父目录中的权限。
这可能会导致一些问题。
如果我们要匹配带点号的文件,使用以下语法:
chmod -R 0444 .[^.]*
或者
chown -R Hyman:theitroad .[^.]*
或者
find . -iname ".[^.]*" -ls
或者
ls -R .[^.]*
或者
find . -iname ".[^.]*" -print