반응형
이전에 ls 명령어로 확인했던 것 보다 더 자세히 확인할 수 있는 명령어가 있다. 바로 stat 명령어인데, 이후 파일 생성 명령어인 touch에서 한번 더 다루도록 하겠다. 이번 시간에는 기본적인 사용법에 대해 알아보겠다.
Stat 명령어
* 기본 형식
stat (옵션) (파일or디렉토리 명)
ls와 달리 시간이 3가지나 나오고 다른 자세한 사항들도 출력된다. 이 3가지를 통해 해킹 일시 등을 파악하기도 한다.
옵션
-f
파일 상태 대신 파일 시스템 상태를 보여주는 옵션이다.
-t
간략한 형태로 정보를 출력한다.
-L
링크를 따라가며 링크가 가리키는 파일의 상태를 보여준다. 아래 사진은 a.txt가 링크가 걸려있지 않아 기본 형식과 다르지 않지만, 이 명령어는 하드 링크가 아닌 심볼릭 링크에 대해서 정보를 출력한다. 링크에 대해서는 나중에 따로 정리해서 올려놓도록 하겠다.
-c
-c는 어떤 포멧으로 보여줄지 선택해 출력하는 명령어로 -c %(옵션)으로 구성되있다. 이 옵션에 대한 정보는 굉장히(?) 많기 때문에 글로만 정리해 두겠다.
파일에 대한 유효한 포맷 시퀀스는 다음과 같다.
- %a: 8진수 권한 비트를 출력하며, '#'과 '0' printf flag를 주의해야 한다.
- %A: 권한 비트와 파일 타입을 인간이 읽을 수 있는 형태로 출력한다.
- %b: 할당된 블록 수를 출력하며, %B를 참조해야 한다.
- %B: %b로 보고된 각 블록의 크기(바이트)를 출력한다.
- %C: SELinux 보안 컨텍스트 문자열을 출력한다.
- %d: 10진수 디바이스 번호(st_dev)를 출력한다.
- %D: 16진수 디바이스 번호를 출력한다.
- %f: 16진수로 된 raw mode를 출력한다.
- %F: 파일 타입을 출력한다.
- %g: 소유자의 그룹 ID를 출력한다.
- %G: 소유자의 그룹 이름을 출력한다.
- %h: 하드 링크 수를 출력한다.
- %i: inode 번호를 출력한다.
- %m: 마운트 포인트를 출력한다.
- %n: 파일 이름을 출력한다.
- %N: 시스템 링크면 참조를 표시한 쿼트로 묶인 파일 이름을 출력한다.
- %o: 입출력 전송 최적화 크기 힌트를 출력한다.
- %s: 파일의 총 크기(바이트)를 출력한다.
- %t: 문자/블록 디바이스 특수 파일에 대한 주요 디바이스 유형을 16진수로 출력한다.
- %T: 문자/블록 디바이스 특수 파일에 대한 부 주요 디바이스 유형을 16진수와 인간이 읽을 수 있는 형태로 출력한다.
- %u: 소유자의 사용자 ID를 출력한다.
- %U: 소유자의 사용자 이름을 출력한다.
- %w: 파일 생성 시간을 인간이 읽을 수 있는 형태로 출력한다. 알 수 없으면 '-'를 출력한다.
- %W: 파일 생성 시간을 Epoch 이후 초 단위로 출력한다. 알 수 없으면 0을 출력한다.
- %x: 마지막 접근 시간을 인간이 읽을 수 있는 형태로 출력한다.
- %X: 마지막 접근 시간을 Epoch 이후 초 단위로 출력한다.
- %y: 마지막 데이터 수정 시간
파일 시스템에 대한 유효한 포맷 시퀀스는 아래와 같습니다.
- %a 비슈퍼유저에게 사용 가능한 블록 수
- %b 파일 시스템 전체 데이터 블록 수
- %c 파일 시스템 전체 파일 노드 수
- %d 파일 시스템에서 사용 가능한 파일 노드 수
- %f 파일 시스템에서 사용 가능한 블록 수
- %i 파일 시스템 ID (16진수)
- %l 파일 이름의 최대 길이
- %n 파일 이름
- %s 블록 크기 (빠른 전송을 위한)
- %S 기본 블록 크기 (블록 수를 위한)
- %t 파일 시스템 타입 (16진수)
- %T 파일 시스템 타입 (인간이 읽을 수 있는 형태)
이 명령어를 정리하다 해당 사용법을 보고 이걸 어떻게 해석하며, 정리와 예시는 어떻게 보여줘야할지 고민이 정말 많았는데, 결론은 마지막 부분은 글로만 보여줘야 겠다고 생각했다. 저걸 일일이 다 이미지로 보여주면 눈에 피로가 너무 심하지 않겠는가?
반응형
'Linux > Linux 기본 명령어' 카테고리의 다른 글
[Linux 기본 명령어] 파일 생성 명령어와 옵션 (2) cat (0) | 2023.03.05 |
---|---|
[Linux 기본 명령어] 파일 생성 명령어와 옵션 (1) touch (0) | 2023.03.05 |
[Linux 기본 명령어] 이동/이름변경 명령어(mv) (2) | 2023.03.04 |
[Linux 기본 명령어] 디렉토리 이동 명령어와 옵션(cd) (1) | 2023.03.04 |
[Linux 기본 명령어] 삭제 명령어와 옵션(rmdir, rm) (2) | 2023.03.04 |