命令
$ chmod -R 700 ./.*
Run Code Online (Sandbox Code Playgroud)
搜索并尝试chmod上面的文件和目录pwd。为什么?
预期结果:考虑pwd是/home/user,我希望第一个.在./.*与被替换/home/user。然后我希望chmod递归地 ( -R) 应用于所有以点 ( .*) in开头的文件/home/user,所以:$ chmod -R 700 /home/user/.*一起。
我收到了一堆错误,例如:
chmod: cannot access `./../otheruser/file': Permission denied
Run Code Online (Sandbox Code Playgroud)
这是因为..匹配而发生的.*吗?
./.*也匹配./..,导致chmod -R尝试递归...
添加:
如果您只想要当前目录中的点文件和目录,请尝试.[!.]*,它匹配以开头.并至少有一个非点字符的所有内容。
如果您想要当前目录树中任何位置的所有点文件,您可以使用find如下所示使用$(...)命令替换将 的输出粘贴find回命令行作为chmod.
chmod 700 $(find -name ".[!.]*")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
590 次 |
| 最近记录: |