모든 파일이 표시되지 않는 이유는 무엇입니까?

모든 파일이 표시되지 않는 이유는 무엇입니까?

ls - 디렉토리 내용 나열

empty_dir# ls -al
total 0
drwxr-xr-x. 2 root root   6 Dec 31 09:49 .
dr-xr-x---. 6 root root 284 Dec 31 09:49 ..

find - 디렉토리 계층 구조에서 파일 검색

empty_dir# find
.

답변1

find의도적으로 제외해야 하며 .,..

에서 반환한 다른 디렉터리와 마찬가지로 해당 디렉터리로 내려가는 것을 피해야 합니다 readdir().

디렉터리만 표시하고 .내용 ..은 전혀 표시하지 않고 완전히 제외합니다.

예를 들어 를 사용하는 경우 이는 예상되는 동작입니다 . 사용자가 이 명령이 (상위 디렉터리) find -exec touch \{\} \;에 영향을 미치는 것을 원하지 않습니다 ...

만족스러운 대답은 이를 설명하는 공식적인 사양을 가리킬 것입니다.

아마도 POSIX는 이를 문서화하려고 노력하고 있습니다. 정식 사양으로 삼을 만큼 잘 이해가 되지 않습니다. 그러나 아래의 굵은 문장은 '만나지 않는다'는 것을 .보여준다 ...

찾기 유틸리티는 path로 지정된 각 파일에서 디렉토리 계층 구조를 반복적으로 내려와 발견된 각 파일에 대한 OPERANDS 섹션에 설명된 기본 색상으로 구성된 부울 표현식을 평가해야 합니다. 각 경로 피연산자는 모든 후행 문자를 포함하여 있는 그대로 평가됩니다. 계층 구조에서 발견되는 다른 파일에 대한 모든 경로 이름은 현재 경로 피연산자가 1로 끝나지 않고 경로 피연산자를 기준으로 한 파일 이름입니다.상대 부분에는 점 또는 점 구성 요소가 포함되어서는 안 되며, 후행 문자가 포함되어서는 안 되며, 경로 이름 구성 요소 사이에 단일 문자만 포함되어야 합니다..

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html

관련 정보