![ls -i가 ls보다 느린 이유는 무엇입니까?](https://linux55.com/image/137290/ls%20-i%EA%B0%80%20ls%EB%B3%B4%EB%8B%A4%20%EB%8A%90%EB%A6%B0%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
알아요엘에스주어진 디렉토리의 파일 이름을 나열하고LS-i표시 이름 및 inode 번호.
그런데 왜 느린 걸까요?
편집하다: 이 문제는 큰 디렉터리에서 발생합니다.
이름과 inode 번호는 디렉토리 정보 블록에 함께 저장되는데, inode 번호를 쿼리하는 데 시간이 더 걸리는 이유는 무엇입니까?
답변1
strace
ls -i
호출되는 lstat()
각 파일 이름을 표시합니다 .
이것은 추가 작업을 설명할 수 있습니다.
readdir()이 이미 inode 번호를 반환한다는 점을 고려하면 이는 차선책인 것 같습니다.
이는 버그처럼 느껴지지만 이 동작은 마운트 지점과의 일관성을 위한 것입니다. (토마스의 의견 참조)