“chown nginx:nginx * -R”做什么?

问题描述:

我明白chown nginx:nginx -R的命令是干什么的。“chown nginx:nginx * -R”做什么?

我的问题是关于明星*的通配符。

所以基本上就是我要问是什么是什么是这三个命令之间的区别:

  1. chown nginx:nginx * -R
  2. chown nginx:nginx . -R
  3. chown nginx:nginx .* -R

这一个改变组/所有者许可权的一切当前工作目录中,而不是当前的工作目录本身:

chown nginx:nginx * -R 

下一个改变当前目录的权限和它的一切:

chown nginx:nginx . -R 

最后一个做同样的事情第二:

chown nginx:nginx .* -R 
+0

最后一个与第二个不一样。它只影响隐藏的文件(以'。'开头的文件名)。 – c3st7n

+0

@ c3st7n这是不正确的。 – stevieb

+0

你说得对,我错误地测试了'-R'。但是,在我的测试中,由于'..'被'。*'选中,所以它还会chown父目录中的所有内容。 – c3st7n

这意味着中的所有文件当前目录。符号*不应与标志-R一起使用。例如:

改变所有者在当前目录下的所有文件:

chown nginx:nginx ./* 

或更改目录下的所有文件的所有者在/ var/www/html等/

chown nginx:nginx /var/www/html/* 

注意:不要更改隐藏文件的所有者(如.htaccess)。为了改变隐藏文件使用:chown nginx:nginx ./.*