디렉터리의 "ls"는 일부 파일에 대해 "해당 파일 또는 디렉터리가 없습니다"를 출력합니다.

디렉터리의 "ls"는 일부 파일에 대해 "해당 파일 또는 디렉터리가 없습니다"를 출력합니다.

나는 cd많은 수의 파일, 정확히 40,948개의 파일이 포함된 디렉토리에 들어갔습니다. 명령을 실행하면 ls시간이 오래 걸리고 명령이 최종적으로 결과를 화면에 인쇄하기 전에 일부 파일에 대해 "ls: 액세스할 수 없음: 해당 파일 또는 디렉터리가 없습니다"라는 메시지가 나타납니다.

파일 이름이 매번 동일하지는 않습니다. posix 권한 없이 일부 파일을 실행하면 ls -l파일 이름 앞에 "????????"만 나타납니다.

그룹을 변경하고 싶었기 때문에 디렉터리를 시도했는데 chown -R"chown: 액세스할 수 없음" 또는 "chown: 소유권 변경" + ": 해당 파일이나 디렉터리 없음"이 혼합되어 있어 ls.

이것은 Linux에 디렉토리가 있는지조차 모르고 디렉토리가 손상되었을 수 있다고 생각했다는 점을 강조했습니다. 그러나 결과가 항상 다르다는 사실은 그렇지 않다는 것을 암시합니다.

/etc/security/limits.conf의 "nofile" 문제일 수 있습니까?

답변1

다른 프로세스에서 많이 사용되는 것 같습니다.

당신이 보는 정보를 수집하는 것이 반드시 원자적인 것은 아닙니다. 파일 이름 목록을 얻은 다음 파일에 대한 정보(긴 목록 또는 출력 색상 지정)를 찾을 수 있습니다. 이 두 작업 사이에 파일을 삭제하면 설명한 것과 유사한 출력이 표시됩니다.

답변2

이러한 긴 중단은 출력을 가져오기 전에 디렉터리에 있는 40,000개 이상의 파일을 정렬하기 때문에 발생합니다 ls. ls -lU | more이상한 파일 이름에 더 가까이 다가가기 위해 (정렬되지 않은) 시도를 해보세요 . 또 다른 옵션은 입니다 --show-control-chars.

관련 정보