lstat, stat

2019. 6. 6. 18:10·LINUX/Linux

 

 

Interface

int lstat(const char *restric path, struct stat *restrict buf)

int stat(const char *restrict path, struct stat *restrict buf)

Function 파일의 이름을 사용해 파일의 상태정보를 가져옴
Parameter

path: 문자열로 '경로'에 해당

buf: 사용자가 제공하는 버퍼, 해당 경로의 파일 정보 저장소

Return

Success: 0

Fail: -1

★ lstat, stat함수의 차이점

접근 하고자 하는 대상 파일이 심볼릭 링크일 경우 발생!

 

lstat -> 링크에 대한 정보를 리턴

stat -> 심볼릭 링크가 가리키는 원래 파일의 정보를 리턴.

 

 

 

그럼 stat 구조체의 정보를 아라보자.

 

 

===============================

sys/stat.h 에 정의됨!

 

struct stat{
    mode_t st_mode; // 파일의 타입 (디렉토리 or 일반파일)
    ino_t st_ino;//i-node 번호
    dev_t st_dev; //장치 번호
    dev_t st_rdev; //특수 파일의 장치 번호
    nlink_t st_nlink; //링크 수
    uid_t st_uid;//소유자의 USER ID
    gid_t st_gid; //소유자의 GROUP ID
    off_t st_size; //정규파일의 바이트 수
    time_t st_atime; //마지막 접근 시각
    time_t st_mtime: //마지막 수정 시각
    time_t st_ctime; //마지막 상태 변경 시각
    long st_blksize; // I/O 블록 크기
    long st_blocks;// 할당한 블록의 개수
};

===========================

 

파일 path가 마지막으로 접근 되었을 때 시간을 출력하는 함수

 

 

'LINUX > Linux' 카테고리의 다른 글

vim, vi Editor 라인별 복사 / 삭제 / 붙여넣기 명령어  (0) 2019.06.07
하드 링크 , 심볼릭 링크 개념과 간단한 실험예제  (0) 2019.06.06
환경변수 설정 방법 & PATH의 역할  (0) 2019.06.06
환경변수 PATH에 현재 디렉토리 '.'을 추가하면 안되는 이유?  (0) 2019.06.06
GNU Compiler 실행 ./  (0) 2019.06.01
'LINUX/Linux' 카테고리의 다른 글
  • vim, vi Editor 라인별 복사 / 삭제 / 붙여넣기 명령어
  • 하드 링크 , 심볼릭 링크 개념과 간단한 실험예제
  • 환경변수 설정 방법 & PATH의 역할
  • 환경변수 PATH에 현재 디렉토리 '.'을 추가하면 안되는 이유?
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • 전체
    오늘
    어제
    • 분류 전체보기 (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (문제풀이) (56)
        • Algorithm (이론) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • 기타 (70)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • 잡동사니 (27)
      • 재테크 (11)
        • 세무 (4)
        • 투자 (3)
        • 보험 (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • 시스템 보안 (5)
      • 네트워크 (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • 저작권과 스마트폰의 이해 (0)
      • 생각 뭉치 (6)
      • 궁금증 (2)
      • Private (4)
        • 이직 경험 (0)
        • 꿈을 찾아서 (1)
      • Android (21)
        • OS (4)
  • 블로그 메뉴

    • 홈
    • WEB
    • 알고리즘
    • DataBase
    • Linux
    • Mobile
    • C
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    Spring
    Bitcoin
    linux
    PostgreSQL
    javascript
    database
    android
    프로그래머스
    Programmers
    ubuntu
    kafka
    docker
    Kotlin
    C++
    백준
    Git
    알고리즘
    JPA
    algorithm
    java
  • hELLO· Designed By정상우.v4.10.3
M_Falcon
lstat, stat
상단으로

티스토리툴바