웹사이트 검색

Linux 초보자를 위한 5가지 'stat' 명령 예


stat 명령은 파일 또는 파일 시스템 상태를 보는 데 유용한 유틸리티입니다. 파일 유형과 같은 정보를 검색합니다. 8진수 및 사람이 읽을 수 있는 접근 권한; SELinux 보안 컨텍스트 문자열; 파일 생성 시간, 마지막 액세스, 마지막 데이터 수정, 인간이 읽을 수 있는 마지막 상태 변경(Epoch 이후 초 단위) 등이 있습니다.

정보 표시를 위해 기본값 대신 사용자 정의 형식을 지정하는 옵션이 있습니다. 이 가이드에서는 Linux 초보자를 위한 5가지 stat 명령 예를 살펴보겠습니다.

Linux 파일 상태 확인

1. stat을 사용하는 가장 쉬운 방법은 파일을 인수로 제공하는 것입니다. 다음 명령은 스크린샷에 표시된 대로 크기, 블록, IO 블록, 파일 유형, inode 값, 링크 수 및 /var/log/syslog 파일에 대한 더 많은 정보를 표시합니다.

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

파일 시스템 상태 확인

2. 이전 예에서 stat 명령은 입력 파일을 일반 파일로 처리했지만 파일 상태 대신 파일 시스템 상태를 표시하려면 -f 옵션을 사용하십시오.

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

표시된 대로 디렉터리/파일 시스템을 인수로 제공할 수도 있습니다.

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

심볼릭 링크 팔로우 활성화

3. Linux는 링크(기호하드 링크)를 지원하므로 특정 파일에는 하나 이상의 링크가 있거나 파일 시스템.

stat가 링크를 따라갈 수 있도록 하려면 표시된 대로 -L 플래그를 사용하십시오.

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

사용자 정의 형식을 사용하여 정보 표시

4. stat을 사용하면 기본값 대신 특정 형식이나 사용자 정의 형식을 사용할 수도 있습니다. -c 플래그는 사용된 형식을 지정하는 데 사용되며, 형식 순서를 사용할 때마다 개행 문자를 인쇄합니다.

또는 백슬래시 이스케이프 시퀀스를 해석하고 후행 개행 인쇄를 끄는 --printf 옵션을 사용할 수 있습니다. 예를 들어 새 줄을 인쇄하려면 형식에 \n를 사용해야 합니다.

stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

위 예에 사용된 파일 형식 순서의 의미:

  • %U – 소유자의 사용자 이름
  • %G – 소유자의 그룹 이름
  • %C – SELinux 보안 컨텍스트 문자열
  • %z – 마지막 상태 변경 시간, 사람이 읽을 수 있음

5. 다음은 파일 시스템에 허용되는 형식 시퀀스의 사용을 보여주는 예입니다.

stat --printf='%n\n%a\n%b\n' /

위 명령에 사용된 형식 시퀀스의 의미.

  • %n – 파일 이름을 표시합니다.
  • %a – 수퍼유저가 아닌 사용자가 사용할 수 있는 무료 블록을 인쇄합니다.
  • %b – 파일 시스템의 총 데이터 블록을 출력합니다.

간결한 형태로 정보 인쇄

6. -t 옵션을 사용하면 정보를 간결한 형식으로 인쇄할 수 있습니다.

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

마지막으로, 귀하의 셸에는 자체 버전의 stat가 있을 수 있습니다. 지원하는 옵션에 대한 자세한 내용은 귀하의 셸 설명서를 참조하세요. 허용되는 모든 출력 형식 순서를 보려면 stat 매뉴얼 페이지를 참조하십시오.

man stat 

이 기사에서는 Linux 초보자를 위한 5가지 stat 명령 예를 설명했습니다. 질문이 있으시면 아래 피드백 양식을 사용하세요.