./*(星号)和./*.*(星点星号)之间的区别

时间:2018-12-15 03:19:44

标签: bash

使用./*或./ 是否相同。吗?

例如,如果我尝试

chmod 755 ./* -R

chmod 755 ./*.* -R

它将获得相同的结果,使用755权限在此处创建文件和目录。但是我想知道这两种方法之间在概念上有什么不同的部分吗?

感谢您阅读我的问题。

2 个答案:

答案 0 :(得分:4)

*.*(又称“星点星号”或“星号周期星号”)将您的全局限制为仅匹配名称中具有.的文件。相比之下,*本身没有这种限制,并且将匹配名称中根本没有.的文件,除了 还会匹配名称中包含{{ 1}} s。

MS-DOS的设计使得所有文件具有扩展名,因为文件系统的目录结构中始终存在三个字符的扩展名字段(即使这些扩展名为空),所以{{1 }}是一个全球通配符,但是在类似UNIX的系统上从未如此,因此,键入.的人们正在这样做是从其他平台继承来的习惯。

答案 1 :(得分:0)

我尝试了三种方式。为了进行测试,首先创建一个目录。 A的“ a”,还触摸文件夹“ a”中的新文本文件“ b.txt”和目录“ c”。然后触摸“ c”文件夹中的“ f.txt”文本文件。

  

A

mkdir a ---->仅授予根目录“ a”文件夹权限

a-----|- b.txt | |- c - f.txt ---->使文件和目录具有“ a”级权限,但不能具有“ a”文件夹自身的权限,而不能具有“ c。”目录中的“ f.txt”权限。

chown root:root a ---->使具有“ a”许可权的文件具有root权限,但不具有“ a”文件夹自身的权限,而使目录具有“ a”而不是“ c”目录中的“ f.txt”。 / p>

并尝试使用chown root:root a/*参数

chown root:root a/*.* ---->将具有“ a”许可权的文件和“ c”文件夹中的“ a”和“ f.txt”中的目录以及“ a”文件夹自身

-R ---->将具有“ a”许可权的文件和“ c”文件夹中的“ a”和“ f.txt”中的目录设置为root,而不是“ a”文件夹-self < / p>

chown -R root:root a ---->使具有“ a”权限的文件具有root权限,但不具有“ a”目录,“ c”文件夹中的“ f.txt”和“ a”文件夹自身的目录权限