我通过mkdir testdir
命令创建了一个名为testdir的文件夹,并通过touch testdir/a
命令在其中创建了一个文件。
drwxr-xr-x 2 jermaine jermaine 4096 Mar 12 22:57 testdir
如果我通过chmod -x testdir
命令移除了'testdir'文件夹的执行权限
那么我将无法执行该文件夹下的可执行文件
cd testdir
touch testdir/b
ls -l testdir
cat testdir/a
因此,我的问题是为什么我不能在一个带有'r'但没有'x'的目录下列出文件层次结构? 'x'在目录上到底意味着什么?我知道一些解释,比如“x表示进入目录,您必须在读写之前进入”。但是“进入”是什么意思?我非常感谢inode或dentry级别的答案。非常感谢。
r
即可列出目录。但是,如果没有x
,您将无法获取该目录中文件的任何信息(即您只会得到一个简单的名称列表)。 - nneonneochmod 444
,然后尝试使用ls -la
列出它。你会得到一堆权限被拒绝的错误和一个显示文件名的列表,但其他所有内容(权限、大小、日期等)都将是问号。 - nneonneo