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