chmod -R 775 *.cgi
仅更改当前目录中文件的权限,子目录中的文件根本不会被修改。这与执行chmod 775 *.cgi
的功能完全相同。我见过人们使用诸如find
和诸如此类的解决方案。好的,但是为什么-R模式甚至什么也没做就存在呢?
最佳答案
可能是因为您没有名为*.cgi
的目录。夸张manual:
例如:
$ ls -R
.:
a a.c b.c c.c
./a:
a.c b.c sub
./a/sub:
a.c b.c
$ chmod -R 444 *.c
$ ls -l
drwxr-xr-x 3 msw msw 4096 2010-08-12 18:07 a
-r--r--r-- 1 msw msw 0 2010-08-12 18:07 a.c
-r--r--r-- 1 msw msw 0 2010-08-12 18:07 b.c
-r--r--r-- 1 msw msw 0 2010-08-12 18:07 c.c
$ : directory a not affected
$ chmod -R u-w a
$ ls -l a
-r-xr-xr-x 1 msw msw 0 2010-08-12 18:07 a.c
-r-xr-xr-x 1 msw msw 0 2010-08-12 18:07 b.c
dr-xr-xr-x 3 msw msw 4096 2010-08-12 18:07 sub
$ ls -l a/sub
-r-xr-xr-x 1 msw msw 0 2010-08-12 18:07 a.c
-r-xr-xr-x 1 msw msw 0 2010-08-12 18:07 b.c
$ : got em
关于bash - 为什么chmod上的递归模式除了递归之外还能执行其他所有操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3472383/