我创建了一个目录d
和一个文件f
。然后,我只授予自己对该目录的读取权限。我理解这应该意味着我可以列出文件(例如here),但是我不能。
will@wrmpb /p/t/permissions> ls -al
total 0
drwxr-xr-x 3 will wheel 102 4 Oct 08:30 .
drwxrwxrwt 16 root wheel 544 4 Oct 08:30 ..
dr-------- 3 will wheel 102 4 Oct 08:42 d
will@wrmpb /p/t/permissions> ls d
will@wrmpb /p/t/permissions>
如果我更改了写入和执行权限,则可以看到该文件。
will@wrmpb /p/t/permissions> chmod 500 d
will@wrmpb /p/t/permissions> ls d
f
will@wrmpb /p/t/permissions>
为什么是这样?我正在使用MacOS。
编辑:参考@ccorn的答案,这与我使用鱼有关,并type ls
给出以下内容:
will@wrmpb /p/t/permissions> type ls
ls is a function with definition
function ls --description 'List contents of directory'
command ls -G $argv
end
重复项无法回答问题。这意味着您可以做我无法证明的事情。@ccorn的答案是完美的。
—
wrgrs
哇,“鱼”这个东西是(最初)缺少信息的一个相当重要的部分。
—
斯蒂芬·基特
是的,您是对的,我应该添加它,但是如果您使用bash,似乎也会发生相同的事情
—
wrgrs 17-10-4
alias ls='ls -G'
,我认为很多人都会这样做。
为我做。您在MacOS上吗?也许这里还有另一个问题。编辑:是的,我在Linux上得到了不同的行为。
—
wrgrs 17-10-4