我已经阅读了this和this,发现我的问题不同而且更具体。
我明白以下几点。
ls -l存储在其 i-node 中,但文件名不属于该 i-node从2点上方,因为ls没有-l不需要访问该目录中的文件的i节点,它应该成功列出文件名,并返回0。
然而,当我尝试了我的机器上,文件名都列出来,但也有像一些警告permission denied,并返回代码为1。
b03705028@linux7 [~/test] chmod 500 permission/
b03705028@linux7 [~/test] ls --color=no permission/
f1*
b03705028@linux7 [~/test] chmod 400 permission/
b03705028@linux7 [~/test] ls --color=no permission/
ls: ???? 'permission/f1': ?????????
f1
b03705028@linux7 [~/test] echo $0
bash
Run Code Online (Sandbox Code Playgroud)
汉字基本上是讲的 permission denied
我的unix发行版是 Linux 4.17.11-arch1