Permissions

ls -l 中的輸出 d????????? 是什麼意思?

  • November 1, 2021

什麼情況下為什麼ls -l會以下面的形式返回子目錄列表?

d????????? ? ? ? ?       ? Subdirectory

tree例如,在該目錄上啟動的A會返回0 directories, 0 files。系統似乎知道子目錄的名稱但找不到它。

哪個缺失的環節令人困惑ls

**遲到的筆記。**在目錄上,因此不在文件上,另請參閱:

您已閱讀,但沒有執行/搜尋包含目錄的權限。

易於複製:

mkdir -p foo/bar; chmod -x foo; ls -l foo
ls: cannot access 'foo/bar': Permission denied
total 0
d????????? ? ? ? ?            ? bar

在 Linux 和 BSD 上,能夠從目錄條目的欄位中ls得到它是一個目錄,但僅此而已。d_type

這也可能發生在其他ls無法訪問實際 inode 的情況下,而只能訪問指向它的目錄條目(如文件或目錄 inode 在ls能夠訪問之前消失stat()時 - 看到this,或者當它是一個無法訪問的掛載點——見這個)。

引用自:https://unix.stackexchange.com/questions/675364