programing

lstat fstat과 stat의 차이(C)

stoneblock 2023. 8. 12. 09:46

lstat fstat과 stat의 차이(C)

나는 C에서 학교 과제를 작성하여 디렉토리, 일반 파일 및 심볼 링크를 파일 시스템을 통해 검색합니다.지금은 사용합니다.lstat항목에 대한 정보를 가져옵니다.

그래서 사이에 무엇이 다른 점은?lstat fstat그리고.stat시스템 호출?

저도 찾고 있었어요stat vs lstat vs fstat이 질문에 대한 답이 이미 있지만 다음과 같이 형식이 지정되어 있습니다.

lstat()와 동일합니다.stat()경로 이름이 심볼릭 링크인 경우 참조하는 파일이 아닌 링크 자체에 대한 정보를 반환합니다.

fstat()와 동일합니다.stat()검색할 정보에 대한 파일이 파일 설명자(파일 이름 대신)에 의해 지정되는 경우를 제외합니다.

http://man7.org/linux/man-pages/man2/stat.2.html

유사성:둘 다 파일 이름을 인수로 사용합니다.

차이:파일 이름이 심볼릭 링크일 때마다 stat()는 링크와 연결된 대상 파일에 대한 특성 또는 inode 정보를 반환합니다.반면에 lstat()는 링크의 속성만 반환합니다.

stat() vs lstat()에 대한 man 페이지를 참조합니다.

다음 항목을 검색합니다. lstat vfstat vstat

제공되는 첫 번째 링크는 이러한 차이점을 설명하는 man 페이지입니다. http://manpages.ubuntu.com/manpages/hardy/man2/stat.2.html

페이지에 나열된 간단한 답변은 다음과 같습니다. stat()은 경로별로 파일이 가리키는 통계를 작성하고 buf를 채웁니다.lstat()는 경로가 심볼릭 링크인 경우 링크 자체가 참조하는 파일이 아닌 stat(),와 동일하다는 점을 제외하고는 stat(),와 동일합니다. fstat()는 stat▁except와 동일하지만 stated는 stat(), 파일 설명자 fd에 의해 지정됩니다.

언급URL : https://stackoverflow.com/questions/32895019/difference-between-lstat-fstat-and-stat-in-c