ls -i가 ls보다 느린 이유는 무엇입니까?

ls -i가 ls보다 느린 이유는 무엇입니까?

알아요엘에스주어진 디렉토리의 파일 이름을 나열하고LS-i표시 이름 및 inode 번호.

그런데 왜 느린 걸까요?

편집하다: 이 문제는 큰 디렉터리에서 발생합니다.

이름과 inode 번호는 디렉토리 정보 블록에 함께 저장되는데, inode 번호를 쿼리하는 데 시간이 더 걸리는 이유는 무엇입니까?

답변1

stracels -i호출되는 lstat()각 파일 이름을 표시합니다 .

이것은 추가 작업을 설명할 수 있습니다.

readdir()이 이미 inode 번호를 반환한다는 점을 고려하면 이는 차선책인 것 같습니다.

이는 버그처럼 느껴지지만 이 동작은 마운트 지점과의 일관성을 위한 것입니다. (토마스의 의견 참조)

관련 정보