ls -l
아래 형식으로 하위 디렉터리 목록을 반환하는 상황은 무엇입니까 ?
d????????? ? ? ? ? ? Subdirectory
tree
예를 들어 해당 디렉토리에서 시작된 A가 반환됩니다 0 directories, 0 files
. 시스템이 하위 디렉터리의 이름을 알고 있는 것 같지만 찾을 수 없습니다.
어떤 누락된 링크가 혼란스럽습니까 ls
?
늦은 메모입니다.파일이 아닌 디렉토리에서 다음도 참조하세요.
답변1
포함된 디렉터리에 대한 읽기 권한은 있지만 실행/검색 권한은 없습니다.
다음을 사용하여 쉽게 재현할 수 있습니다.
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
디렉토리 항목, 그러나 그 이상은 아닙니다.
이는 실제 inode에 액세스할 수 없지만 이를 가리키는 디렉토리 항목만 액세스할 수 있는 다른 상황에서도 발생할 수 있습니다 ls
(파일 또는 디렉토리 inode가 이전에 사라진 경우와 같이 ls
가능함 stat()
- 참조).이것또는 액세스할 수 없는 마운트 지점인 경우 -- 참조이것).